Nous allons ici utiliser docker-compose ( mais il est possible de passer par Portainer également ) pour installer nextcloud sur Debian 10.

Nextcloud ? C'est quoi ?
Nextcloud est un logiciel libre, de site d'hébergement de fichiers et une plateforme de collaboration. À l'origine accessible via WebDAV, n'importe quel navigateur web, ou des clients spécialisés, son architecture ouverte a permis de voir ses fonctionnalités s'étendre depuis ses origines. En 2020, il propose de nombreux services.
Pré-requis :
Avoir un accès SSH à la machine
Avoir installer docker et docker-compose , docker-compose
Connaitre le PUID/GUID de l'utilisateur, voir tuto
Sommaire : A venir
1/ Créer les dossiers nécessaires
Pour mon tuto, je vais placer tous les dossiers ( mariadb et nextcloud dans le dossier /home/nom_dutilisateur/docker de ma debian ), il faudra adapter vos changements dans le fichier "docker-compose.yml" à l'étape suivante.
Je me place donc dans /home/nom_dutilisateur/docker:
cd /home/nom_dutilisateur/docker
Mariadb a besoin d'un dossier, et Nextcloud a besoin d'un dossier /config et d'un dossier /data, avec cette commande, on créer les 3 dossiers, dans un dossier /nextcloud :
sudo mkdir -p nextcloud/{mariadb,config,data}
2.1/ Création du fichier "docker-compose.yml"
Pour créer le fichier :
sudo nano nextcloud/docker-compose.yml
( ici on considère que nous sommes déja dans /home/nom_dutilisateur/docker, si ce n'es pas le cas, vous pouvez soit vous placer dans le bon dossier avec la commande cd /home/nom_dutilisateur ou editer directement le fichier avec le lien complet : sudo nano /home/nom_dutilisateur/docker/nextcloud/docker-compose.yml )
Ensuite vous copier/coller ceci dedans :
version: "2"
services:
nextcloud:
image: linuxserver/nextcloud
container_name: nextcloud
networks:
- nextcloud-network
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/Paris
volumes:
- /home/nom_dutilisateur/docker/nextcloud/config:/config
- /home/nom_dutilisateur/docker/nextcloud/data:/data
ports:
- 443:443
depends_on:
- mariadb
restart: unless-stopped
mariadb:
image: linuxserver/mariadb
container_name: mariadb
networks:
- nextcloud-network
environment:
- PUID=1000
- PGID=1000
- MYSQL_ROOT_PASSWORD=123456789
- TZ=Europe/Paris
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
- MYSQL_PASSWORD=ABCDEF
volumes:
- /home/nom_dutilisateur/docker/nextcloud/mariadb:/config
restart: unless-stopped
networks:
nextcloud-network:
external:
name: nextcloud-network
Il sera nécessaire de modifier le volume de mariadb et ceux de nextcloud.
PUID et GUID sont à modifier suivant les ID de votre utilisateur ( voir pré-requis )
Ici nextcloud utilise le port par défaut, soit 443 en HTTPS.
A modifier également : MYSQL_ROOT_PASSWORD et MYSQL_PASSWORD, choisissez des mots de passe fort.
On quitte le fichier Ctrl+X et on valide les modifications.
2.1/ Création du sous-réseaux
Dans mon compose, on peut voir que je place nextcloud et mariadb en bridge sous le reseau "nextcloud-network".
Pour créer ce sous-reseau, rien de plus simple, il suffit d'executer cette commande :
sudo docker network create nextcloud-network
On se place dans le dossier ou nous avons créer notre fichier yml :
cd /home/nom_dutilisateur/docker/nextcloud
, et on execute la commande :
docker-compose up -d
Une fois fini, la commande renvoi "done" :
Cela peut prendre quelques minutes avant que l'interface de nextcloud soit disponible !
3/ Configuration de Nextcloud
3.1/ Accès a l'interface de Nextcloud
Si vous avez laisser le port par défaut, alors l'acces a nextcloud se fait via l'adresse https://adresse-ip-locale, par exemple si votre machine a l'adresse 192.168.1.210 alors l'acces se fait a https://192.168.1.210, si vous avez modifier le port, alors il faut le preciser, par exemple pour le port 9000, l'adresse sera https://192.168.1.210:9000
Il est possible de rencontrer ce genre d'avertissement, il est normal, car nous sommes en HTTPS, mais il n'y a pas de certificat de généré. il vous suffit "d'accepter le risque" pour continuer.
3.2/ Configuration
A la 1ere connexion à l'interface il vous sera demander de choisir un pseudo et un mot de passe, cela sera le compte administrateur ! Choisissez un mot de passe fort, et éviter les pseudo comme "admin, root, ... ).
Pour la base de donnée on choisi "Mariadb", puis dans :
"Utilisateur de la base" on indique : nextcloud
"Mot de passe" : par defaut : ABCDEF, mais vous l'avez normalement modifié !
"Nom de la base de donnée" : nextcloud
"Hote" : mariadb:3306
Je vous conseil de décocher " installer les applications recommandé ", nextcloud vous proposera par la suite d'installer ces applications et vous permettra de choisir celle que vous souhaitez, ou non.
Puis on valide en cliquant sur Terminer l'installation
Une fois l'installation fini, on se retrouve sur la page de connexion ! On se connecte et nous voila dans notre Nextcloud
Note : En cas d'erreur 504 pendant la fin de l’installation patienter quelques minutes le temps que le serveur finisse la configuration du cloud.
Raspberry : Docker + Portainer - Nextcloud - AdGuard Home - SmokePing
Debian 10 : Docker + Portainer - Nextcloud - Plex + Tautulli