ITSkillsCenter
Bureautique & Productivité

Installer Dolibarr 23 sur Coolify avec MariaDB et HTTPS — tutoriel 2026

13 min de lecture

📍 Article principal : Dolibarr 23 ERP/CRM pour TPE-PME francophone. Ce tutoriel détaille le déploiement Coolify étape par étape jusqu’à la première connexion utilisateur.

Coolify est devenu en 2026 la plateforme de référence pour héberger des applications web open source en self-hosted. Sa version 4 stable sortie en mars 2026 simplifie radicalement le déploiement de Dolibarr : trois clics depuis le marketplace, une variable d’environnement, un nom de domaine pointé vers le serveur, et l’instance est en production avec HTTPS automatique. Ce tutoriel guide pas à pas le déploiement complet d’une instance Dolibarr 23 sur un VPS Hetzner CX22, depuis l’installation de Coolify jusqu’à la première facture émise.

Prérequis

  • VPS Linux fraîchement installé (Debian 12 ou Ubuntu 24.04 LTS recommandés)
  • 2 vCPU, 4 Go RAM, 40 Go SSD minimum (Hetzner CX22 ou équivalent)
  • Nom de domaine ou sous-domaine (ex. erp.masociete.sn) avec accès aux DNS
  • Adresse e-mail valide pour les certificats Let’s Encrypt
  • Compte SMTP fonctionnel (Brevo, Mailgun, Mailjet) pour les notifications Dolibarr
  • Niveau : intermédiaire (Linux, DNS, Docker basique)
  • Temps estimé : 90 minutes

Étape 1 — Préparer le VPS et installer Coolify

Première opération une fois le VPS provisionné : créer un utilisateur non-root, durcir SSH, mettre à jour les paquets et installer Coolify via son script officiel. Ces étapes empêchent l’attaquant moyen d’obtenir un accès via les bots qui scannent en permanence le port 22.

ssh root@<ip-vps>
adduser admin
usermod -aG sudo admin
rsync --archive --chown=admin:admin ~/.ssh /home/admin

# Durcir SSH
sed -i 's/^#*PermitRootLogin.*/PermitRootLogin no/' /etc/ssh/sshd_config
sed -i 's/^#*PasswordAuthentication.*/PasswordAuthentication no/' /etc/ssh/sshd_config
systemctl restart ssh

apt update && apt full-upgrade -y
apt install -y curl ufw fail2ban
ufw allow 22 && ufw allow 80 && ufw allow 443 && ufw --force enable
systemctl enable --now fail2ban

Le VPS est maintenant minimalement durci. Installer Coolify en une commande depuis le compte admin :

curl -fsSL https://cdn.coollabs.io/coolify/install.sh | sudo bash

Le script installe Docker, Docker Compose, Caddy et l’interface web Coolify sur le port 8000. Au bout de cinq minutes, accéder à http://<ip-vps>:8000 dans le navigateur, créer le compte administrateur initial et configurer le domaine principal Coolify (par exemple coolify.masociete.sn) qui servira ensuite à publier les autres applications via Caddy reverse-proxy.

Étape 2 — Configurer les DNS et déployer Dolibarr

Avant de déployer Dolibarr, créer dans la zone DNS un enregistrement A qui pointe erp.masociete.sn vers l’IP publique du VPS. La propagation DNS prend de quelques minutes à 24 heures selon le registrar — vérifier avec dig erp.masociete.sn avant de continuer.

Dans l’interface Coolify, aller dans Projects → New Project → Dolibarr. Le marketplace propose un service prêt à l’emploi qui déploie l’image officielle dolibarr/dolibarr:23 avec MariaDB 11 préconfiguré. Renseigner : nom du projet (masociete-erp), domaine public (erp.masociete.sn), région du serveur, ressources allouées (par défaut suffisantes).

Définir les variables d’environnement essentielles avant le premier démarrage. Les plus importantes : DOLI_DB_PASSWORD (mot de passe MariaDB de l’utilisateur Dolibarr, à générer aléatoirement avec openssl rand -base64 32), DOLI_ADMIN_LOGIN et DOLI_ADMIN_PASSWORD (compte admin initial), DOLI_URL_ROOT (URL publique exacte avec HTTPS), DOLI_INSTALL_AUTO à 1 pour automatiser l’installation au premier boot.

Cliquer sur Deploy. Coolify pull les images Docker, démarre les conteneurs, négocie le certificat Let’s Encrypt via Caddy et publie le service. Au bout de trois à cinq minutes, l’écran de connexion Dolibarr est accessible sur https://erp.masociete.sn.

Étape 3 — Premier paramétrage et activation des modules

Connecter avec le compte admin créé. Le menu Configuration → Société/Organisation reçoit les informations essentielles : raison sociale, NINEA (Sénégal) ou RCCM/IFU/CC (Côte d’Ivoire), adresse complète, téléphone, e-mail, devise principale (XOF), pays. Charger le logo de la société au format PNG transparent — il apparaîtra sur tous les documents PDF générés.

Dans Configuration → Modules, activer dans cet ordre : Tiers, Produits-Services, Devis, Commandes clients, Factures clients, Factures fournisseurs, Stocks, Banques, Comptabilité, Projets si la TPE vend des prestations, Agenda, Notes de frais. Désactiver les modules non utilisés (don, adhérent, marketing) pour épurer le menu et réduire la surface d’attaque. Activer également le module API REST qui sera nécessaire pour le connecteur Mobile Money et la synchronisation WooCommerce.

Étape 4 — Sauvegardes Restic vers Storage Box

Une instance Dolibarr sans sauvegarde testée est une bombe à retardement. Configurer dès le premier jour une sauvegarde quotidienne automatique vers un stockage S3-compatible distant. Hetzner Storage Box à 3,20 €/mois pour 100 Go est le compromis idéal pour une TPE.

apt install restic

# Initialiser le repo Restic chiffré
export RESTIC_REPOSITORY="sftp:u123456@u123456.your-storagebox.de:/dolibarr-backup"
export RESTIC_PASSWORD="<passphrase-forte-distincte-de-tout>"
restic init

# Script de sauvegarde quotidien
cat > /usr/local/bin/backup-dolibarr.sh <<'EOF'
#!/bin/bash
set -e
export RESTIC_REPOSITORY="..."
export RESTIC_PASSWORD="..."
DOCKER_VOL=$(docker volume inspect masociete-erp_documents -f '{{.Mountpoint}}')
docker exec masociete-erp-mariadb mysqldump -u root -p$DB_ROOT dolibarr | gzip > /tmp/dolibarr.sql.gz
restic backup /tmp/dolibarr.sql.gz $DOCKER_VOL --tag dolibarr-daily
restic forget --keep-daily 14 --keep-weekly 8 --keep-monthly 12 --prune
rm -f /tmp/dolibarr.sql.gz
EOF
chmod +x /usr/local/bin/backup-dolibarr.sh
echo "0 2 * * * root /usr/local/bin/backup-dolibarr.sh" > /etc/cron.d/dolibarr-backup

La sauvegarde tourne chaque nuit à 2h, conserve 14 dernières versions journalières, 8 hebdomadaires et 12 mensuelles, soit environ deux ans d’historique avec une consommation de stockage maîtrisée grâce à la déduplication Restic. Tester la procédure de restauration une fois par trimestre sur un VPS de bac à sable : une sauvegarde non testée n’existe pas.

Étape 5 — Vérifier la santé et le monitoring

Dolibarr fournit un endpoint healthcheck non documenté mais utilisable : https://erp.masociete.sn/install/check.php renvoie un OK technique. Configurer une surveillance externe avec Uptime Kuma (auto-hébergé) ou un service gratuit comme HetrixTools. La règle : alerte e-mail et SMS si Dolibarr ne répond pas pendant plus de 3 minutes.

Côté monitoring système, Coolify intègre des graphiques CPU, mémoire, disque pour chaque conteneur. Un usage CPU constant au-dessus de 70 % sur Dolibarr indique soit une requête lourde mal indexée, soit un besoin de monter en gamme de VPS. Surveiller la table llx_session qui peut grossir indéfiniment si la purge automatique n’est pas activée — vérifier dans Configuration → Système → Sécurité.

Erreurs fréquentes

ErreurCauseSolution
Certificat Let’s Encrypt non délivréDNS non propagé, port 80 fermé, rate-limit ACME atteintVérifier dig, ouvrir le port 80 sur le firewall, attendre 1h en cas de rate-limit
Erreur « Database connection refused »Mot de passe DB incorrect ou MariaDB pas encore prêtAttendre la fin du démarrage MariaDB, vérifier DOLI_DB_PASSWORD
Volumes Docker effacés à la mise à jourVolumes nommés non déclarés explicitementToujours utiliser des volumes nommés persistants, jamais de bind mounts éphémères
Performance lente après 6 moisPas d’OPTIMIZE TABLE et opcache PHP non activéActiver opcache dans php.ini, lancer un OPTIMIZE TABLE mensuel

Adaptation au contexte ouest-africain

Pour les déploiements souverains, utiliser un VPS chez Wagaden (Dakar) ou un partenaire Sonatel Cloud : la procédure est identique, seuls les tarifs et les latences vers Coolify changent. La latence Dakar→Falkenstein étant déjà sous 90 ms, l’impact sur l’expérience utilisateur reste imperceptible. Pour les TPE en zone à faible bande passante, activer le module Dolibarr Mobile qui exposera une interface allégée pour smartphones et tablettes — utile pour les commerciaux terrain qui prennent des commandes sans WiFi.

Configurer le SMTP pour les notifications

Dolibarr envoie de nombreuses notifications par e-mail : confirmation de commande, devis transmis, facture envoyée, relance impayés, rapport périodique. Sans serveur SMTP configuré, ces communications échouent silencieusement et l’équipe perd vite confiance dans l’outil. Configurer un compte chez un transactionnel sérieux : Brevo (ex Sendinblue) à 19 €/mois pour 20 000 envois, Mailgun à partir de 35 USD/mois, Mailjet équivalent. Récupérer les paramètres SMTP (serveur, port 587 STARTTLS, login, mot de passe).

Dans Dolibarr, naviguer vers Configuration → Système → Sécurité → E-mails. Renseigner les paramètres SMTP, l’expéditeur par défaut (généralement contact@masociete.sn), activer DKIM et SPF côté DNS du domaine. La règle d’or : ne jamais utiliser un compte Gmail ou Yahoo personnel pour envoyer des e-mails Dolibarr — la délivrabilité s’effondre en quelques semaines et les factures finissent en spam chez les clients. Tester immédiatement l’envoi d’un e-mail de test depuis le menu de configuration, vérifier la réception sur une boîte externe.

Personnaliser les modèles PDF aux couleurs de la PME

Dolibarr propose plusieurs modèles PDF natifs pour les devis, commandes et factures : azur, crabe, eratosthène, einstein. Aucun ne correspond exactement à la charte graphique d’une entreprise. La pratique consiste à dupliquer le modèle azur en azur_masociete dans htdocs/custom/pdf_templates/, modifier la couleur principale, intégrer le logo en grand en en-tête, ajuster les coordonnées bancaires et Mobile Money en pied de page, ajouter un footer mentionnant les CGV et le RCCM/NINEA.

Pour les TPE qui veulent un rendu professionnel sans toucher au PHP, plusieurs prestataires francophones (notamment Dakar et Abidjan) proposent une refonte complète de modèles PDF Dolibarr pour 100 000 à 250 000 XOF. L’investissement vaut la peine car la facture est l’un des supports de communication les plus consultés par les clients — elle reflète directement le sérieux de l’entreprise.

Sécuriser l’accès admin

Le compte admin Dolibarr est la cible privilégiée des bots automatiques. Quatre mesures de durcissement sont indispensables. Premièrement, activer l’authentification à deux facteurs (TOTP) sur tous les comptes admin : Configuration → Modules → Module Two Factor Authentication, scanner le QR code avec Aegis Authenticator, Authy ou Google Authenticator. Deuxièmement, restreindre l’accès au panneau d’administration par IP, en ajoutant dans Caddy une directive : @admin path /admin/* | respond @admin "Forbidden" 403 if remote_ip not in whitelist.

Troisièmement, configurer Fail2ban avec un filtre Dolibarr custom qui détecte les tentatives de login échouées dans /var/log/dolibarr/dolibarr.log et bannit les IP fautives pendant 24 heures. Quatrièmement, désactiver les comptes utilisateurs inactifs depuis plus de 90 jours via une politique automatique — un ancien stagiaire dont le compte reste actif plusieurs mois après son départ représente une porte d’entrée potentielle. Le module Audit de Dolibarr trace toutes les connexions et les opérations sensibles, à consulter trimestriellement par le DPO.

Mettre à jour Dolibarr en production

Dolibarr publie une version mineure tous les six mois et des correctifs de sécurité plus fréquents. La procédure de mise à jour sécurisée passe par cinq étapes : lancer une sauvegarde manuelle complète, mettre l’instance en mode maintenance via Configuration → Système, mettre à jour l’image Docker via Coolify (docker pull dolibarr/dolibarr:23.x puis redémarrer le service), accéder à l’URL /install/upgrade.php qui exécute les scripts SQL de migration, vérifier que tous les modules sont compatibles avec la nouvelle version. En cas d’incompatibilité d’un module custom, restaurer la sauvegarde et corriger le module avant de retenter.

Tester systématiquement les mises à jour majeures (passage de 22 à 23 par exemple) sur une instance bac à sable avant la production. Une mise à jour majeure peut introduire des changements de schéma SQL ou d’API qui cassent les modules custom — corriger en bac à sable est nettement plus serein que sur l’instance utilisée par les commerciaux. Documenter chaque mise à jour dans un journal d’opérations qui mentionne la version d’origine, la version cible, les éventuels correctifs appliqués et le temps d’arrêt total.

Restaurer une sauvegarde Restic

La capacité à restaurer rapidement est aussi importante que la capacité à sauvegarder. Tester la procédure complète sur un VPS de bac à sable au moins une fois par trimestre. Les commandes Restic essentielles à maîtriser : restic snapshots liste tous les points de restauration disponibles, restic restore latest --target /tmp/restore récupère la dernière sauvegarde dans un dossier temporaire, restic mount /mnt/restic monte le repo en lecture seule pour parcourir l’arborescence comme un disque normal.

La séquence de restauration complète d’une instance Dolibarr : créer un nouveau VPS, installer Coolify, déployer un service Dolibarr vide, arrêter le conteneur Dolibarr, restaurer le volume documents et le dump SQL depuis Restic, importer le dump dans MariaDB, redémarrer le conteneur. La procédure tient en 30 minutes pour une instance de taille TPE et garantit un RTO confortable même en cas de perte totale du serveur principal. Documenter chaque étape dans un runbook stocké hors du système (Notion, Obsidian, papier dans le coffre) — un runbook accessible uniquement sur le serveur en panne ne sert à rien.

Surveillance applicative avec Uptime Kuma

Coolify monitore les conteneurs Docker mais ne sait pas si Dolibarr répond fonctionnellement. Une page d’accueil HTTP 200 ne signifie pas que la base MariaDB est joignable ni que la connexion utilisateur fonctionne. Déployer Uptime Kuma sur le même VPS Coolify (ou ailleurs pour plus de robustesse) et configurer trois sondes : requête HTTP simple sur la page d’accueil avec timeout 10 secondes, requête authentifiée avec mot de passe stocké chiffré qui simule un login, requête sur l’API REST /api/index.php/login avec validation JSON.

Configurer les notifications via webhooks : une alerte Discord, un SMS via Twilio en cas d’incident, un e-mail vers la direction si l’incident dure plus de 30 minutes. Une indisponibilité Dolibarr de plus d’une heure pendant les heures ouvrées doit déclencher l’astreinte. Le SLA interne typique pour une PME : 99,5 % de disponibilité (soit moins de 4 heures d’indisponibilité par mois), 99,9 % pour les services critiques pendant les pics de fin de mois.

Pour aller plus loin

🔝 Retour à l’article principal : Dolibarr 23 ERP/CRM pour TPE-PME francophone. La suite logique du déploiement : brancher le module Mobile Money pour encaisser Wave et Orange Money, puis générer des factures FNE conformes pour la Côte d’Ivoire. Documentation Coolify officielle sur coolify.io/docs, image Docker Dolibarr maintenue par Tuxgasy sur Docker Hub.

Pour finaliser la mise en production, prévoir une période de bascule de quinze jours pendant laquelle l’ancien outil (cahier comptable papier ou Excel non versionné) reste consultable en parallèle de Dolibarr. Cette double tenue absorbe les anomalies de paramétrage initial sans impacter la facturation client. Documenter les premiers paramétrages dans un fichier interne : les valeurs choisies pour les masques de numérotation, les modèles PDF actifs, les comptes comptables par défaut. Quand un nouvel administrateur reprend l’instance trois ans plus tard, ce fichier vaut de l’or.

Besoin d'un site web ?

Confiez-nous la Création de Votre Site Web

Site vitrine, e-commerce ou application web — nous transformons votre vision en réalité digitale. Accompagnement personnalisé de A à Z.

À partir de 250.000 FCFA
Parlons de Votre Projet
Publicité