# UAT: docker compose -p metric-flow-uat --env-file /opt/metric_flow/.env.uat up -d --build services: app: build: . restart: unless-stopped expose: - "4000" environment: DATABASE_URL: ${DATABASE_URL} SECRET_KEY_BASE: ${SECRET_KEY_BASE} PHX_HOST: ${PHX_HOST} PHX_SERVER: "true" CLOAK_KEY: ${CLOAK_KEY:-} SENTRY_DSN: ${SENTRY_DSN:-} ANTHROPIC_API_KEY: ${ANTHROPIC_API_KEY:-} RESEND_API_KEY: ${RESEND_API_KEY:-} AWS_ACCESS_KEY_ID: ${AWS_ACCESS_KEY_ID:-} AWS_SECRET_ACCESS_KEY: ${AWS_SECRET_ACCESS_KEY:-} GOOGLE_CLIENT_ID: ${GOOGLE_CLIENT_ID:-} GOOGLE_CLIENT_SECRET: ${GOOGLE_CLIENT_SECRET:-} GOOGLE_ADS_DEVELOPER_TOKEN: ${GOOGLE_ADS_DEVELOPER_TOKEN:-} GOOGLE_ADS_LOGIN_CUSTOMER_ID: ${GOOGLE_ADS_LOGIN_CUSTOMER_ID:-} GITHUB_CLIENT_ID: ${GITHUB_CLIENT_ID:-} GITHUB_CLIENT_SECRET: ${GITHUB_CLIENT_SECRET:-} FACEBOOK_APP_ID: ${FACEBOOK_APP_ID:-} FACEBOOK_APP_SECRET: ${FACEBOOK_APP_SECRET:-} QUICKBOOKS_CLIENT_ID: ${QUICKBOOKS_CLIENT_ID:-} QUICKBOOKS_CLIENT_SECRET: ${QUICKBOOKS_CLIENT_SECRET:-} QUICKBOOKS_API_URL: ${QUICKBOOKS_API_URL:-} OAUTH_BASE_URL: ${OAUTH_BASE_URL:-} healthcheck: test: ["CMD-SHELL", "curl -sf http://localhost:4000/health || exit 1"] interval: 10s timeout: 5s retries: 3 start_period: 30s networks: - caddy_proxy - db_net networks: caddy_proxy: external: true db_net: external: true