Installer NextCloud avec Docker

Introduction

Dans cet article, nous allons vous guider à travers l’installation de NextCloud en utilisant docker compose, tout en configurant un stockage externe SMB sur mon NAS qui hébergera mes fichiers.

NextCloud est une solution de cloud personnel puissante et flexible qui permet de gérer et de partager des fichiers de manière sécurisée. Docker, quant à lui, simplifie le déploiement de services en isolant les applications dans des conteneurs légers.

Cette solution est une excellente alternative aux solutions propriétaire comme Google Drive, Dropbox, OneDrive ou iCloud.

Fonctionnalités et avantages

Voici une liste des fonctionnalités principales de NextCloud :

  • Hébergement personnel et contrôle des données

NextCloud vous permet de stocker vos données sur vos propres serveurs, vous offrant un contrôle total sur vos fichiers et votre vie privée.

  • Partage et collaboration facile

Partagez des fichiers et des dossiers avec des utilisateurs internes ou externes, définissez des permissions spécifiques et collaborez en temps réel avec des outils comme NextCloud Talk et OnlyOffice.

  • Synchronisation multiplateforme

NextCloud propose des clients pour Windows, macOS, Linux, Android et iOS, permettant une synchronisation automatique de vos fichiers sur tous vos appareils.

  • Extensions et applications modulaires

Une vaste bibliothèque d’applications permet d’ajouter des fonctionnalités telles que la gestion de calendrier, la synchronisation des contacts, la prise de notes, et bien plus encore.

  • Sécurité avancée

Chiffrement des données en transit et au repos, authentification à deux facteurs, et intégration avec des systèmes de sécurité tels que LDAP et Active Directory.

  • Intégration avec des services externes

NextCloud supporte l’intégration avec des services de stockage externes comme SMB/CIFS, FTP, S3, et WebDAV, facilitant la gestion centralisée de vos fichiers.

  • Gestion des versions et récupération de fichiers

NextCloud conserve un historique des versions de vos fichiers, vous permettant de restaurer des versions précédentes en cas de besoin.

Installation de NextCloud avec Docker Compose

Le prérequis principale pour réaliser l’installation de NextCloud avec docker compose est l’installation de docker compose sur un serveur linux de préférence.

Dans mon cas, je crée un dossier pour stocker le fichier de configuration de docker compose et les volumes liés à NextCloud

sudo mkdir -p docker/nextcloud

Et on se place dans le dossier fraichement crée

cd docker/nextcloud

On crée et édite notre fichier docker-compose.yml

sudo nano docker-compose.yml
services:
nextcloud:
image: nextcloud:apache
restart: always
ports:
- 8080:80
volumes:
- nextcloud_data:/var/www/html
networks:
- redisnet
- dbnet
environment:
- REDIS_HOST=redis
- MYSQL_HOST=db
- MYSQL_DATABASE=bdd_name #A changer
- MYSQL_USER=user #A changer
- MYSQL_PASSWORD= password #A changer
redis:
image: redis:alpine
restart: always
networks:
- redisnet
expose:
- 6379
db:
image: mariadb:latest
command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
restart: always
volumes:
- db_data:/var/lib/mysql
networks:
- dbnet
environment:
- MYSQL_DATABASE=bdd_name #A changer
- MYSQL_USER=user #A changer
- MYSQL_ROOT_PASSWORD=password #A changer
- MYSQL_PASSWORD= password #A changer
expose:
- 3306
volumes:
db_data:
nextcloud_data:
networks:
dbnet:
redisnet:

On lance ensuite la stack docker compose avec cette commande :

sudo docker compose up -d

Une fois terminé, on peut vérifier que les differents conteneurs sont bien démarrés :

sudo docker ps

On peut désormais se connecter à NextCloud sur l’adresse suivante : http://votre-ip:8080

La première action sera de définir notre compte administrateur avec le mot de passe de notre choix

Une image contenant texte, capture d’écran, Police, nombre

Description générée automatiquement

Configuration du stockage externe

Nous allons connecter un lecteur distant à notre serveur nextcloud

Dans l’onglet « Applications désactivées » de l’onglet « Applications », vous devrez activer « External storage support »

Une image contenant texte, capture d’écran, logiciel, Logiciel multimédia

Description générée automatiquement

On se rend dans « Paramètres d’administration » > « Stockage Externe » de la partie « Administration », nous allons ajouter notre lecteur distant.

Il est possible que vous rencontre une erreur indiquant que le client smb « smcblient » n’est pas installée

Une image contenant texte, capture d’écran, logiciel

Description générée automatiquement

Si c’est le cas, il faut exécuter cette suite de commande :

sudo docker exec -it nextcloud-nextcloud-1 bash
apt update
apt install smbclient libsmbclient-dev libsmbclient-php
pecl install smbclient

En redémarrant les différents conteneurs, je peux ajouter ensuite mon stockage externe et l’erreur disparait

Une image contenant texte, logiciel, capture d’écran, Logiciel multimédia

Description générée automatiquement

Pour ajouter mon lecteur distant, je sélectionne « SMB/CIFS »

Une image contenant texte, capture d’écran, logiciel, Logiciel multimédia

Description générée automatiquement

On sélectionne ensuite les informations nécessaires telles que le nom DNS (ou l’adresse IP), le nom du partage, le sous-dossier si vous le souhaitez et les identifiants pour se connecter au partage

Assurez-vous d’avoir un utilisateur dédié au droit d’accès sur votre espace distant, dans mon cas il s’agira de l’utilisateur nommé « nextcloud »

Une image contenant texte, logiciel, Logiciel multimédia, capture d’écran

Description générée automatiquement

Après validation, le stockage externe est bien connecté à NextCloud !

Une image contenant logiciel, Logiciel multimédia, capture d’écran

Description générée automatiquement

Conclusion

Nous venons de voir comment installer NextCloud en utilisant Docker Compose et à configurer un stockage externe SMB pour héberger vos fichiers. NextCloud vous permet de contrôler vos données personnelles tout en facilitant le partage et la collaboration grâce à ses nombreuses fonctionnalités. Cette solution offre une alternative plus que crédible aux solutions propriétaires sur le marché.

Laisser un commentaire

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

Retour en haut