Installation d’Odoo 18 avec Docker sur Ubuntu en 2026
Ce document détaille la procédure pour déployer une instance d’Odoo 18 en utilisant Docker et Docker Compose sur un environnement Ubuntu.
1. Prérequis pour installer Odoo
Assurez-vous que les logiciels suivants sont installés sur votre système Ubuntu. L’image Docker officielle d’Odoo 18 nécessite Docker en version 20.10 ou supérieure et Docker Compose v2.0 ou supérieure (référence Docker Hub de l’image odoo).
A. Docker
Si Docker n’est pas installé, exécutez les commandes suivantes dans votre terminal :
Bash
sudo apt update
sudo apt install docker.io -y
sudo systemctl start docker
sudo systemctl enable docker
B. Docker Compose
Docker Compose est nécessaire pour gérer les conteneurs liés (Odoo et PostgreSQL). Si vous ne l’avez pas, installez-le avec la commande :
Bash
sudo apt install docker-compose -y
Vérifiez les versions installées avec docker --version et docker compose version. En dessous de Docker 20.10 ou de Compose v2.0, l’image odoo:18 n’est pas garantie de démarrer correctement.
2. Configuration du projet
Créez une structure de répertoire pour votre projet Odoo et les fichiers de configuration.
Bash
mkdir odoo-docker
cd odoo-docker
Créez un fichier de configuration Docker Compose nommé docker-compose.yml dans ce nouveau répertoire.
3. Fichier docker-compose.yml
Ce fichier définit les services, les ports, les volumes et les dépendances nécessaires pour Odoo et sa base de données. Pour Odoo 18, PostgreSQL 15 est la version recommandée : une version plus ancienne peut dégrader les performances de l’ORM et des recherches par domaine.
YAML
services:
web:
image: odoo:18
depends_on:
- db
ports:
- "8069:8069"
- "8072:8072"
volumes:
- odoo-web-data:/var/lib/odoo
db:
image: postgres:15
environment:
- POSTGRES_DB=postgres
- POSTGRES_USER=odoo
- POSTGRES_PASSWORD=odoo
volumes:
- postgres-data:/var/lib/postgresql/data
volumes:
postgres-data:
odoo-web-data:
Le port 8069 sert l’interface web classique d’Odoo. Le port 8072 correspond au longpolling (chat en temps réel, bus de notifications), activé via le paramètre gevent-port depuis Odoo 16. Si vous placez Odoo derrière un reverse proxy, veillez à router ces deux ports séparément : les confondre casse le chat et les notifications en direct.
Les deux volumes déclarés (postgres-data pour la base et odoo-web-data pour le filestore d’Odoo) sont indispensables : sans eux, un docker compose down -v ou une recréation de conteneur efface toutes vos données.
4. Déploiement
Naviguez dans le répertoire contenant votre fichier docker-compose.yml et lancez les conteneurs.
Bash
docker compose up -d
Cette commande télécharge les images Docker nécessaires (odoo:18 et postgres:15), crée et démarre les conteneurs en mode détaché (-d).
Vous pouvez vérifier l’état des conteneurs avec la commande :
Bash
docker compose ps
5. Accès et Configuration initiale
Une fois les conteneurs démarrés, Odoo est accessible via votre navigateur web.
- Adresse locale :
http://localhost:8069 - Adresse du serveur :
http://[adresse_ip_du_serveur]:8069
Lors du premier accès, vous serez redirigé vers la page de configuration de la base de données. Renseignez les informations requises pour initialiser votre instance Odoo.
6. Ce qui change en 2026 : dimensionnement et passage en production
La configuration ci-dessus convient pour un environnement de test (2 Go de RAM suffisent). Pour une installation de production, comptez au minimum 2 vCPU et 4 Go de RAM, et plutôt 4 vCPU et 8 Go de RAM pour une vingtaine d’utilisateurs simultanés. Chaque worker Odoo consomme entre 150 et 300 Mo de RAM : c’est ce chiffre qui doit guider le nombre de workers déclarés, pas une valeur arbitraire.
Par défaut, le conteneur Odoo tourne en mode mono-thread : sans le paramètre --workers, la concurrence reste très limitée dès quelques utilisateurs actifs en même temps. Si vous placez Odoo derrière un reverse proxy HTTPS (Nginx, Traefik), ajoutez également --proxy-mode : sans lui, la détection du schéma HTTPS et les redirections se comportent mal.
Odoo 18 supporte officiellement Python 3.10, 3.11 et 3.12, un point à vérifier si vous installez des modules tiers en dehors de l’image Docker officielle. Enfin, si votre projet nécessite les modules Enterprise (Studio, multi-sociétés, API étendue), sachez qu’en 2026 le plan Standard est facturé autour de 24,90 USD par utilisateur et par mois, et le plan Custom entre 37,40 et 61 USD selon les sources : un paramètre à intégrer dès le chiffrage du projet, avant même l’installation technique.

