name: tenwholeyears-server services: postgres: image: postgres:17 restart: unless-stopped environment: POSTGRES_DB: recnet POSTGRES_USER: postgres POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} volumes: - recnet-postgres-data:/var/lib/postgresql/data healthcheck: test: ["CMD-SHELL", "pg_isready -U postgres -d recnet"] interval: 10s timeout: 5s retries: 10 migrationservice: image: ${REGISTRY_ENDPOINT:-git.recroomarchive.org}/${REGISTRY_REPOSITORY}/migrationservice:${IMAGE_TAG:-latest} restart: "no" environment: ConnectionStrings__recnet: Host=postgres;Port=5432;Database=recnet;Username=postgres;Password=${POSTGRES_PASSWORD} depends_on: postgres: condition: service_healthy api: image: ${REGISTRY_ENDPOINT:-git.recroomarchive.org}/${REGISTRY_REPOSITORY}/api:${IMAGE_TAG:-latest} restart: unless-stopped ports: - "${API_HTTP_PORT:-8080}:8080" environment: ASPNETCORE_HTTP_PORTS: 8080 ConnectionStrings__recnet: Host=postgres;Port=5432;Database=recnet;Username=postgres;Password=${POSTGRES_PASSWORD} Jwt__Secret: ${Jwt__Secret} Jwt__Issuer: ${Jwt__Issuer} Jwt__Audience: ${Jwt__Audience} Jwt__ExpiryMinutes: ${Jwt__ExpiryMinutes} Steam__ApiKey: ${Steam__ApiKey} Steam__AppId: ${Steam__AppId} Neutrino__ValidateSecret: ${Neutrino__ValidateSecret} Neutrino__Secret: ${Neutrino__Secret} RecNet__UseForwardedHeaders: ${RecNet__UseForwardedHeaders} depends_on: postgres: condition: service_healthy migrationservice: condition: service_completed_successfully volumes: recnet-postgres-data: