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: