services: odoo: build: context: ./ dockerfile: ./odoo/Dockerfile args: - ODOO_TAG - ODOO_RC - ROOT_PATH - GITHUB_USER - GITHUB_ACCESS_TOKEN - ENTERPRISE_ADDONS - THIRD_PARTY_ADDONS - LOG_PATH depends_on: - postgres tty: true volumes: - odoo-data:${DATA_DIR} - ./odoo/extra-addons:${EXTRA_ADDONS} - ./odoo/custom-addons:${CUSTOM_ADDONS} - ./odoo/entrypoint.sh:/entrypoint.sh environment: - HOST=${DB_HOST} - PORT=${DB_PORT} - USER=${DB_USER} - PASSWORD=${DB_PASSWORD} - ODOO_TAG - THIRD_PARTY_ADDONS - ODOO_SESSION_REDIS - ODOO_SESSION_REDIS_HOST - ODOO_SESSION_REDIS_PORT - ODOO_SESSION_REDIS_PASSWORD - ODOO_SESSION_REDIS_URL - ODOO_SESSION_REDIS_PREFIX - ODOO_SESSION_REDIS_EXPIRATION - ODOO_SESSION_REDIS_EXPIRATION_ANONYMOUS - AWS_HOST - AWS_REGION - AWS_ACCESS_KEY_ID - AWS_SECRET_ACCESS_KEY - AWS_BUCKETNAME networks: - internal postgres: build: context: ./ dockerfile: ./postgres/Dockerfile args: - POSTGRES_TAG restart: unless-stopped tty: true volumes: - pg-data:${PGDATA} - ./postgres/entrypoint.sh:/docker-entrypoint-initdb.d/entrypoint.sh environment: - POSTGRES_DB - POSTGRES_USER - POSTGRES_PASSWORD - PGDATA - DB_USER - DB_TEMPLATE - UNACCENT_TEMPLATE - PGADMING_DB_NAME - PGADMING_DB_USER - PGADMIN_DB_PASSWORD networks: - internal redis: image: eqalpha/keydb:${REDIS_TAG} platform: linux/amd64 ports: - ${REDIS_PORT}:${REDIS_PORT} restart: unless-stopped volumes: - redis-data:${REDIS_DATA} networks: - internal s3: image: minio/minio:${S3_TAG} environment: - MINIO_ROOT_USER - MINIO_ROOT_PASSWORD - MINIO_BROWSER_REDIRECT_URL - VIRTUAL_HOST=${MINIO_VIRTUAL_HOST} - VIRTUAL_PORT=${MINIO_CONSOLE_PORT} command: server ${MINIO_DATA} --console-address ":${MINIO_CONSOLE_PORT}" volumes: - s3-data:${MINIO_DATA} ports: - ${MINIO_API_PORT}:${MINIO_API_PORT} - ${MINIO_CONSOLE_PORT}:${MINIO_CONSOLE_PORT} networks: - internal nginx: image: nginx:${NGINX_TAG} depends_on: - odoo restart: unless-stopped tty: true expose: - 80/tcp volumes: - ./nginx/nginx.conf:${NGINX_CONF} - ./nginx/default.conf:${NGINX_DEFAULT_CONF} environment: - VIRTUAL_HOST - LETSENCRYPT_HOST - LETSENCRYPT_EMAIL - CORS_ALLOWED_DOMAIN networks: - internal nginx-proxy: image: nginxproxy/nginx-proxy:${NGINX_PROXY_TAG} depends_on: - nginx restart: unless-stopped tty: true volumes: - ./nginx-proxy/nginx.conf:${NGINX_CONF} - ./nginx-proxy/cors.conf:${NGINX_PROXY_CORS_CONF} - certs:${NGINX_CERTS}:ro - vhost:${NGINX_VHOST} - html:${NGINX_HTML} - ${DOCKER_SOCK}:${TEMP_DOCKER_SOCK}:ro environment: - TRUST_DOWNSTREAM_PROXY - CORS_ALLOWED_DOMAIN networks: - internal volumes: odoo-data: pg-data: redis-data: s3-data: certs: vhost: html: networks: internal: driver: bridge