Installer Odoo 19 dans Docker sur Ubuntu 24.04 : Guide complet (Communauté et Entreprise) | INTROSERV

Odoo 19 dans Docker : Guide d'installation complet pour Ubuntu 24.04 (Community & Enterprise)

Introduction

Le déploiement d'un système ERP semble souvent être une tâche intimidante, mais la conteneurisation transforme ce processus en un flux de travail rationalisé. Dans ce guide, nous verrons comment installer Odoo 19 sur une instance Ubuntu 24.04.

Le principal avantage de cette méthode est sa polyvalence. Nous définissons une architecture qui vous permet de commencer avec la version gratuite Community tout en conservant la possibilité de passer instantanément à Enterprise en copiant simplement des modules. Pas de configuration "à la volée" - juste une gestion propre des conteneurs et un SSL automatique via Caddy.

Pile technique (vérifiée) :

  • OS : Ubuntu 24.04 LTS (Comme il s'agit d'une installation Docker, la méthode s'applique également à d'autres distributions Linux)
  • Conteneurisation : Docker 29.1.5 + Docker Compose
  • Serveur web : Caddy (HTTPS automatique)
  • Base de données : PostgreSQL 18
  • Spécifications de la VM : 2 vCPU, 4 GB RAM, 40 GB NVMe

Etape 0 : Installer Docker

Installer Docker à partir du dépôt officiel :

curl -fsSL https://get.docker.com -o get-docker.sh sudo sh get-docker.sh

Ajoutez votre utilisateur au groupe Docker :

sudo usermod -aG docker $USER newgrp docker

Activez et démarrez Docker :

sudo systemctl enable docker sudo systemctl start docker

Vérifiez l'installation :

docker ps

Étape 1 : Mise en place de la structure du projet

Créez le répertoire de travail et les dossiers nécessaires :

mkdir odoo-stack && cd odoo-stack mkdir -p addons enterprise

Etape 2 : Créer docker-compose.yml

Créez un nouveau fichier Docker Compose :

nano docker-compose.yml

Collez la configuration suivante (remplacez odoo_secure_password dans les sections db environment et odoo environment par votre vrai mot de passe) :

YAML

services : db : image : postgres:18 environment : - POSTGRES_DB=postgres - POSTGRES_PASSWORD=odoo_secure_password - POSTGRES_USER=odoo - PGDATA=/var/lib/postgresql/data/pgdata volumes : - odoo-db-data:/var/lib/postgresql/data/pgdata restart : unless-stopped odoo : image : odoo:19.0 depends_on : - db volumes : - odoo-web-data:/var/lib/odoo - ./addons:/mnt/extra-addons - ./enterprise:/mnt/enterprise-addons environnement : - HOST=db - USER=odoo - PASSWORD=odoo_secure_password commande : > --addons-path=/usr/lib/python3/dist-packages/odoo/addons,/mnt/enterprise-addons,/mnt/extra-addons --proxy-mode restart : unless-stopped caddy : image : caddy:latest ports : - "80:80" - "443:443" volumes : - ./Caddyfile:/etc/caddy/Caddyfile - caddy-data:/data restart : unless-stopped volumes : odoo-web-data : odoo-db-data : caddy-data :

Etape 3 : Créer le fichier Caddy

Créez le fichier de configuration de Caddy :

nano Caddyfile

Collez la configuration ci-dessous (remplacez :80 par votre domaine pour le SSL automatique) :

# Remplacez :80 par VOTRE_DOMAINE pour le SSL automatique :80 { # Augmentez la taille maximale du corps du client pour les téléchargements de fichiers request_body { max_size 300MB } # Longpolling pour les chats et les notifications reverse_proxy /longpolling/* odoo :8072 { header_up X-Forwarded-Host {host} header_up X-Forwarded-Proto {scheme} } # Trafic principal reverse_proxy odoo:8069 { header_up X-Forwarded-Host {host} header_up X-Forwarded-Proto {scheme} } }

Étape 4 : Lancer la pile

Démarrez la pile :

docker compose up -d

Vérifier le statut (les 3 conteneurs doivent être "Up") :

docker compose ps

Vérifier les logs pour s'assurer qu'il n'y a pas d'erreur :

docker compose logs odoo

Étape 5 : Configuration initiale

Ouvrez votre navigateur et naviguez vers :

  • Via IP : http://YOUR_SERVER_IP
  • Via Domaine : https://YOUR_DOMAIN (si configuré dans le Caddyfile)

Remplissez le formulaire de création de base de données :

  • Mot de passe principal : un mot de passe principal vous sera proposé lors de la première connexion (enregistrez ce mot de passe, il est essentiel).
  • Nom de la base de données : par exemple, mycompany.
  • Courriel : Votre adresse électronique accessible (ce sera votre identifiant).
  • Mot de passe : Votre mot de passe de connexion au système.
  • Langue : Sélectionnez votre langue préférée.
  • Pays : Sélectionnez votre pays.
  • Données de démonstration : Ne pas cocher cette case pour obtenir une base de données de production propre.

Cliquez sur Créer une base de données et attendez la fin du processus (1 à 2 minutes).

Mise à niveau de Community à Enterprise

Pour passer de Community à Enterprise, il suffit de placer les modules dans le répertoire désigné.

Étape 1. Obtenir les modules Enterprise (via l'abonnement Odoo).

Étape 2. Extrayez-les dans le dossier ./enterprise/.

Etape 3. Redémarrez le conteneur :

docker compose restart odoo

Étape 4. Installez les modules Enterprise requis via l'interface utilisateur.
Aucune modification des fichiers de configuration n'est nécessaire - le chemin vers les modules d'entreprise est déjà préconfiguré.

Configuration du pare-feu

Si vous utilisez UFW, exécutez ce qui suit :

sudo ufw allow ssh/tcp && \N sudo ufw allow 80/tcp && \N sudo ufw allow 443/tcp && \N sudo ufw default deny incoming && \N sudo ufw default allow outgoing && \N sudo ufw --force enable

Commandes utiles

Arrêter tout :

docker compose down

Redémarrer Odoo uniquement :

docker compose restart odoo

Voir les logs :

docker compose logs -f odoo docker compose logs -f db docker compose logs -f caddy

Sauvegarde de la base de données :

docker compose exec db pg_dumpall -U odoo > backup_$(date +%Y%m%d).sql

Restauration de la base de données :

cat backup_20240125.sql | docker compose exec -T db psql -U odoo

Effacement complet (Attention !):

docker compose down -v rm -rf addons enterprise Caddyfile

Utilisation d'un nom de domaine

Pour obtenir un certificat SSL automatique de Let's Encrypt :

Étape 1. Configurez le DNS : Pointez un enregistrement A de VOTRE_DOMAINE vers l'IP de votre serveur.

Etape 2. Mettre à jour le fichier Caddy : Remplacez :80 par VOTRE_DOMAINE.

Etape 3. Redémarrez Caddy :

docker compose restart caddy

Caddy provisionnera automatiquement le certificat SSL.

Étape 4. Accédez à Odoo via https://YOUR_DOMAIN.

Vérifiez l'émission du certificat :

docker compose logs caddy | grep certificate


VAT

  • Other

    Other

    0%
  • austria

    Austria

    20%
  • Belgium

    Belgium

    21%
  • Bulgaria

    Bulgaria

    20%
  • Croatia

    Croatia

    25%
  • Cyprus

    Cyprus

    19%
  • Czech Republic

    Czech Republic

    21%
  • Denmark

    Denmark

    25%
  • Estonia

    Estonia

    22%
  • France

    France

    20%
  • Finland

    Finland

    24%
  • Germany

    Germany

    19%
  • Greece

    Greece

    24%
  • Hungary

    Hungary

    27%
  • Ireland

    Ireland

    23%
  • Italy

    Italy

    22%
  • Latvia

    Latvia

    21%
  • Lithuania

    Lithuania

    21%
  • Luxembourg

    Luxembourg

    17%
  • Malta

    Malta

    18%
  • Netherlands

    Netherlands

    21%
  • Poland

    Poland

    23%
  • Portugal

    Portugal

    23%
  • Romania

    Romania

    19%
  • Slovakia

    Slovakia

    20%
  • Slovenia

    Slovenia

    %
  • Spain

    Spain

    21%
  • Sweden

    Sweden

    25%
  • USA

    USA

    0%
european
states
  • Other
  • canada
  • poland
  • european-union
  • france
  • germany
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria