Étape 2 sur 5

Déclarer les services

Un fichier Compose décrit la relation entre Odoo, PostgreSQL et votre dossier d'addons. Le fichier est un plan ; la commande suivante créera les conteneurs.

1. Créez le fichier Compose

compose.yaml · racine du workspace Docker
services:
  db:
    image: postgres:16
    environment:
      POSTGRES_DB: postgres
      POSTGRES_USER: odoo
      POSTGRES_PASSWORD: remplacez-ce-secret-postgres-localement
    volumes:
      - odoo-db-data:/var/lib/postgresql/data
  odoo:
    image: odoo:19
    depends_on:
      - db
    ports:
      - "8069:8069"
    command:
      - "--"
      - "--admin-passwd=remplacez-ce-mot-de-passe-maitre-localement"
    environment:
      HOST: db
      USER: odoo
      PASSWORD: remplacez-ce-secret-postgres-localement
    volumes:
      - ./custom_addons:/mnt/extra-addons
      - odoo-data:/var/lib/odoo
volumes:
  odoo-db-data:
  odoo-data:

Dans cet exemple, POSTGRES_PASSWORD et PASSWORD sont le même mot de passe du rôle PostgreSQL utilisé par Odoo. La ligne --admin-passwd=... configure le mot de passe maître du gestionnaire de bases Odoo : c'est celui demandé pour créer ou supprimer une base. Enfin, l'utilisateur Odoo créé dans cette base aura son propre identifiant et son propre mot de passe. Remplacez les deux placeholders par des valeurs locales, ne les publiez pas et ne les commitez pas. Pour un atelier réel, utilisez un fichier d'environnement ou une configuration locale ignorée par Git.

2. Validez le plan

Terminal ou PowerShell · dossier de compose.yaml
docker compose config

À observer : Compose réaffiche une configuration valide sans erreur YAML. Il ne démarre encore aucun service.