Skip to content

Docker Stack pour Dolibarr ERP/CRM avec Traefik, MariaDB/MySQL/PostgreSQL, serveur web au choix (Nginx, Apache, Caddy, Lighttpd) et gestion DB via phpMyAdmin ou outils tiers (HeidiSQL, DBeaver, DbVisualizer, Sequel Ace).

Notifications You must be signed in to change notification settings

Black0S/Dolibarr-Docker-Stack

Repository files navigation

🚀 Dolibarr Docker Stack

Dolibarr Docker PHP Traefik phpMyAdmin MariaDB MySQL PostgreSQL Apache Nginx Caddy Lighttpd

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.

📖 Table des matières

✨ Fonctionnalités

  • 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, et lighttpd.
  • 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.

📂 Structure du Projet

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

🚀 Guide de Démarrage

Prérequis

Installation

  1. Téléchargez la version de Dolibarr que vous souhaitez utiliser depuis le site officiel.
  2. Décompressez l'archive et placez le contenu (le dossier dolibarr-(la version)) dans le dossier dolibarr-core/.

Configuration

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.

Lancement

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

Pas d’installation IMAP

🚨 Attention : la bibliothèque IMAP n’est pas installée dans cette stack Docker.

Raison

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

À quoi sert IMAP ?

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

Conséquence

Par sécurité et pour assurer une compatibilité maximale, IMAP n'es pas installét lors de l’installation de cette stack.

Évolution

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.

⚙️ Utilisation

Accès aux services

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.

Gestion de la stack

  • 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

⚖️ Comparatif des Serveurs Web & Base de Données

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

⚖️ Comparatif des Bases de Données

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

🗄️ Gestion de base de données (hors phpMyAdmin)

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

🤝 Contribution

Les contributions sont les bienvenues ! N'hésitez pas à ouvrir une issue ou une pull request pour proposer des améliorations.

About

Docker Stack pour Dolibarr ERP/CRM avec Traefik, MariaDB/MySQL/PostgreSQL, serveur web au choix (Nginx, Apache, Caddy, Lighttpd) et gestion DB via phpMyAdmin ou outils tiers (HeidiSQL, DBeaver, DbVisualizer, Sequel Ace).

Topics

Resources

Stars

Watchers

Forks