Learning Center
Plateforme Docker

Installer Nextcloud avec Docker

25 nov. 2025
Hostman Team
Hostman Team

Pour celles et ceux qui souhaitent garder un contrôle total sur leurs données, Nextcloud offre une puissante solution open source pour mettre en place un système de stockage cloud privé. La plateforme permet non seulement la synchronisation sécurisée de fichiers entre différents appareils, mais aussi l’hébergement du stockage sur votre propre serveur, sans dépendre de fournisseurs tiers.

Dans ce guide, nous allons suivre étape par étape l’installation de Nextcloud en utilisant des conteneurs Docker isolés, ce qui simplifie grandement le déploiement et la gestion. Nous configurerons également le chiffrement automatique du trafic grâce aux certificats SSL de Let’s Encrypt afin d’assurer une transmission sécurisée des données.

Prérequis
Copier le lien

Vous aurez besoin de :

  • Un serveur cloud Hostman avec Linux Ubuntu 24.04 préinstallé.

  • Un nom de domaine.

  • Docker et Docker Compose installés.

Pour le serveur, choisissez une configuration comprenant 1 cœur CPU, 2 Go de RAM et une adresse IPv4 publique, que vous pouvez demander lors de la création du serveur ou plus tard dans la section « Network ».

Le serveur sera prêt en quelques minutes. L’adresse IPv4 ainsi que les identifiants SSH seront disponibles dans le tableau de bord.

Installer et exécuter Nextcloud
Copier le lien

Nextcloud nécessite plusieurs composants essentiels :

  • Base de données : ici MariaDB, un système de gestion de base de données performant et fiable.

  • Certificat SSL : nous utiliserons les certificats gratuits de l’autorité Let’s Encrypt.

  • Reverse proxy : nous ajouterons Nginx Proxy Manager, qui acheminera le trafic HTTP et HTTPS vers les conteneurs appropriés.

Étape 1 : Créer un répertoire de configuration
Copier le lien

Commencez par créer un dossier destiné à stocker les fichiers de configuration et accédez-y :

mkdir nextcloud && cd nextcloud

Étape 2 : Créer le fichier .env
Copier le lien

Ce fichier caché contiendra les variables de mots de passe :

nano .env

Contenu du fichier :

NEXTCLOUD_ROOT_PASSWORD=secure_root_password_123

NEXTCLOUD_DB_PASSWORD=secure_nextcloud_db_password_456

NPM_ROOT_PASSWORD=secure_npm_root_password_789

NPM_DB_PASSWORD=secure_npm_db_password_012

N’oubliez pas de remplacer les valeurs par les vôtres.

Étape 3 : Créer le fichier docker-compose.yml
Copier le lien

Créez le fichier :

nano docker-compose.yml

Ajoutez la configuration suivante (non traduite selon votre demande) :

volumes:

  nextcloud-data:

  nextcloud-db:

  npm-data:

  npm-ssl:

  npm-db:

 

networks:

  frontend:

  backend:

 

services:

  nextcloud-app:

    image: nextcloud:31.0.8

    restart: always

    volumes:

      - nextcloud-data:/var/www/html

    environment:

      - MYSQL_PASSWORD=${NEXTCLOUD_DB_PASSWORD}

      - MYSQL_DATABASE=nextcloud

      - MYSQL_USER=nextcloud

      - MYSQL_HOST=nextcloud-db

      - MYSQL_PORT=3306

    networks:

      - frontend

      - backend

 

  nextcloud-db:

    image: mariadb:12.0.2

    restart: always

    command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW

    volumes:

      - nextcloud-db:/var/lib/mysql

    environment:

      - MYSQL_ROOT_PASSWORD=${NEXTCLOUD_ROOT_PASSWORD}

      - MYSQL_PASSWORD=${NEXTCLOUD_DB_PASSWORD}

      - MYSQL_DATABASE=nextcloud

      - MYSQL_USER=nextcloud

    networks:

      - backend

 

  npm-app:

    image: jc21/nginx-proxy-manager:2.12.6

    restart: always

    ports:

      - "80:80"

      - "81:81"

      - "443:443"

    environment:

      - DB_MYSQL_HOST=npm-db

      - DB_MYSQL_PORT=3306

      - DB_MYSQL_USER=npm

      - DB_MYSQL_PASSWORD=${NPM_DB_PASSWORD}

      - DB_MYSQL_NAME=npm

    volumes:

      - npm-data:/data

      - npm-ssl:/etc/letsencrypt

    networks:

      - frontend

      - backend

 

  npm-db:

    image: jc21/mariadb-aria:10.11.5

    restart: always

    environment:

      - MYSQL_ROOT_PASSWORD=${NPM_ROOT_PASSWORD}

      - MYSQL_DATABASE=npm

      - MYSQL_USER=npm

      - MYSQL_PASSWORD=${NPM_DB_PASSWORD}

    volumes:

      - npm-db:/var/lib/mysql

    networks:

      - backend

Étape 4 : Démarrer les conteneurs
Copier le lien

Lancez :

docker compose up -d

Si une erreur liée aux limites de téléchargement Docker Hub apparaît :

  1. Connectez-vous à votre compte Docker Hub ou créez-en un.

  2. Allez dans Account settings → Personal access tokens.

  3. Cliquez sur Generate new token.

  4. Donnez une description, définissez une date d’expiration et choisissez les permissions : Read, Write, Delete.

  5. Cliquez sur Generate et copiez le token (il ne sera affiché qu’une seule fois).

  6. Sur le serveur, connectez-vous avec :

docker login -u dockeruser

Remplacez dockeruser par votre nom d’utilisateur et collez le token comme mot de passe.

Redémarrez ensuite les conteneurs :

docker compose up -d

Vérifiez leur état :

docker ps

Tous les conteneurs doivent être marqués Up.

Étape 5 : Configurer HTTPS avec Let’s Encrypt
Copier le lien

Ouvrez dans votre navigateur :

http://<server-IP>:81

Identifiants par défaut :

  • Login : admin@example.com

  • Mot de passe : changeme

Lors de la première connexion :

  • Mettez à jour le nom complet, pseudonyme et e-mail.

  • Changez le mot de passe :

    • Current Password : changeme

    • New Password : votre nouveau mot de passe

    • Confirm Password : répétez le mot de passe

Étape 6 : Ajouter un Proxy Host
Copier le lien

Accédez à Hosts → Proxy Hosts.

Cliquez sur Add Proxy Host et remplissez :

  • Domain Names : le domaine de votre instance Nextcloud

  • Scheme : http

  • Forward Hostname/IP : nextcloud-app

  • Forward Port : 80

Dans l’onglet SSL :

  • Sélectionnez Request a new SSL Certificate

  • Activez :

    • Force SSL

    • HTTP/2 Support

    • HSTS Enabled

Saisissez votre e-mail pour Let’s Encrypt et acceptez les conditions. Enregistrez.

Étape 7 : Se connecter à Nextcloud
Copier le lien

Accédez maintenant à votre domaine. Si tout est correctement configuré, l’interface web de Nextcloud s’ouvrira et un certificat SSL Let’s Encrypt sera automatiquement émis.

  • Créez un nouveau compte administrateur.

  • Installez les applications recommandées si vous le souhaitez.

L’installation et la configuration de base sont terminées.

Conclusion
Copier le lien

Dans cet article, nous avons montré comment déployer Nextcloud avec Docker et obtenir un certificat SSL gratuit via Let’s Encrypt.

Cette méthode est l’une des plus fiables, sécurisées et évolutives. Docker garantit une bonne isolation des applications, simplifie les mises à jour et facilite les migrations. Utiliser un certificat SSL n’est pas seulement recommandé : c’est essentiel pour protéger les données sensibles et assurer un trafic chiffré.