services: db: image: postgres:16 restart: unless-stopped environment: POSTGRES_DB: ${POSTGRES_DB:-postgres} POSTGRES_USER: ${POSTGRES_USER:-odoo} POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-changeme_db_2026} volumes: - db-data:/var/lib/postgresql/data healthcheck: test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER:-odoo}"] interval: 5s timeout: 5s retries: 20 odoo: image: odoo:${ODOO_VERSION:-19.0} restart: unless-stopped depends_on: db: condition: service_healthy ports: - "${HTTP_PORT:-8069}:8069" - "${LONGPOLLING_PORT:-8072}:8072" environment: HOST: db PORT: 5432 USER: ${POSTGRES_USER:-odoo} PASSWORD: ${POSTGRES_PASSWORD:-changeme_db_2026} volumes: - odoo-data:/var/lib/odoo - ./addons:/mnt/extra-addons/mc:ro - ./third_party:/mnt/extra-addons/oca:ro - ./odoo.conf:/etc/odoo/odoo.conf:ro command: ["odoo", "-c", "/etc/odoo/odoo.conf"] volumes: db-data: odoo-data: