version: '3.8' services: postgres: image: postgres:15-alpine container_name: odoo_postgres environment: POSTGRES_DB: odoo POSTGRES_USER: odoo POSTGRES_PASSWORD: odoo volumes: - postgres_data:/var/lib/postgresql/data ports: - "5432:5432" healthcheck: test: ["CMD-SHELL", "pg_isready -U odoo"] interval: 10s timeout: 5s retries: 5 odoo: image: odoo:18 container_name: odoo_app depends_on: postgres: condition: service_healthy environment: HOST: postgres USER: odoo PASSWORD: odoo DB_NAME: odoo ports: - "8069:8069" - "8072:8072" volumes: - odoo_data:/var/lib/odoo - odoo_config:/etc/odoo - ./odoo-extra-addons:/mnt/extra-addons # Install all modules on startup command: > odoo --addons-path=/mnt/extra-addons,/usr/lib/python3/dist-packages/odoo/addons healthcheck: test: ["CMD", "curl", "-f", "http://localhost:8069/web/health"] interval: 30s timeout: 10s retries: 5 pgadmin: image: dpage/pgadmin4:latest container_name: odoo_pgadmin environment: PGADMIN_DEFAULT_EMAIL: admin@example.com PGADMIN_DEFAULT_PASSWORD: admin ports: - "5050:80" depends_on: - postgres volumes: postgres_data: odoo_data: odoo_config: