version: '3' services: db: image: postgres hostname: ${DB_HOSTNAME} volumes: - postgres:/var/lib/postgresql/data environment: POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} POSTGRES_DB: ${POSTGRES_DB} tryton: build: context: ./ dockerfile: Dockerfile args: TRYTOND_VERSION: ${TRYTOND_VERSION} PYTHON_VERSION: ${PYTHON_VERSION} Provider: ${Provider} URL_MULTI_MIGRATE: ${URL_MULTI_MIGRATE} REPO_MULTI_MIGRATE: ${REPO_MULTI_MIGRATE} GITEA_DOMAIN: ${GITEA_DOMAIN} GITEA_USER: ${GITEA_USER} GITEA_PASSWORD: ${GITEA_PASSWORD} GITEA_ACCESS_TOKEN: ${GITEA_ACCESS_TOKEN} DIR_MODULES: ${DIR_MODULES} WORKER: ${WORKER} TRYTONPASSFILE: ${TRYTONPASSFILE} SMTP: ${SMTP} SMTP_TYPE: ${SMTP_TYPE} SMTP_USER: ${SMTP_USER} SMTP_PASSWORD: ${SMTP_PASSWORD} SMTP_DOMAIN: ${SMTP_DOMAIN} SMTP_PORT: ${SMTP_PORT} SMTP_FROM: ${SMTP_FROM} SMTP_EMAIL: ${SMTP_EMAIL} image: tryton/${POSTGRES_DB}:${TRYTOND_VERSION} healthcheck: test: curl --fail localhost:8000 || exit 1 interval: 30s retries: 5 start_period: 30s timeout: 20s ports: - "${TRYTON_PORT:-8000}:8000" volumes: - modules:${DIR_MODULES} - var:/var - attachment:/mnt/attachment depends_on: - db env_file: - .env nginx: image: nginx:1.23.3 restart: unless-stopped volumes: - ./nginx.conf:/etc/nginx/conf.d/nginx.conf.template ports: - "${NGINX_PORT:-10000}:${NGINX_PORT:-10000}" env_file: - .env depends_on: - tryton command: /bin/bash -c "envsubst < /etc/nginx/conf.d/nginx.conf.template > /etc/nginx/conf.d/default.conf && nginx -g 'daemon off;'" tryton_worker: image: tryton/${POSTGRES_DB}:${TRYTOND_VERSION} depends_on: tryton: condition: service_healthy entrypoint: [ "bash", "-c", "/entrypoint.sh trytond-worker -c /etc/trytond.conf -d ${POSTGRES_DB} --logconf /etc/trytond_worker_logging.conf"] env_file: - .env tryton_cron: image: tryton/${POSTGRES_DB}:${TRYTOND_VERSION} depends_on: tryton: condition: service_healthy entrypoint: [ "bash", "-c", "/entrypoint.sh trytond-cron -c /etc/trytond.conf -d ${POSTGRES_DB} --logconf /etc/trytond_cron_logging.conf"] env_file: - .env volumes: modules: var: postgres: attachment: