71 lines
2.1 KiB
YAML
71 lines
2.1 KiB
YAML
services:
|
|
# PostgreSQL Database
|
|
postgres:
|
|
image: postgres:17-alpine
|
|
restart: always
|
|
container_name: local-postgres
|
|
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=Development
|
|
# These should be replaced with real values or set in an .env file
|
|
- EnvironmentVariables__ApiUrl=https://sverok-api-url-here
|
|
- EnvironmentVariables__ApiKey=YOUR_SVEROK_API_KEY
|
|
- EnvironmentVariables__AssociationNumber=YOUR_ASSOCIATION_NUMBER
|
|
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=Development
|
|
- 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=YOUR_VBYTES_API_KEY
|
|
- VbytesRelay__ClientCertificatePfxPath=/app/certs/server.pfx
|
|
- Security__SsnPepper=YOUR_SSN_PEPPER
|
|
- 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:
|