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.

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 utilisateur

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 !

Laisser un commentaire

Votre adresse de messagerie 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.