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.
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

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/custompour 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.
- Base MariaDB (dump ou backup à chaud)
- Volume documents (
/var/www/documents) : pièces jointes, PDF, et le verrouillage d’installation - (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.lockpour 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
ERP/CRM open-source
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


