# Achtung bei kuenftigen Aenderungen an POSTGRES_USER/DB oder dem Volume-Namen: # Ein anderer Volume-Name legt eine leere Datenbank an, ein anderer Benutzername # scheitert an einem bereits eingerichteten Volume. Solche Umbenennungen gehen # nur zusammen mit einem Datenumzug - oder auf einer leeren Installation. services: db: image: postgres:16-alpine restart: unless-stopped environment: POSTGRES_USER: ${POSTGRES_USER:-vorrania} POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-vorrania} POSTGRES_DB: ${POSTGRES_DB:-vorrania} volumes: - vorrania_db:/var/lib/postgresql/data healthcheck: test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER:-vorrania}"] interval: 5s timeout: 5s retries: 10 backend: build: ../backend restart: unless-stopped depends_on: db: condition: service_healthy # Die Single-Sign-on-Bloecke heissen je Anbieter anders (OIDC__...). # Einzeln aufzaehlen liesse sich das nur mit fest verdrahteten Kuerzeln – # genau das soll ein weiterer Anbieter aber NICHT erfordern. Deshalb die # ganze .env durchreichen; der environment-Block unten gewinnt bei # Namensgleichheit und behaelt die zusammengesetzte DATABASE_URL. env_file: - .env environment: DATABASE_URL: postgresql+psycopg2://${POSTGRES_USER:-vorrania}:${POSTGRES_PASSWORD:-vorrania}@db:5432/${POSTGRES_DB:-vorrania} JWT_SECRET: ${JWT_SECRET:-change-me} ADMIN_USERNAME: ${ADMIN_USERNAME:-admin} ADMIN_PASSWORD: ${ADMIN_PASSWORD:-changeme} CORS_ORIGINS: ${CORS_ORIGINS:-*} # Oeffentliche Adresse der Instanz – ohne sie kann der Server die # Rueckleit-Adresse fuer Single Sign-on nicht bilden. PUBLIC_BASE_URL: ${PUBLIC_BASE_URL:-} expose: - "8000" web: build: ../web restart: unless-stopped depends_on: - backend ports: - "${WEB_PORT:-8080}:80" volumes: vorrania_db: