Un environnement de développement local complet, flexible et performant pour Dolibarr ERP/CRM, propulsé par Docker et Traefik. Choisissez votre version PHP (8.4, 8.2, 7.4), base de donnée (MariaDB, MySQL, PostgreSQL), serveur web (Nginx, Apache, Caddy, Lighttpd) et lancez votre stack en une seule commande.
- ✨ Fonctionnalités
- 📂 Structure du Projet
- 🚀 Guide de Démarrage
- Pas d’installation IMAP
- ⚙️ Utilisation
- ⚖️ Comparatif des Serveurs Web & Base de Données
- 🗄️ Gestion de base de données (hors phpMyAdmin)
- 🤝 Contribution
- Reverse Proxy Automatisé : Traefik pour une gestion transparente des routes et du HTTPS local.
- Serveur Web au Choix : Flexibilité maximale avec les profils Docker Compose :
nginx,apache,caddy, etlighttpd. - PHP-FPM Optimisé : Services PHP découplés pour des performances accrues avec Nginx, Caddy et Lighttpd.
- Base de Données Robuste : MariaDB, la base de données open-source recommandée pour Dolibarr, MySQL ou bien PostgreSQL.
- Gestion de Base de Données : Accès facile via phpMyAdmin (profil optionnel).
- Structure Claire et Modulaire : Organisation logique des fichiers de configuration, des sources et des modules personnalisés.
.
├── dolibarr-core/ # 📚 Sources de Dolibarr (à ajouter manuellement)
├── dolibarr-stack/ # ⚙️ Cœur de la stack (docker-compose.yaml, .env)
│ ├── docker-compose.yaml # 🐳 Configuration Docker Compose
│ └── .env # 🌐 Variables d'environnement
├── custom/ # 🧩 Modules Dolibarr personnalisés
├── conf/ # 📄 Fichier conf.php de Dolibarr (généré à l'installation)
├── php-dockerfile/ # 🐳 Dockerfiles pour les images PHP
│ ├── php-8.4.Dockerfile # 🐘 Dockerfile PHP 8.4
│ ├── php-8.4-fpm.Dockerfile # ⚡ Dockerfile PHP 8.4-FPM
│ └── etc... # 🗂 Autres Dockerfiles PHP
└── web-server/ # 🌐 Configurations des serveurs web
├── apache/ # 🔵 Configuration Apache
├── caddy/ # 🟠 Configuration Caddy
├── lighttpd/ # 🟡 Configuration Lighttpd
└── nginx/ # 🟢 Configuration Nginx
- Téléchargez la version de Dolibarr que vous souhaitez utiliser depuis le site officiel.
- Décompressez l'archive et placez le contenu (le dossier
dolibarr-(la version)) dans le dossierdolibarr-core/.
Le fichier dolibarr-stack/.env est le centre de votre configuration.
⚠️ IMPORTANT : Avant de lancer la stack, ouvrez ce fichier et vérifiez que les variables (versions des logiciels, mots de passe, etc.) correspondent à vos besoins.
Placez-vous dans le dossier dolibarr-stack/ et exécutez l'une des commandes ci-dessous selon votre choix de serveur web.
| Serveur Web | Commande de base | Avec phpMyAdmin |
|---|---|---|
| Nginx | docker-compose --profile nginx up -d |
docker-compose --profile nginx --profile phpmyadmin up -d |
| Apache | docker-compose --profile apache up -d |
docker-compose --profile apache --profile phpmyadmin up -d |
| Caddy | docker-compose --profile caddy up -d |
docker-compose --profile caddy --profile phpmyadmin up -d |
| Lighttpd | docker-compose --profile lighttpd up -d |
docker-compose --profile lighttpd --profile phpmyadmin up -d |
🚨 Attention : la bibliothèque IMAP n’est pas installée dans cette stack Docker.
- Les librairies IMAP posent problème avec certaines versions récentes de PHP :
- Certaines extensions ont été dépréciées ou supprimées.
- La compatibilité varie selon l’OS (par exemple : disponibles sous Windows, absentes ou instables sous macOS Apple Silicon).
- Cela entraîne des bugs à l’installation et des comportements instables.
- IMAP (Internet Message Access Protocol) permet à Dolibarr (et plus largement à PHP) de :
- Se connecter directement à une boîte mail (Gmail, Exchange, IMAP d’un serveur d’entreprise, etc.).
- Lire et traiter les mails entrants pour en faire, par exemple, des tickets ou des messages internes.
- Synchroniser les mails sans les supprimer du serveur (contrairement à POP3).
- Dans Dolibarr, cela peut être utilisé notamment par le module E-Mail/Support pour automatiser la récupération des courriels.
Par sécurité et pour assurer une compatibilité maximale, IMAP n'es pas installét lors de l’installation de cette stack.
Ce choix n’est pas définitif :
- L’évolution de la situation dépendra des prochaines versions de PHP ainsi que de la disponibilité de la librairie IMAP ou de son éventuel successeur.
- Dès que le problème sera clairement résolu et stabilisé, la stack sera mise à jour afin de réintégrer IMAP proprement.
- Traefik : http://localhost:8080/dashboard/
- Dolibarr : http://localhost/install/index.php
- phpMyAdmin : http://pma.localhost/
Lors du premier accès à Dolibarr, suivez l'assistant d'installation. Le fichier de configuration conf.php sera automatiquement créé dans le dossier conf/ à la racine du projet.
- Arrêter la stack :
docker-compose down
- Changer de serveur web :
- Arrêtez la stack :
docker-compose down
- Relancez avec un nouveau profil
docker-compose --profile caddy up -d
- Arrêtez la stack :
| Serveur | Avantages | Inconvénients | Idéal pour... |
|---|---|---|---|
| Nginx | Haute performance, faible consommation mémoire | Pas de .htaccess, configuration globale |
Projets à fort trafic, applications modernes |
| Apache. | Grande compatibilité, support .htaccess |
Plus lourd, moins performant sous charge | Projets legacy, besoin de flexibilité via .htaccess |
| Caddy | Configuration simple, HTTPS automatique natif | Moins répandu, communauté plus petite | Simplicité et sécurité "out-of-the-box" |
| Lighttpd | Extrêmement léger, très rapide pour les statiques | Moins de fonctionnalités avancées | Environnements avec très peu de ressources |
| Base | Avantages | Inconvénients |
|---|---|---|
| MariaDB | Open source, rapide, légère | Compatibilité MySQL pas toujours parfaite |
| MySQL | Large communauté, très compatible | Licence moins libre, un peu plus lourd |
| PostgreSQL | Très robuste, transactions ACID, extensions | Plus complexe pour les débutants |
| Application | OS | Licence | Bases compatibles |
|---|---|---|---|
| HeidiSQL | Windows | Gratuit | MySQL, MariaDB, PostgreSQL, SQL Server |
| DBeaver | Windows, MacOS | Gratuit / Freemium | MySQL, MariaDB, PostgreSQL, Oracle, SQL Server, SQLite, etc. |
| DbVisualizer | Windows, MacOS | Freemium | MySQL, MariaDB, PostgreSQL, Oracle, SQL Server |
| Sequel Ace | MacOS | Gratuit | MySQL, MariaDB |
Les contributions sont les bienvenues ! N'hésitez pas à ouvrir une issue ou une pull request pour proposer des améliorations.