services: db: image: postgres:${ODOO_DB_VERSION:-15} container_name: odoo-db volumes: - ${ODOO_DB_PATH}:/var/lib/postgresql/data environment: - POSTGRES_DB=postgres - POSTGRES_USER=odoo - POSTGRES_PASSWORD=${ODOO_DB_PASSWORD:-odoo_db_password} healthcheck: test: ["CMD", "pg_isready", "-U", "odoo"] interval: 5s timeout: 5s retries: 5 start_period: 10s deploy: resources: limits: memory: 512m restart: unless-stopped app: image: odoo:${ODOO_APP_VERSION:-17} container_name: odoo-app depends_on: db: condition: service_healthy ports: - ${ODOO_PORT:-8069}:8069 volumes: - ${ODOO_DATA_PATH}:/var/lib/odoo - ${ODOO_CONFIG_PATH}:/etc/odoo - ${ODOO_ADDONS_PATH}:/mnt/extra-addons environment: - TZ=${ODOO_TZ:-America/Los_Angeles} - HOST=db - PORT=5432 - USER=odoo - PASSWORD=${ODOO_DB_PASSWORD:-odoo_db_password} healthcheck: test: ["CMD", "curl", "-f", "http://localhost:8069/web/health"] interval: 30s timeout: 5s retries: 3 start_period: 40s deploy: resources: limits: memory: 512m restart: unless-stopped