Installer Dolibarr avec Docker Compose (HTTPS + sauvegardes) — guide 2026

Installer Dolibarr avec Docker Compose (HTTPS + sauvegardes) — guide 2026

Tutoriel étape par étape pour installer Dolibarr avec Docker Compose : MariaDB, volumes persistants, HTTPS via reverse proxy, sauvegardes (base + documents), mises à jour et sécurité.

Dolibarr est un ERP/CRM open-source très utilisé par les TPE/PME. L’objectif de ce guide : une installation propre, persistante et sécurisée avec Docker Compose, puis une mise en HTTPS et une stratégie de sauvegarde réaliste.

Si vous voulez aller vite sans bricoler l’infra : vous pouvez aussi déployer Dolibarr sur adgents.cloud (déploiement rapide, facturation à l’heure, stop/start, et sauvegardes automatiques selon l’offre). Le tout en gardant la possibilité d’évoluer (CPU/RAM) quand l’usage augmente.

Schéma de stack Dolibarr : application, base de données, HTTPS et supervision

Prérequis (à garder simple)

  • Un VPS ou une VM Linux (2 vCPU / 4 Go RAM pour démarrer confortablement)
  • Docker + Docker Compose installés
  • Un nom de domaine (ex: erp.example.com) si vous voulez un vrai HTTPS

Pour une alternative “gérée”, regardez la page Dolibarr sur adgents.cloud (utile si vous voulez éviter de maintenir vous-même le serveur et les sauvegardes).

Architecture recommandée

On vise une architecture classique et robuste :

  • dolibarr (web)
  • mariadb (base de données)
  • un reverse proxy HTTPS (Traefik, Nginx Proxy Manager, Caddy…)
  • des volumes persistants pour la base + les documents Dolibarr

Architecture Dolibarr + MariaDB + reverse proxy HTTPS

Docker Compose (Dolibarr + MariaDB) : base stable

Le plus important : ne pas perdre les données. On persiste donc :

  • la base MariaDB
  • le répertoire /var/www/documents (documents + install.lock)
  • (optionnel) /var/www/html/custom pour les modules/addons

Créez un fichier docker-compose.yml :

services:
  mariadb:
    image: mariadb:11
    environment:
      MYSQL_ROOT_PASSWORD: $MYSQL_ROOT_PASSWORD
      MYSQL_DATABASE: $MYSQL_DATABASE
      MYSQL_USER: $MYSQL_USER
      MYSQL_PASSWORD: $MYSQL_PASSWORD
    volumes:
      - dolibarr_db:/var/lib/mysql
    restart: unless-stopped

  dolibarr:
    image: dolibarr/dolibarr:latest
    depends_on:
      - mariadb
    environment:
      DOLI_DB_HOST: mariadb
      DOLI_DB_NAME: $MYSQL_DATABASE
      DOLI_DB_USER: $MYSQL_USER
      DOLI_DB_PASSWORD: $MYSQL_PASSWORD
      DOLI_URL_ROOT: $DOLI_URL_ROOT
      DOLI_ADMIN_LOGIN: $DOLI_ADMIN_LOGIN
      DOLI_ADMIN_PASSWORD: $DOLI_ADMIN_PASSWORD
      PHP_INI_DATE_TIMEZONE: $TZ
      DOLI_CRON: "0"
      DOLI_CRON_KEY: $DOLI_CRON_KEY
    volumes:
      - dolibarr_docs:/var/www/documents
      - dolibarr_custom:/var/www/html/custom
    ports:
      - "8080:80"
    restart: unless-stopped

volumes:
  dolibarr_db:
  dolibarr_docs:
  dolibarr_custom:

Puis créez un fichier .env (mots de passe forts !) :

MYSQL_ROOT_PASSWORD=change-me-root
MYSQL_DATABASE=dolidb
MYSQL_USER=dolidbuser
MYSQL_PASSWORD=change-me-db

DOLI_URL_ROOT=http://localhost:8080
DOLI_ADMIN_LOGIN=admin
DOLI_ADMIN_PASSWORD=change-me-admin

TZ=Europe/Paris
DOLI_CRON_KEY=change-me-cron

Démarrage :

docker compose up -d
docker compose logs -f --tail=100

Une fois l’appli prêvous, ouvrez http://<votre-ip>:8080 et terminez l’assistant. Après l’installation, vérifiez que le fichier install.lock est présent dans le volume documents (c’est lui qui évite de relancer l’install au prochain boot).

Passer en HTTPS (2 options courantes)

Option A — Reverse proxy (Traefik / Caddy / NPM)

Le principe : Dolibarr reste en interne sur le réseau Docker, et le reverse proxy gère :

  • TLS (Let’s Encrypt)
  • redirection HTTP → HTTPS
  • (optionnel) rate limiting et protections basiques

Si vous utilisez déjà Traefik pour d’autres apps (ex: n8n), c’est souvent le plus simple d’y raccorder Dolibarr.

Option B — Terminaison TLS sur la plateforme

Sur adgents.cloud, l’idée est d’éviter d’empiler les briques : vous déployez l’app, vous mappez votre domaine, et vous profitez d’une configuration standardisée (utile quand vous avez plusieurs services : ERP + automatisations + bases internes).

Sauvegardes : ce qu’il faut vraiment sauvegarder

Dolibarr = base de données + documents.

  1. Base MariaDB (dump ou backup à chaud)
  2. Volume documents (/var/www/documents) : pièces jointes, PDF, et le verrouillage d’installation
  3. (si utilisé) custom (/var/www/html/custom) : modules et personnalisations

Exemple simple (dump quotidien)

Sur votre serveur, un script bash (exécuté via cron) :

#!/usr/bin/env bash
set -euo pipefail

TS=$(date +%F)
BACKUP_DIR=/srv/backups/dolibarr
mkdir -p "$BACKUP_DIR"

# Dump DB
docker compose exec -T mariadb   mariadb-dump -u"$MYSQL_USER" -p"$MYSQL_PASSWORD" "$MYSQL_DATABASE"   | gzip > "$BACKUP_DIR/db-$TS.sql.gz"

# Documents
docker run --rm   -v dolibarr_docs:/data:ro   -v "$BACKUP_DIR":/backup   alpine sh -c "cd /data && tar -czf /backup/docs-$TS.tar.gz ."

Astuce : testez une restauration au moins une fois (sur une machine de test) avant de vous croire “protégé”.

Sur adgents.cloud, vous pouvez aussi vous appuyer sur des sauvegardes automatiques (jusqu’à 1/h selon configuration) avec une rétention longue : c’est souvent un gain de sérénité quand l’ERP devient critique.

Mettre à jour Dolibarr sans douleur

  • Sauvegarder (DB + documents)
  • Mettre à jour l’image
  • Si nécessaire, retirer install.lock pour déclencher la migration (selon la méthode d’upgrade choisie)
docker compose pull
docker compose up -d
docker compose logs -f --tail=100

Lancez-vous avec Dolibarr.

Envie de vous lancer avec Dolibarr ? Créez votre site web en quelques clics.

Dolibarr

Dolibarr

ERP/CRM open-source

Déployer Dolibarr

Points de sécurité qui font une vraie différence

  • Mot de passe admin fort + changer l’utilisateur par défaut
  • HTTPS obligatoire + redirection
  • Accès admin derrière une authentification renforcée (au minimum IP allowlist si possible)
  • Sauvegardes chiffrées + rotation

Si vous voulez un Dolibarr prêt pour la prod sans passer vos soirées sur l’infra : déployez Dolibarr sur adgents.cloud, puis connectez-le à vos autres briques (ex: automatisations via n8n).

Vidéo (FR) : Dolibarr + Docker

Cloud background

Cloud pattern

Cet article vous a été utile ?

N'hésitez pas à découvrir d'autres articles

Voir plus d'articles