--- services: tasknote-web: container_name: tasknote-web depends_on: tasknote-api: condition: service_healthy image: rmcampos/tasknote-app:latest build: context: ./client dockerfile: Dockerfile ports: ["5000:5000"] networks: - tasknote-network tasknote-api: container_name: tasknote-api depends_on: tasknote-db: condition: service_healthy environment: POSTGRES_DB: tasknote POSTGRES_HOST: tasknote-db POSTGRES_USER: tasknoteuser POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} POSTGRES_PORT: 5432 CORS_ALLOWED_ORIGINS: http://tasknote-web:5000, http://localhost:5000 SERVER_SERVLET_CONTEXT_PATH: / TARGET_ENV: production SECURITY_KEY: ${SECURITY_KEY} MAILGUN_APIKEY: ${MAILGUN_APIKEY} ports: ["8585:8585"] image: rmcampos/tasknote-api:latest healthcheck: test: ["CMD", "/layers/local_healthcheck/healthcheck/bin/healthcheck"] interval: 10s timeout: 5s retries: 3 start_period: 5s networks: - tasknote-network tasknote-db: container_name: tasknote-db image: postgres:16 environment: POSTGRES_DB: tasknote POSTGRES_USER: tasknoteuser POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} healthcheck: test: psql -q -U $${POSTGRES_USER} -d $${POSTGRES_DB} -c 'SELECT 1' interval: 1m30s timeout: 15s retries: 3 start_period: 10s networks: - tasknote-network networks: tasknote-network: external: true