name: odoo-build services: odoo: container_name: odoo image: "${CONTAINER_REGISTRY}/${CONTAINER_TAG}" depends_on: db: condition: service_healthy environment: HOST: db USER: odoo PASSWORD: odoo PORT: ${POSTGRES_PORT} PGHOST: db PGUSER: odoo PGPASSWORD: odoo PGPORT: ${POSTGRES_PORT} PGSSLMODE: ${PGSSLMODE} PGSSLROOTCERT: "/mnt/postgres-odoo/ca.crt" SMTP_SERVER: ${SMTP_SERVER} SMTP_PORT: ${SMTP_PORT} SMTP_SSL: ${SMTP_SSL} SMTP_USER: ${SMTP_USER} SMTP_PASSWORD: ${SMTP_PASSWORD} EMAIL_FROM: ${EMAIL_FROM} MAIL_BOUNCE_ALIAS: ${MAIL_BOUNCE_ALIAS} MAIL_CATCHALL_ALIAS: ${MAIL_CATCHALL_ALIAS} MAIL_CATCHALL_DOMAIN: ${MAIL_CATCHALL_DOMAIN} MAIL_DEFAULT_FROM: ${MAIL_DEFAULT_FROM} MAIL_ALIAS_DOMAIN: ${MAIL_ALIAS_DOMAIN} ODOO_MAIL_SMTP_HOST: ${ODOO_MAIL_SMTP_HOST} ODOO_MAIL_SMTP_PORT: ${ODOO_MAIL_SMTP_PORT} ODOO_MAIL_SMTP_ENCRYPTION: ${ODOO_MAIL_SMTP_ENCRYPTION} ODOO_MAIL_SMTP_FROM_FILTER: ${ODOO_MAIL_SMTP_FROM_FILTER} ODOO_MAIL_IMAP_HOST: ${ODOO_MAIL_IMAP_HOST} ODOO_MAIL_IMAP_PORT: ${ODOO_MAIL_IMAP_PORT} ODOO_MAIL_IMAP_SSL: ${ODOO_MAIL_IMAP_SSL} ODOO_MAIL_USERNAME: ${ODOO_MAIL_USERNAME} ODOO_MAIL_PASSWORD: ${ODOO_MAIL_PASSWORD} GIT_SSH_PUBLIC_KEY: ${GIT_SSH_PUBLIC_KEY} GIT_SSH_PRIVATE_KEY: ${GIT_SSH_PRIVATE_KEY} GITHUB_USERNAME: ${GITHUB_USERNAME} GITHUB_PERSONAL_ACCESS_TOKEN: ${GITHUB_PERSONAL_ACCESS_TOKEN} ADDONS_GIT_REPOS: ${ADDONS_GIT_REPOS} ODOO_ADDONS_PATH: ${ODOO_ADDONS_PATH} ODOO_DATABASE: "${ODOO_DATABASE}" ODOO_INIT_DEMO_DATA: "${ODOO_INIT_DEMO_DATA}" ODOO_INIT_LOGIN: ${ODOO_INIT_LOGIN} ODOO_INIT_PASSWORD: ${ODOO_INIT_PASSWORD} ODOO_INIT_LANG: ${ODOO_INIT_LANG} ODOO_INIT_ADDONS: ${ODOO_INIT_ADDONS} ENVIRONMENT: ${ENVIRONMENT} PYTHON_INSTALL: ${PYTHON_INSTALL} SERVER_WIDE_MODULES: ${SERVER_WIDE_MODULES} SESSION_DB_URI: ${SESSION_DB_URI} PROXY_MODE: ${PROXY_MODE} LOG_LEVEL: ${LOG_LEVEL} LIST_DB: ${LIST_DB} ADMIN_PASSWD: ${ADMIN_PASSWD} DBFILTER: ${DBFILTER} WORKERS: ${WORKERS} LIMIT_REQUEST: ${LIMIT_REQUEST} LIMIT_TIME_CPU: ${LIMIT_TIME_CPU} LIMIT_TIME_REAL: ${LIMIT_TIME_REAL} MODULE_AUTO_INSTALL_DISABLED: ${MODULE_AUTO_INSTALL_DISABLED} AUTO_UPDATE_MODULES: "${AUTO_UPDATE_MODULES}" TEST_ADDONS_DIR: ${TEST_ADDONS_DIR} TEST_INCLUDE: ${TEST_INCLUDE} TEST_EXCLUDE: ${TEST_EXCLUDE} AUTO_UPDATE_TRANSLATIONS: ${AUTO_UPDATE_TRANSLATIONS} ports: - "${ODOO_PORT}:${ODOO_PORT}" volumes: - odoo-data:/var/lib/odoo - ./tmp/postgres-odoo:/mnt/postgres-odoo - ./addons:/mnt/addons - ./oca:/mnt/oca - ./enterprise:/mnt/enterprise - ./themes:/mnt/themes - ./thirdparty:/mnt/thirdparty networks: - default admin: container_name: admin image: docker.io/dpage/pgadmin4:6 depends_on: - db ports: - "8000:80" environment: PGADMIN_DEFAULT_EMAIL: admin@example.com PGADMIN_DEFAULT_PASSWORD: admin volumes: - admin-data:/var/lib/pgadmin - ./servers.json:/pgadmin4/servers.json networks: - default db: container_name: db image: ${POSTGRES_IMAGE} ports: - "${POSTGRES_PORT}:${POSTGRES_PORT}" environment: POSTGRES_USER: odoo POSTGRES_PASSWORD: odoo POSTGRES_DB: "${ODOO_DATABASE}" PGDATA: /var/lib/postgresql/data/pgdata volumes: - db-data:/var/lib/postgresql/data/pgdata - ./tmp/postgres-odoo:/mnt/postgres-odoo/ command: [ "postgres", "-c", "ssl=${POSTGRES_SSL}", "-c", "ssl_cert_file=/mnt/postgres-odoo/server.crt", "-c", "ssl_key_file=/mnt/postgres-odoo/server.key", "-c", "ssl_ca_file=/mnt/postgres-odoo/ca.crt" ] networks: - default healthcheck: test: ["CMD-SHELL", "pg_isready -U odoo -d $ODOO_DATABASE"] interval: 5s timeout: 5s retries: 5 mailpit: image: docker.io/axllent/mailpit container_name: mailpit hostname: mailpit ports: - "1025:1025" - "8025:8025" networks: - default mailgate: image: mintsystem/odoo-mailgate container_name: mailgate hostname: mailgate ports: - "25:25" - "587:587" environment: ODOO_DATABASE: "${ODOO_DATABASE}" MAIL_ALIASES: "${MAIL_ALIASES}" networks: - default volumes: odoo-data: db-data: admin-data: mail-data: networks: default: name: odoo-build_default