Connexion
Connexion

Exécuter Selenium avec Chrome dans Docker

Exécuter Selenium avec Chrome dans Docker
Hostman Team
Rédacteur technique
Plateforme Docker
30.10.2025
Reading time: 6 min

Il est parfois utile d’exécuter Selenium en Python dans un conteneur Docker. Cela soulève plusieurs questions : quels sont les avantages de cette approche, comment assurer la compatibilité entre ChromeDriver et Chromium, et quelles sont les subtilités de la mise en œuvre ? Dans cet article, nous aborderons ces points essentiels et proposerons des solutions aux problèmes les plus fréquents.

Pourquoi exécuter Selenium dans Docker ?

L’exécution de Selenium dans un conteneur offre de nombreux avantages :

  • 🧩 Portabilité – Vous pouvez facilement transférer votre environnement d’une machine à une autre sans conflit de versions ni dépendances spécifiques à un système d’exploitation.

  • 🧱 Isolation – Le conteneur Selenium peut être remplacé ou mis à jour rapidement sans affecter d’autres composants du serveur.

  • ⚙️ Compatibilité CI/CD – Une version conteneurisée de Selenium s’intègre parfaitement dans les pipelines CI/CD, permettant de recréer à chaque test un environnement propre et cohérent.

Préparer un serveur Ubuntu pour Selenium avec Docker

Avant de commencer, assurez-vous que Docker et Docker Compose sont installés :

docker --version && docker compose version

💡 Dans certaines versions, la commande est docker-compose (avec un tiret) au lieu de docker compose.

Si les outils sont installés, leurs versions s’afficheront. Sinon, installez-les avant de poursuivre.

Exemple : exécuter Selenium dans Docker

Lors du déploiement de Selenium dans des conteneurs Docker, il faut prendre en compte :

  • l’architecture de l’hôte,

  • les besoins fonctionnels,

  • et la performance attendue.

Les images officielles selenium/standalone-* sont prévues pour les processeurs AMD64 (x86_64), tandis que seleniarm/standalone-* sont adaptées aux architectures ARM (comme Apple Silicon ou les serveurs ARM64).

Créez un fichier docker-compose.yml à la racine de votre projet :

version: "3"

services:
  app:
    build: .
    restart: always
    volumes:
      - .:/app
    depends_on:
      - selenium
    platform: linux/amd64

  selenium:
    image: selenium/standalone-chromium:latest # For AMD64
#    image: seleniarm/standalone-chromium:latest # For ARM64
    container_name: selenium-container
    restart: unless-stopped
    shm_size: 2g
    ports:
      - "4444:4444"  # Selenium WebDriver API
      - "7900:7900"  # VNC Viewer
    environment:
      - SE_NODE_MAX_SESSIONS=1
      - SE_NODE_OVERRIDE_MAX_SESSIONS=true
      - SE_NODE_SESSION_TIMEOUT=300
      - SE_NODE_GRID_URL=http://localhost:4444
      - SE_NODE_DETECT_DRIVERS=false

Sélectionnez l’image adaptée à votre système en décommentant la bonne ligne. Le service app contiendra votre code Python principal.

Voici un Dockerfile standard :

# Use a minimal Python image
FROM python:3.11-slim

# Set working directory
WORKDIR /app

# Install Python dependencies
COPY requirements.txt /app/
RUN pip install --no-cache-dir -r requirements.txt

# Copy project files
COPY . /app/

# Set environment variables (Chromium is in a separate container)
ENV SELENIUM_REMOTE_URL="http://selenium:4444/wd/hub"

# Run Python script
CMD ["python", "main.py"]

Cette configuration utilise une image Python minimale et installe automatiquement les dépendances requises.

Script principal (main.py)

import time  # Used to create a delay for checking browser functionality
import os

from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.chrome.options import Options

# WebDriver settings
chrome_options = Options()
chrome_options.add_argument("--no-sandbox")
chrome_options.add_argument("--disable-dev-shm-usage")
chrome_options.add_argument("--disable-gpu")
chrome_options.add_argument("--disable-webrtc")
chrome_options.add_argument("--hide-scrollbars")
chrome_options.add_argument("--disable-notifications")
chrome_options.add_argument("--start-maximized")

SELENIUM_REMOTE_URL = os.getenv("SELENIUM_REMOTE_URL", "http://selenium:4444/wd/hub")

driver = webdriver.Remote(
    command_executor=SELENIUM_REMOTE_URL,
    options=chrome_options
)

# Open a test page
driver.get("https://www.hostman.com")

time.sleep(9999)

# Shut down WebDriver
driver.quit()

requirements.txt

attrs==25.1.0
certifi==2025.1.31
h11==0.14.0
idna==3.10
outcome==1.3.0.post0
PySocks==1.7.1
selenium==4.28.1
sniffio==1.3.1
sortedcontainers==2.4.0
trio==0.28.0
trio-websocket==0.11.1
typing_extensions==4.12.2
urllib3==2.3.0
websocket-client==1.8.0
wsproto==1.2.0

Lancer les conteneurs

Démarrez les conteneurs :

docker compose up -d

Docker construira et lancera les conteneurs en arrière-plan.

Pour vérifier leur état :

docker compose ps

Vous devriez voir deux conteneurs en cours d’exécution, indiquant que tout fonctionne correctement. Vous pouvez désormais interagir avec des sites web via le script Selenium.

Déboguer Selenium dans Docker avec VNC

Dans les images officielles Selenium (comme selenium/standalone-chrome ou seleniarm/standalone-chromium), l’accès direct au Chrome DevTools Protocol (CDP) est géré par Selenium Grid. Chaque session crée un nouveau port WebSocket, ce qui rend l’accès direct impossible depuis l’extérieur du conteneur.

Les options telles que --remote-debugging-port=9229 sont donc ignorées ou remplacées.

À la place, ces images incluent un serveur VNC (Virtual Network Computing) intégré, similaire à TeamViewer ou AnyDesk.

⚠️ Le mode headless doit être désactivé, car VNC diffuse l’écran réel du navigateur.

Connectez-vous à l’interface web VNC via :

http://<server_ip>:7900

Lors de la première connexion, un mot de passe sera demandé. Générez-le dans le conteneur Selenium :

docker exec -it selenium-container bash
x11vnc -storepasswd

Entrez et confirmez le mot de passe, puis utilisez-le sur l’interface VNC. Vous pourrez alors visualiser et contrôler le navigateur géré par Selenium directement dans Docker. Cela permet d’ouvrir les DevTools, d’inspecter le DOM ou de suivre les requêtes réseau.

Conclusion

Exécuter Selenium dans des conteneurs Docker simplifie la gestion des environnements, réduit les conflits de versions et améliore la portabilité. Grâce à l’intégration de VNC, vous pouvez également effectuer des débogages visuels.

Veillez simplement à :

  • choisir l’image adaptée à votre architecture (AMD64 ou ARM64),

  • et désactiver le mode headless si une interface graphique est nécessaire.

Cette configuration offre une infrastructure de test flexible, stable et adaptée aux pipelines CI/CD modernes.

Plateforme Docker
30.10.2025
Reading time: 6 min

Similaire

Plateforme Docker

Comment installer Docker sur Ubuntu 22.04

Para eliminar el software pero conservar tus contenedores e imágenes: sudo apt remove docker docker.io containerd runc Para eliminar todo, incluidas imágenes y volúmenes, elimina el directorio : sudo rm -rf /var/lib/docker Ordre des applications après l’installation de Docker sur Ubuntu Bien que cette procédure s’applique également à d’autres versions d’Ubuntu, ce tutoriel explique comment installer Docker sur Ubuntu 22.04. Nous téléchargerons également Docker Compose, un outil nécessaire pour gérer efficacement plusieurs conteneurs. Pour ce guide, nous utiliserons un serveur cloud Hostman. Choisissez votre serveur dès maintenant Configuration requise Selon la documentation de Docker, les versions 64 bits d’Ubuntu suivantes sont prises en charge : Ubuntu Oracular 24.10 Ubuntu Noble 24.04 (LTS) Ubuntu Jammy 22.04 (LTS) Ubuntu Focal 20.04 (LTS) Docker fonctionne sur la plupart des architectures populaires. Les exigences en ressources de votre machine dépendront de l’utilisation prévue et du niveau de confort souhaité pour travailler avec Docker. L’ampleur des applications que vous prévoyez de déployer dans des conteneurs déterminera en grande partie les besoins système. Certaines sources recommandent un minimum de 2 Go de RAM. Une connexion Internet stable est également requise. Installer Docker sur Ubuntu 22.04 L’installation de Docker sur Ubuntu 22.04 consiste à exécuter une série de commandes dans le terminal. Vous trouverez ci-dessous un guide étape par étape avec des explications. Les étapes s’appliquent également aux versions serveur d’Ubuntu. 1. Mettre à jour les index des paquets Le dépôt par défaut ne contient pas toujours les versions logicielles les plus récentes. Nous téléchargerons donc Docker depuis son dépôt officiel afin de garantir l’installation de la version la plus récente. Commencez par mettre à jour les index des paquets : sudo apt update 2. Installer des paquets supplémentaires Pour installer Docker, vous devez télécharger quatre paquets supplémentaires : curl : Nécessaire pour interagir avec des ressources web. software-properties-common : Permet la gestion des logiciels via des scripts. ca-certificates : Contient des informations sur les autorités de certification. apt-transport-https : Nécessaire pour le transfert de données via le protocole HTTPS. Téléchargez ces paquets à l’aide de la commande suivante : sudo apt install curl software-properties-common ca-certificates apt-transport-https -y L’option -y répond automatiquement « Oui » à toutes les invites du terminal. 3. Importer la clé GPG Les signatures logicielles doivent être vérifiées à l’aide d’une clé GPG. Le dépôt Docker doit être ajouté à la liste locale. Utilisez la commande suivante pour importer la clé GPG : wget -O- https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor | sudo tee /etc/apt/keyrings/docker.gpg > /dev/null Pendant le processus d’importation, le terminal peut afficher un avertissement avant de confirmer l’exécution réussie de la commande. 4. Ajouter le dépôt Docker Ajoutez le dépôt pour votre version d’Ubuntu portant le nom de code « Jammy ». Pour les autres versions, utilisez les noms de code correspondants indiqués dans la section « Configuration requise ». Exécutez la commande suivante : echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu jammy stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null Lors de l’exécution, le terminal vous demandera de confirmer l’opération. Appuyez sur Entrée. 5. Mettre à jour à nouveau les index des paquets Après avoir effectué ces modifications, mettez à jour les index des paquets une nouvelle fois à l’aide de la commande habituelle : sudo apt update 6. Vérifier le dépôt Assurez-vous que l’installation s’effectuera à partir du bon dépôt en exécutant la commande suivante : apt-cache policy docker-ce Exemple de sortie: Selon les versions récentes de Docker, le résultat peut varier. Vérifier que l’installation provient du dépôt officiel de Docker est essentiel. 7. Installer Docker Après avoir configuré les dépôts, procédez à l’installation de Docker : sudo apt install docker-ce -y Le processus d’installation démarre immédiatement. Pour confirmer que l’installation a réussi, vérifiez l’état de Docker sur le système : sudo systemctl status docker Exemple de sortie : La sortie doit indiquer que le service Docker est actif et en cours d’exécution. Installer Docker Compose Docker Compose est un outil Docker conçu pour gérer plusieurs conteneurs. Il est couramment utilisé dans des projets où de nombreux conteneurs doivent fonctionner ensemble comme un système unifié. Gérer ce processus manuellement peut être complexe. À la place, vous décrivez l’ensemble de la configuration dans un seul fichier YAML contenant les paramètres et configurations de tous les conteneurs et de leurs applications. Il existe plusieurs méthodes pour installer Docker Compose. Si vous avez besoin de la version la plus récente, veillez à utiliser l’installation manuelle ou l’installation via le système de contrôle de version Git. Installation via apt-get Si disposer de la dernière version n’est pas indispensable pour vous, Docker Compose peut être installé directement depuis le dépôt Ubuntu. Exécutez la commande suivante : sudo apt-get install docker-compose Installation via Git Commencez par installer Git : sudo apt-get install git Vérifiez l’installation en contrôlant la version de Git : git --version La sortie doit afficher la version de Git. Ensuite, clonez le dépôt Docker Compose. Accédez à la page GitHub de Docker Compose et copiez l’URL du dépôt. Exécutez la commande suivante pour cloner le dépôt : git clone https://github.com/docker/compose.git Le processus de clonage démarre et le dépôt est téléchargé depuis GitHub. Installation manuelle Accédez au dépôt GitHub de Docker Compose et localisez la version la plus récente sous l’étiquette Latest. Au moment de la rédaction, la version la plus récente de Docker Compose est la v2.31.0. Téléchargeons-la : sudo curl -L "https://github.com/docker/compose/releases/download/v2.31.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose Dans cette commande, les paramètres $(uname -s) et $(uname -m) prennent automatiquement en compte les caractéristiques et l’architecture du système. Une fois le téléchargement terminé, modifiez les permissions du fichier : sudo chmod +x /usr/local/bin/docker-compose Ordre correct de votre infrastructure après l’installation de Docker sur Ubuntu Conclusion Dans ce guide, nous avons couvert l’installation de Docker sur Ubuntu 22.04 ainsi que plusieurs méthodes pour installer Docker Compose. Vous pouvez commander un serveur cloud chez Hostman pour vos expérimentations et vos exercices. Choisissez votre serveur dès maintenant Foire aux questions (FAQ) Comment installer Docker via le terminal? La manière la plus simple d’installer la version standard d’Ubuntu consiste à exécuter: sudo apt update sudo apt install docker.io Remarque: pour obtenir la version la plus récente, vous devez configurer le dépôt officiel de Docker et installer docker-ce à la place. Comment exécuter Docker sans utiliser sudo? Par défaut, Docker nécessite des privilèges root. Pour l’exécuter en tant qu’utilisateur standard, ajoutez votre utilisateur au groupe « docker »: sudo usermod -aG docker $USER Déconnectez-vous puis reconnectez-vous pour que les modifications prennent effet. Comment vérifier si Docker est installé et en cours d’exécution? Exécutez le conteneur « hello-world » pour vérifier l’ensemble de la chaîne d’outils: sudo docker run hello-world En cas de succès, une image de test sera téléchargée et un message de bienvenue sera affiché. Comment installer Docker Compose sur Ubuntu 22.04? Dans les versions modernes, Docker Compose est inclus sous forme de plugin. Installez-le via: sudo apt install docker-compose-plugin Vous pouvez ensuite l’exécuter avec docker compose (notez l’espace, sans trait d’union). Quelle est la différence entre docker.io et docker-ce? docker.io: Le paquet Docker maintenu par l’équipe Ubuntu. Il est stable mais peut être légèrement plus ancien. docker-ce: Le paquet « Community Edition » maintenu directement par Docker, Inc. Il contient les dernières fonctionnalités et correctifs. Comment désinstaller Docker? Pour supprimer le logiciel tout en conservant vos conteneurs et images: sudo apt remove docker docker.io containerd runc Pour supprimer complètement Docker, y compris les images et volumes, supprimez le répertoire: sudo rm -rf /var/lib/docker
27 January 2026 · 8 min to read
Plateforme Docker

Installer et utiliser Docker Compose sur Ubuntu: Guide Complet

Docker Compose a profondément changé la manière dont les développeurs abordent les applications conteneurisées, en particulier lorsqu’il s’agit de coordonner des services interdépendants. Cet outil remplace la gestion manuelle des conteneurs par un flux de travail structuré et piloté par YAML, permettant aux équipes de définir des architectures applicatives complètes dans un seul fichier de configuration. Dans les environnements Ubuntu, cela se traduit par des déploiements reproductibles, une mise à l’échelle simplifiée et une réduction de la charge opérationnelle. Ce guide propose une nouvelle approche de l’installation et de l’utilisation de Docker Compose, avec des explications approfondies sur sa mise en œuvre pratique. Prérequis Avant de commencer ce tutoriel, assurez-vous de disposer des éléments suivants : Déployer une instance de serveur cloud Ubuntu chez Hostman. Disposer d’un compte utilisateur avec des privilèges sudo ou un accès root, afin d’installer des paquets et de gérer Docker. Avoir Docker installé et en cours d’exécution sur le serveur, car Docker Compose fonctionne au-dessus de Docker Engine. Pourquoi Docker Compose est important Les applications modernes sont souvent composées de plusieurs composants interconnectés, tels que des API, des bases de données et des couches de cache. Gérer ces éléments individuellement à l’aide de commandes Docker devient rapidement complexe à mesure que l’architecture s’étoffe. Docker Compose résout ce problème en permettant de déclarer tous les services, réseaux et besoins de stockage dans un fichier docker-compose.yml. Cette approche garantit la cohérence entre les environnements, que vous travailliez sur une machine Ubuntu locale ou sur un serveur cloud. Par exemple, une application web composée d’un backend Node.js, d’une base de données PostgreSQL et d’un cache Redis. Sans Docker Compose, chaque composant nécessite une commande docker run distincte avec des paramètres réseau précis. Avec Compose, ces relations sont définies une seule fois, ce qui permet de démarrer et d’arrêter l’ensemble de l’application avec une seule commande. Installation de Docker Compose Suivez les étapes ci-dessous pour installer Docker Compose sur votre système Ubuntu. Étape 1 : Vérifier que Docker est installé et en cours d’exécution Docker Compose fonctionne comme une extension de Docker. Vérifiez donc l’état du service Docker : sudo systemctl status docker S’il n’est pas actif, démarrez-le avec : sudo systemctl start docker Étape 2 : Mettre à jour les paquets système Actualisez la liste des paquets afin d’accéder aux versions logicielles les plus récentes : sudo apt-get update Étape 3 : Installer les utilitaires de base Pour assurer une communication sécurisée avec les dépôts Docker, les paquets suivants sont nécessaires: sudo apt-get install ca-certificates curl Étape 4 : Configurer la clé GPG de Docker Authentifiez les paquets Docker en ajoutant leur clé cryptographique : sudo install -m 0755 -d /etc/apt/keyrings sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc sudo chmod a+r /etc/apt/keyrings/docker.asc Cette étape garantit que les paquets n’ont pas été modifiés pendant le téléchargement. Étape 5 : Ajouter le dépôt Docker Ajoutez le dépôt Docker correspondant à votre version d’Ubuntu : echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null Cette commande détecte automatiquement la version du système via VERSION_CODENAME. Étape 6 : Installer le plugin Docker Compose Mettez à jour les dépôts et installez l’extension Compose : sudo apt update sudo apt-get install docker-compose-plugin Étape 7 : Vérifier l’installation Confirmez que Docker Compose est correctement installé : docker compose version Exemple de sortie : Docker Compose version v2.33.0 Créer un projet Docker Compose pratique Pour démontrer les capacités de Docker Compose, nous allons déployer un serveur web à l’aide de Nginx. 1. Initialiser le répertoire du projet Créez un espace de travail dédié : mkdir ~/compose-demo && cd ~/compose-demo 2. Définir les services dans docker-compose.yml Créez le fichier de configuration : nano docker-compose.yml Ajoutez le contenu suivant : services:   web:     image: nginx:alpine     ports:       - "8080:80"     volumes:       - ./app:/usr/share/nginx/html Explication : services : Élément racine définissant les conteneurs web : Nom personnalisé du service image : Image Nginx basée sur Alpine pour une empreinte réduite ports : Redirige le port 8080 de l’hôte vers le port 80 du conteneur volumes : Synchronise le répertoire local app avec la racine web du conteneur 3. Créer le contenu web Construisez la structure HTML : mkdir app nano app/index.html Ajoutez le code HTML suivant : <!DOCTYPE html> <html lang="en"> <head>   <meta charset="UTF-8">   <title>Docker Compose Test</title> </head> <body>   <h1>Hello from Docker Compose!</h1> </body> </html> Orchestration des conteneurs : du démarrage à l’arrêt 1. Démarrer les services en mode détaché docker compose up -d Docker Compose téléchargera automatiquement l’image Nginx si nécessaire et configurera le réseau. 2. Vérifier l’état des conteneurs docker compose ps -a 3. Accéder à l’application web Accédez à http://localhost:8080 en local ou à http://<SERVER_IP>:8080 sur un serveur distant. La page de test devrait s’afficher correctement. 4. Diagnostiquer les problèmes via les logs En cas de problème, consultez les journaux du conteneur : docker compose logs web 5. Arrêt propre et nettoyage Arrêter temporairement les conteneurs : docker compose stop Supprimer toutes les ressources du projet : docker compose down Référence des commandes : au-delà des bases Ces commandes permettent d’aller plus loin dans la gestion des conteneurs : docker compose up --build – Reconstruire les images avant le démarrage docker compose pause – Mettre les conteneurs en pause sans les arrêter docker compose top – Afficher les processus en cours d’exécution dans les conteneurs docker compose config – Valider et afficher la configuration finale docker compose exec – Exécuter des commandes dans des conteneurs en cours d’exécution(par exemple, docker compose exec web nginx -t pour tester la configuration Nginx) Conclusion Docker Compose transforme l’orchestration multi-conteneurs d’une tâche manuelle et complexe en un processus structuré, reproductible et efficace. En suivant les étapes décrites — installation de Docker Compose, définition des services en YAML et utilisation des commandes essentielles — vous pouvez gérer des applications complexes en toute confiance.
15 January 2026 · 7 min to read
Plateforme Docker

Installer Nextcloud avec Docker

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 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 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 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 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 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 Lancez : docker compose up -d Si une erreur liée aux limites de téléchargement Docker Hub apparaît : Connectez-vous à votre compte Docker Hub ou créez-en un. Allez dans Account settings → Personal access tokens. Cliquez sur Generate new token. Donnez une description, définissez une date d’expiration et choisissez les permissions : Read, Write, Delete. Cliquez sur Generate et copiez le token (il ne sera affiché qu’une seule fois). 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 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 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 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 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é.
25 November 2025 · 7 min to read

Avez-vous des questions,
des commentaires ou
des préoccupations ?

Nos professionnels sont disponibles pour vous aider à tout moment,
que vous ayez besoin d'aide ou que vous ne sachiez pas par où commencer.
Envoyez-nous un e-mail
Hostman's Support