Héberger Odoo Community : l'ERP open source pour gérer toute votre entreprise
Gérer ventes, CRM, stock et projets dans un seul ERP souverain. Odoo Community le permet, mais c'est une plateforme exigeante. Voici comment l'héberger, avec ses vraies limites.
Centraliser les ventes, les clients, les achats, les stocks et les projets évite de multiplier les fichiers et les outils SaaS. Avec un ERP auto-hébergé, l’entreprise conserve également la maîtrise de ses données, de ses sauvegardes et de ses accès. Cette approche répond aux besoins des PME qui recherchent davantage de souveraineté et une infrastructure située en France.
Odoo Community Edition est un ERP open source construit autour de modules installables à la demande. Il peut commencer comme un simple CRM, puis évoluer vers la gestion commerciale, l’inventaire, les ressources humaines ou le commerce en ligne. Son périmètre fonctionnel est vaste, mais son déploiement demande plus de ressources et de préparation qu’une application de facturation légère.
Odoo Community et Odoo Enterprise : une distinction essentielle
Odoo Community est gratuit et open source. L’entreprise peut l’installer sur son propre serveur, administrer sa base PostgreSQL et conserver le contrôle de ses données sans souscrire une licence par utilisateur.
Cette édition ne contient toutefois pas toutes les fonctions proposées par Odoo. Certaines fonctionnalités avancées sont réservées à Odoo Enterprise, qui est payant. Cela concerne notamment des fonctions de comptabilité complète, ainsi que plusieurs outils avancés de reporting, d’automatisation ou de personnalisation.
Avant de choisir Community, il faut donc dresser la liste précise des processus à couvrir. Une PME qui recherche principalement un CRM, la gestion des ventes, des achats, des stocks et des projets pourra déjà construire un environnement riche. Une entreprise ayant des exigences comptables avancées devra vérifier si les modules communautaires suffisent ou si Odoo Enterprise, des extensions tierces ou un logiciel comptable séparé sont nécessaires.
Odoo est par ailleurs une application relativement lourde. Elle combine Python, PostgreSQL, des traitements planifiés et parfois plusieurs processus de travail. Il faut prévoir suffisamment de mémoire vive, surtout lorsque le nombre d’utilisateurs, de modules ou de documents augmente.
Odoo ou Dolibarr : quel ERP choisir ?
Dolibarr est un ERP et CRM français plus léger, généralement simple à installer et à prendre en main. Il convient bien aux petites structures qui veulent gérer leurs clients, devis, factures, produits et interventions sans déployer une plateforme complexe.
Odoo adopte une approche plus intégrée et plus modulaire. Son interface, ses workflows et son catalogue de modules permettent de couvrir davantage de métiers dans un même système. Cette richesse implique une administration plus exigeante, davantage de RAM et un temps de configuration supérieur. Certaines fonctions importantes restent aussi liées à l’édition Enterprise.
En pratique, Dolibarr est souvent pertinent pour une petite organisation recherchant la simplicité. Odoo correspond mieux à une PME qui souhaite construire un système de gestion transversal et accompagner des processus plus élaborés.
Les principaux modules disponibles
Odoo fonctionne comme une suite d’applications. Les modules sont installés depuis l’interface d’administration en fonction des besoins réels de l’entreprise.
Parmi les domaines couverts figurent :
- le CRM pour suivre les prospects, opportunités et activités commerciales ;
- les ventes pour préparer les devis, confirmer les commandes et suivre les clients ;
- les achats pour gérer les fournisseurs et les demandes de prix ;
- l’inventaire pour organiser les produits, mouvements et entrepôts ;
- les projets pour planifier les tâches et coordonner les équipes ;
- les ressources humaines pour gérer certaines informations liées aux employés ;
- le site web et le commerce électronique ;
- le point de vente pour les activités disposant d’un comptoir ou d’une boutique.
Il est préférable de commencer avec un périmètre limité. Installer tous les modules dès le premier jour complique la configuration, les droits d’accès et la maintenance. Un déploiement progressif permet de valider chaque workflow avec les équipes concernées.
Prérequis pour auto-héberger Odoo
Pour un environnement professionnel, prévoyez un VPS disposant d’une bonne quantité de RAM, d’un stockage rapide et de sauvegardes externes. Les besoins exacts dépendent du nombre d’utilisateurs, des modules actifs, du volume de pièces jointes et de la fréquence des traitements automatisés.
Le serveur doit disposer au minimum de :
- Docker et du module Docker Compose (voir installer Docker sur un VPS) ;
- un nom de domaine ou sous-domaine dédié ;
- un enregistrement DNS pointant vers l’adresse du serveur ;
- PostgreSQL, ici exécuté dans un conteneur séparé ;
- un reverse proxy capable de fournir HTTPS ;
- un espace de sauvegarde distinct du VPS.
Aucun GPU n’est nécessaire. Les performances reposent surtout sur le processeur, la RAM, PostgreSQL et la rapidité du stockage. Les VPS TalCloud fournissent une infrastructure française avec stockage NVMe, protection Anti-DDoS Netrix, prise en compte du RGPD et support humain, à partir de 4,99 € par mois.
Déployer Odoo 17 avec Docker Compose
Créez un répertoire de travail contenant un dossier config. Placez ensuite le fichier compose.yaml suivant à la racine :
services:
db:
image: postgres:16
restart: unless-stopped
environment:
POSTGRES_DB: postgres
POSTGRES_USER: odoo
POSTGRES_PASSWORD: change-this-database-password
volumes:
- odoo-db-data:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U odoo -d postgres"]
interval: 10s
timeout: 5s
retries: 5
odoo:
image: odoo:17
restart: unless-stopped
depends_on:
db:
condition: service_healthy
environment:
HOST: db
USER: odoo
PASSWORD: change-this-database-password
ports:
- "127.0.0.1:8069:8069"
- "127.0.0.1:8072:8072"
volumes:
- odoo-web-data:/var/lib/odoo
- ./config:/etc/odoo
command: ["odoo", "--config=/etc/odoo/odoo.conf"]
volumes:
odoo-db-data:
odoo-web-data:
Remplacez le mot de passe PostgreSQL par une valeur longue et aléatoire, identique dans les deux services. PostgreSQL n’est pas publié sur l’interface réseau du serveur. Seul Odoo écoute localement, ce qui impose de passer par le reverse proxy.
Créez ensuite config/odoo.conf :
[options]
admin_passwd = replace-with-a-strong-master-password
db_host = db
db_port = 5432
db_user = odoo
db_password = change-this-database-password
proxy_mode = True
data_dir = /var/lib/odoo
Les deux secrets doivent être différents. Le paramètre admin_passwd protège les opérations de création, de sauvegarde et de suppression des bases Odoo. Il ne correspond pas au mot de passe du compte administrateur créé dans l’application.
Lancez les services et vérifiez leur état :
docker compose up -d
docker compose ps
docker compose logs -f odoo
Effectuer le premier accès
Une fois le reverse proxy configuré, ouvrez le domaine choisi. L’écran initial propose de créer une base de données. Saisissez le mot de passe maître défini dans admin_passwd, choisissez un nom de base explicite, puis créez le premier compte administrateur.
Sélectionnez le français comme langue et la France comme pays. Ces choix influencent les formats, les taxes proposées et certains paramètres de localisation. Ils ne garantissent cependant pas que l’instance réponde automatiquement à toutes les obligations françaises.
Les données de démonstration facilitent les tests et la formation, mais elles ne doivent pas être activées dans la base de production. Pour une évaluation, créez plutôt une base séparée que vous pourrez supprimer après validation.
Installez ensuite les premiers modules, puis renseignez la raison sociale, l’adresse, le numéro de TVA, la devise, le logo et les utilisateurs. Configurez les groupes et les droits selon les responsabilités réelles de chaque personne.
Facturation et conformité française
L’auto-hébergement d’Odoo Community ne garantit pas automatiquement la conformité de la facturation française. Comme avec Dolibarr ou Invoice Ninja, la présence de champs fiscaux, de modèles de facture ou d’une localisation française ne suffit pas à certifier l’ensemble du processus.
Il faut notamment vérifier la numérotation, les mentions obligatoires, la conservation des documents, les règles de TVA, les écritures attendues et les évolutions liées à la facturation électronique. Certaines capacités comptables avancées peuvent nécessiter Odoo Enterprise ou des modules complémentaires.
Faites valider la configuration et les procédures par un expert-comptable. Cette vérification doit intervenir avant l’utilisation en production, puis après toute modification importante des modules ou des workflows.
Activer HTTPS et le fonctionnement derrière un proxy
Le reverse proxy doit terminer la connexion HTTPS et transmettre les requêtes vers 127.0.0.1:8069. Il doit aussi envoyer les en-têtes indiquant le protocole et l’adresse d’origine. Le paramètre proxy_mode = True permet à Odoo de les interpréter correctement. Nginx Proxy Manager ou Traefik conviennent pour cette couche.
Pour les discussions, notifications en direct et fonctions interactives, prévoyez également le routage du chemin WebSocket ou de long polling vers le port 127.0.0.1:8072, selon la configuration utilisée. Sans cette règle, l’interface principale peut fonctionner tandis que le chat ou les notifications restent instables.
N’exposez jamais directement les ports 8069, 8072 ou 5432 sur Internet. Le pare-feu doit uniquement autoriser les ports nécessaires au reverse proxy et à l’administration sécurisée du serveur.
Sécuriser et sauvegarder l’ERP
Utilisez un mot de passe maître fort, des comptes nominatifs et des droits limités. Désactivez ou supprimez les bases de démonstration avant la mise en production. Appliquez régulièrement les mises à jour des images Odoo et PostgreSQL, après validation sur une instance de test.
Une sauvegarde complète doit contenir deux éléments indissociables : la base PostgreSQL et le filestore stocké dans le volume odoo-web-data. La base contient les données structurées, tandis que le filestore contient notamment les pièces jointes et certains documents.
Pour exporter une base nommée odoo_prod, utilisez :
docker compose exec -T db pg_dump -U odoo -Fc odoo_prod > odoo_prod.dump
Sauvegardez également le volume odoo-web-data avec une méthode adaptée à votre infrastructure. Conservez les copies sur un stockage externe, chiffrez-les et définissez une politique de rétention. Notre guide sur les sauvegardes chiffrées avec restic détaille l’automatisation. Enfin, testez périodiquement une restauration complète : une sauvegarde non restaurée reste une sauvegarde non vérifiée.