Files
social-media/docker-compose.yml
Jonathan Bourdon 1ae3188d34
All checks were successful
deploy-socialize / image (push) Successful in 52s
deploy-socialize / deploy (push) Successful in 13s
chore: configure preprod email secrets
2026-05-06 15:24:17 -04:00

53 lines
1.7 KiB
YAML

services:
postgres:
image: postgres:latest
environment:
POSTGRES_USER: ${POSTGRES_USER:-sa}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:?POSTGRES_PASSWORD is required}
POSTGRES_DB: ${POSTGRES_DB:-socialize}
ports:
- "5433:5432"
healthcheck:
test: ["CMD-SHELL", "pg_isready -U sa -d socialize"]
interval: 5s
timeout: 5s
retries: 20
api:
build:
context: .
dockerfile: backend/src/Socialize.Api/Dockerfile
environment:
ASPNETCORE_ENVIRONMENT: ${ASPNETCORE_ENVIRONMENT:-Development}
ASPNETCORE_URLS: http://0.0.0.0:8080
ConnectionStrings__PostgresConnection: Host=postgres;Port=5432;Database=${POSTGRES_DB:-socialize};Username=${POSTGRES_USER:-sa};Password=${POSTGRES_PASSWORD:?POSTGRES_PASSWORD is required}
Website__FrontendBaseUrl: ${WEBSITE_FRONTEND_BASE_URL:-http://localhost:8080}
Emailer__ApiKey: ${RESEND_API_KEY:-}
Emailer__FromEmail: ${RESEND_FROM_EMAIL:-}
Authentication__Jwt__Issuer: ${JWT_ISSUER:-http://localhost:8080}
Authentication__Jwt__Audience: ${JWT_AUDIENCE:-socialize-local}
Authentication__Jwt__Key: ${JWT_SIGNING_KEY:-socialize-dev-local-signing-key-please-change}
Authentication__Jwt__Lifetime: ${JWT_LIFETIME:-00:05:00}
Authentication__Jwt__RefreshTokenLifetime: ${JWT_REFRESH_TOKEN_LIFETIME:-0.00:30:00}
depends_on:
postgres:
condition: service_healthy
expose:
- "8080"
volumes:
- api-blob-storage:/app/App_Data/blob-storage
web:
build:
context: .
dockerfile: frontend/Dockerfile
depends_on:
- api
ports:
- "8080:80"
volumes:
- ./deploy/caddy/Caddyfile:/etc/caddy/Caddyfile:ro
volumes:
api-blob-storage: