Docker et Portainer part 6 – NextCloud avec Docker, Déployer un « Cloud » personnel

Docker et Portainer

Salut à tous, Ça vous dirait d’héberger vous même vos propres services « Cloud » (genre maps, notes, photos, contact, calendrier) ? Ça tombe bien aujourd’hui je vais vous parler de NextCloud avec Docker et comment déployer votre « cloud » personnel.

Pour le coup, je précise que suis pas un intégriste Anti-GAFAM quand-il s’agit mes données personnelles (j’ai quasiment tout qui fini ou passe chez Google à un moment ou à un autre). Par contre, quand il s’agit de mes activités « Pro » (à mon taf ou sur mes activités indépendantes avec System Sec) : je suis vachement moi chaud pour laisser trainer des données de clients ou de mon employeur chez eux bizarrement ! C’est dans ce cadre que je me suis retrouvé à monter une petite infra Drive & Notes sur le serveur.

Rappel des articles de la série « Docker et Portainer » :

NextCloud

NextCloud, c’est un « fork » pas vraiment officiel de Owncloud (que j’ai essayé mais que j’ai pas trouvé franchement convainquant en mode sef-hosted) qui a pignon sur rue avec 2-3 autre concurrent sur le marché de niche que laisse les GAFA.

On y retrouve sous forme d’applications la plupart des fonctionnalités d’une suite Google ou Microsoft, et… bonne nouvelle…

… on peut le déployer NextCloud avec Dockerje vous ai parlé de Docker, non ?

Un cloud ?

Alors on est d’accord, c’est pas vraiment du cloud puisqu’on va le déployer sur un serveur dédié unique, mais bon les buzzword ont la vie durs, hein ? Et vous allez retrouver toutes les fonctionnalités d’une suite Google dedans : Drive, Photos, Maps, Notes, partage de fichiers ou dossiers entre les utilisateurs, chat, contact, calendrier, application de synchronisation en local sur vos pc et smartphone, etc. ce qui fait que cela se positionne vraiment en tant que concurrent des ces service.

Aspects bonus, vous pouvez tout bien personnaliser les logos et comptes d’accès, associés le tout à un annuaire LDAP et il est possible d’activer l’authentification forte en TOTP et en U2TF (rappels). Au final, vous obtenez un service d’entreprise assez sympa, gratuit et pratique pour vos utilisateurs.

NextCloud avec Docker

Si vous suivez le blog, je pense que vous avez compris que je suis un fan de Docker et des Stacks dans Portainer. Si vous n’êtes pas familier avec le sujet je vous renvoi vers mes précédents article sur ces sujet, et je vous donne directement le docker-compose.yml à déployer ci-dessous.

version: '2'
volumes:
  nextcloud_data:
  nextcloud_db:
services:
  db:
    image: mariadb
    command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
    restart: always
    volumes:
      - nextcloud_db:/var/lib/mysql
    environment:
      - MYSQL_ROOT_PASSWORD=<Password>
      - MYSQL_PASSWORD=<password2>
      - MYSQL_DATABASE=nextcloud
      - MYSQL_USER=nextcloud
    networks:
      backend_network:
        ipv4_address: <IP>
  app:
    image: nextcloud
    expose:
      - 80
    links:
      - db
    volumes:
      - nextcloud_data:/var/www/html
    restart: always
    networks:
      frontend_network:
        ipv4_address: <IP>
      backend_network:
        ipv4_address: <IP>
networks:
  backend_network:
    external:
      name: backend_network
  frontend_network:
    external:
      name: frontend_network

Démarrer la stack, configurer votre reverse proxy NPM devant vos conteneurs si besoin et vous allez pouvoir vous connecter sur la page d’installation de NextCloud.

NextCloud avec Docker

Je vous laisse explorer l’interface et faire votre configuration, c’est plutôt clair et bien foutu.

Conclusion

Pour terminer, j’aimerai préciser que si le système n’est pas au niveau de fluidité et de confort d’une Google Suite ou d’un Office 365. Ça reste une solution agréable à l’usage en équipe dans les petites ou moyennes entreprises (ou en famille) et qui est déployable « on premise » facilement et simplement, pour le coût d’un ou deux serveurs Bref, je recommande si vous voulez limiter un peu l’exode de vos données chez les GAFA…^^

Voilà, c’est tout pour aujourd’hui et d’ici la prochaine, geekez-bien !

2 commentaires on “Docker et Portainer part 6 – NextCloud avec Docker, Déployer un « Cloud » personnel

  1. Merci pour le YAML, mais tel quel ça ne fonctionne pas !
    Notamment, il faut déjà avoir défini les réseaux externes, qui je suppose sont qq parts dans les « parts » précédentes 🙂

    décidément, pas de setup nextcloud qui fonctionne ‘out of the box’ pour les flemmards comme moi 🙂

    • Hello Pierre,
      Merci pour ton message. Et effectivement, l’intérêt de faire une série, c’est bien qu’il y a des adhérences entre les articles pour faire progresser dans le sujet les feignasses comme toi. 🙂
      Celui avec le réseau est . C’est vraiment pas compliqué pour le coup, et j’ai fait un truc plutôt basique sur un seul LAN « à plat » partagé par toutes mes stacks et accédé par un NPM, mais on peut imaginer des trucs plus compliqués à base de frontend-backend/middle-admin etc.
      pour le out of the box, je crois que les exemples officiels sur le docker hub fonctionnent pas trop mal, non ? t’as testé ?
      @+

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.