vbytes-lan-registration/docker-compose.yml
2026-05-26 13:29:19 +02:00

75 lines
2.1 KiB
YAML

services:
# PostgreSQL Database
postgres:
image: postgres:17-alpine
restart: always
container_name: local-postgres
ports:
- "5432:5432"
environment:
POSTGRES_PASSWORD: postgres
POSTGRES_USER: postgres
POSTGRES_DB: postgres
volumes:
- postgres_data:/var/lib/postgresql/data
# Auth API - Internal member validation service
auth-api:
build:
context: ./src/Auth
dockerfile: ./AuthAPI/Dockerfile
container_name: auth-api
restart: unless-stopped
# No ports exposed externally
environment:
- ASPNETCORE_ENVIRONMENT=Production
# These should be replaced with real values or set in an .env file
- EnvironmentVariables__ApiUrl=""
- EnvironmentVariables__ApiKey=""
- EnvironmentVariables__AssociationNumber=""
depends_on:
- postgres
# Registration API - Core backend service
registration-api:
build:
context: ./src/Registration
dockerfile: ./Registration.API/Dockerfile
container_name: registration-api
restart: unless-stopped
# No ports exposed externally
environment:
- ASPNETCORE_ENVIRONMENT=Production
- ConnectionStrings__DefaultConnection=Host=postgres;Username=postgres;Password=postgres;Database=postgres;Port=5432
- AuthApi__BaseUrl=http://auth-api:8080
- VbytesRelay__BaseUrl=https://api.lan.vbytes.se
- VbytesRelay__ApiKey=""
- VbytesRelay__ClientCertificatePfxPath=""
- Security__SsnPepper=""
- VbytesRelay__VolunteerRegisterPath=/api/volunteer
- VbytesRelay__ParticipantRegisterPath=/api/participant
- Admin__Password=admin
volumes:
- ./server.pfx:/app/certs/server.pfx:ro
depends_on:
- postgres
- auth-api
# Web Frontend - User interface
lan-frontend:
build:
context: ./src/Web/lan-frontend
dockerfile: Dockerfile
args:
- REGISTRATION_API_URL=http://registration-api:8080
container_name: lan-frontend
restart: always
ports:
- "5000:3000"
environment:
- REGISTRATION_API_URL=http://registration-api:8080
depends_on:
- registration-api
volumes:
postgres_data: