Tutoriel : Déployer Dolibarr avec Docker et Docker Compose
Introduction : Qu'est-ce que Dolibarr et pourquoi l'utiliser ?
Dolibarr est un logiciel moderne de gestion d'entreprise, open-source et gratuit. Il combine deux fonctions majeures :
-
ERP (Enterprise Resource Planning) : Il gère les ressources de l'entreprise (les stocks, les produits, les commandes, la comptabilité, les ressources humaines).
-
CRM (Customer Relationship Management) : Il gère la relation client (le carnet d'adresses, les prospects, le suivi des opportunités commerciales).
Ce logiciel sera utile pour les petites et moyennes entreprises (PME), les indépendants (auto-entrepreneurs), les consultants et les associations.
Pourquoi l'installer avec Docker ?
Docker permet d'isoler l’environnement, de tester sans risque et de l'effacer facilement si vous n'en avez plus besoin.
Prérequis techniques
Pour suivre ce cours, vous avez besoin d'un ordinateur (Windows, Mac ou Linux), de Docker et d'un éditeur de texte (ou de code) au choix.
Mise en place du projet
Nous allons commencer par créer une structure propre.
mon-dolibarr/
.env
|-- compose.yml
Les fichiers compose.yml et .env
.env
Le fichier .env permet de centraliser et sécuriser les variables de configuration (comme les mots de passe et les noms d'utilisateurs) en les séparant strictement du code source.
# --- Configuration de la Base de Données ---
# Mot de passe "Root" de la base de données (très important)
DB_ROOT_PASSWORD=SuperMotDePasseRootTresLong123!
# Nom de la base de données
DB_NAME=dolibarr
# Utilisateur spécifique pour Dolibarr
DB_USER=dolibarr_user
# Mot de passe de l'utilisateur Dolibarr
DB_PASSWORD=SuperMotDePasseUser456!
# --- Configuration de l'Administrateur Dolibarr ---
# Ces identifiants serviront à la première connexion
DOLI_ADMIN_LOGIN=admin
DOLI_ADMIN_PASSWORD=admin_secure_password
⚠️ Attention, veuillez changer les mots de passe pour des projets réels.
.compose.yml
Dans notre fichier compose.yml, nous allons mettre en route une base de données et le service Dolibarr. Il y aura donc deux conteneurs basés sur deux images.
version: '3'
services:
mariadb:
image: mariadb:10.6
container_name: dolibarr_db
restart: always
environment:
# On injecte les variables définies dans le .env
- MYSQL_ROOT_PASSWORD=${DB_ROOT_PASSWORD}
- MYSQL_DATABASE=${DB_NAME}
- MYSQL_USER=${DB_USER}
- MYSQL_PASSWORD=${DB_PASSWORD}
volumes:
- dolibarr_db_data:/var/lib/mysql
networks:
- dolibarr_net
web:
image: dolibarr/dolibarr:latest
container_name: dolibarr_web
restart: always
ports:
- "8088:80"
environment:
- DOLI_DB_HOST=mariadb
# Mapping des variables du .env vers les variables attendues par Dolibarr
- DOLI_DB_USER=${DB_USER}
- DOLI_DB_PASSWORD=${DB_PASSWORD}
- DOLI_DB_NAME=${DB_NAME}
# Identifiants admin initiaux
- DOLI_ADMIN_LOGIN=${DOLI_ADMIN_LOGIN}
- DOLI_ADMIN_PASSWORD=${DOLI_ADMIN_PASSWORD}
volumes:
- dolibarr_html:/var/www/html
- dolibarr_docs:/var/www/documents
depends_on:
- mariadb
networks:
- dolibarr_net
volumes:
dolibarr_db_data:
dolibarr_html:
dolibarr_docs:
networks:
dolibarr_net:
Installer et lancer Dolibarr
Ouvrez votre terminal et placez-vous dans le dossier mon-dolibarr. Ensuite tapez la commande suivante :
docker-compose up
Il ne reste plus qu'à utiliser un navigateur et à taper l'adresse suivante :
http://localhost:8088/
