Files
social-media/deploy/compose.yml
Jonathan Bourdon ef323c291f
All checks were successful
deploy-socialize / image (push) Successful in 28s
deploy-socialize / deploy (push) Successful in 15s
chore(cd): hardening of env settings
2026-05-06 21:25:11 -04:00

62 lines
1.8 KiB
YAML

services:
db:
image: postgres:16
restart: unless-stopped
env_file:
- /etc/socialize/socialize.env
- .deploy.env
environment:
POSTGRES_DB: ${POSTGRES_DB}
POSTGRES_USER: ${POSTGRES_USER}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
volumes:
- ./postgres:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER} -d ${POSTGRES_DB}"]
interval: 5s
timeout: 5s
retries: 20
networks:
- internal
api:
image: git.mapachotes.com/jbourdon/socialize-api:${SOCIALIZE_IMAGE_TAG}
restart: unless-stopped
env_file:
- /etc/socialize/socialize.env
- .deploy.env
environment:
ASPNETCORE_ENVIRONMENT: ${ASPNETCORE_ENVIRONMENT}
ASPNETCORE_URLS: ${ASPNETCORE_URLS}
ConnectionStrings__PostgresConnection: Host=${POSTGRES_HOST};Port=${POSTGRES_PORT};Database=${POSTGRES_DB};Username=${POSTGRES_USER};Password=${POSTGRES_PASSWORD}
Website__FrontendBaseUrl: ${WEBSITE_FRONTEND_BASE_URL}
Emailer__ApiKey: ${RESEND_API_KEY}
Emailer__FromEmail: ${RESEND_FROM_EMAIL}
Authentication__Jwt__Issuer: ${JWT_ISSUER}
Authentication__Jwt__Audience: ${JWT_AUDIENCE}
Authentication__Jwt__Key: ${JWT_SIGNING_KEY}
Authentication__Jwt__Lifetime: ${JWT_LIFETIME}
Authentication__Jwt__RefreshTokenLifetime: ${JWT_REFRESH_TOKEN_LIFETIME}
depends_on:
db:
condition: service_healthy
volumes:
- ./blob-storage:/app/App_Data/blob-storage
expose:
- "8080"
networks:
- internal
web:
image: git.mapachotes.com/jbourdon/socialize-web:${SOCIALIZE_IMAGE_TAG}
restart: unless-stopped
depends_on:
- api
ports:
- "127.0.0.1:8080:80"
networks:
- internal
networks:
internal: