86 lines
2.6 KiB
YAML
86 lines
2.6 KiB
YAML
name: weathertool-uat
|
|
|
|
services:
|
|
postgres:
|
|
image: postgres:16.1
|
|
restart: unless-stopped
|
|
environment:
|
|
POSTGRES_DB: ${POSTGRES_DB:?set POSTGRES_DB in .env.staging}
|
|
POSTGRES_USER: ${POSTGRES_USER:?set POSTGRES_USER in .env.staging}
|
|
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:?set POSTGRES_PASSWORD in .env.staging}
|
|
volumes:
|
|
- ./data/postgres:/var/lib/postgresql/data
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "pg_isready -U $${POSTGRES_USER} -d $${POSTGRES_DB}"]
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 10
|
|
networks:
|
|
- backend
|
|
security_opt:
|
|
- no-new-privileges:true
|
|
|
|
app:
|
|
image: ${WEATHERTOOL_IMAGE:?set WEATHERTOOL_IMAGE in .env.staging}
|
|
restart: unless-stopped
|
|
depends_on:
|
|
postgres:
|
|
condition: service_healthy
|
|
environment:
|
|
POSTGRES_DB: ${POSTGRES_DB}
|
|
POSTGRES_USER: ${POSTGRES_USER}
|
|
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
|
|
POSTGRES_HOST: postgres
|
|
ENABLE_SCHEDULED_JOBS: "false"
|
|
DEBUG: "false"
|
|
# Provider services are currently constructed at startup even with jobs
|
|
# disabled, so inert values are required for synthetic-data UAT.
|
|
METEO_USER: disabled
|
|
METEO_PASSWORD: disabled
|
|
METEO_URL: https://invalid.local/
|
|
LVGMC_USER: disabled
|
|
LVGMC_PASSWORD: disabled
|
|
LVGMC_URL: https://invalid.local/
|
|
HARMONIE_EDR_API_KEY: disabled
|
|
HARMONIE_EDR_URL: https://invalid.local/
|
|
HARMONIE_STAC_API_KEY: disabled
|
|
HARMONIE_STAC_URL: https://invalid.local/
|
|
ports:
|
|
- "127.0.0.1:${WEATHERTOOL_PORT:-8002}:8080"
|
|
read_only: true
|
|
tmpfs:
|
|
- /tmp:size=64m,mode=1777
|
|
- /app/data:size=256m,mode=0770,uid=100,gid=101
|
|
networks:
|
|
- backend
|
|
- edge
|
|
security_opt:
|
|
- no-new-privileges:true
|
|
|
|
authelia:
|
|
image: authelia/authelia:4.39.20
|
|
restart: unless-stopped
|
|
environment:
|
|
AUTHELIA_IDENTITY_VALIDATION_RESET_PASSWORD_JWT_SECRET_FILE: /run/secrets/jwt_secret
|
|
AUTHELIA_SESSION_SECRET_FILE: /run/secrets/session_secret
|
|
AUTHELIA_STORAGE_ENCRYPTION_KEY_FILE: /run/secrets/storage_encryption_key
|
|
ports:
|
|
- "127.0.0.1:${AUTHELIA_PORT:-9091}:9091"
|
|
volumes:
|
|
- ./config/authelia:/config:ro
|
|
- ./data/authelia:/var/lib/authelia
|
|
- ./secrets/jwt_secret:/run/secrets/jwt_secret:ro
|
|
- ./secrets/session_secret:/run/secrets/session_secret:ro
|
|
- ./secrets/storage_encryption_key:/run/secrets/storage_encryption_key:ro
|
|
networks:
|
|
- edge
|
|
security_opt:
|
|
- no-new-privileges:true
|
|
|
|
networks:
|
|
backend:
|
|
driver: bridge
|
|
internal: true
|
|
edge:
|
|
driver: bridge
|