version: '3.8' # Zentrale Insight-Updater-Instanz (Hub). Satelliten laufen beim Kunden, # nicht hier - siehe satellite/. services: backend: build: context: ./backend dockerfile: Dockerfile target: development container_name: insight-updater-backend environment: - APP_ENV=development - DATABASE_URL=sqlite+aiosqlite:///./data/app.db - SECRET_KEY=${SECRET_KEY:-dev-secret-change-me-32-chars-min} - JWT_ALGORITHM=RS256 - JWT_PRIVATE_KEY_PATH=/app/keys/private.pem - JWT_PUBLIC_KEY_PATH=/app/keys/public.pem - LDAP_ENABLED=false - LOG_LEVEL=DEBUG volumes: - ./backend:/app - ./data:/app/data - ./backend/keys:/app/keys:ro ports: - "8000:8000" healthcheck: test: ["CMD", "curl", "-f", "http://localhost:8000/health"] interval: 10s timeout: 5s retries: 5 start_period: 10s networks: - insight-updater-network frontend: build: context: ./frontend dockerfile: Dockerfile target: development container_name: insight-updater-frontend environment: - VITE_API_URL=http://localhost:8000 volumes: - ./frontend:/app - /app/node_modules ports: - "3000:3000" depends_on: - backend networks: - insight-updater-network # PostgreSQL (optional, fuer Produktion) # postgres: # image: postgres:16-alpine # container_name: insight-updater-postgres # environment: # - POSTGRES_DB=updater # - POSTGRES_USER=updater # - POSTGRES_PASSWORD=${POSTGRES_PASSWORD} # volumes: # - postgres-data:/var/lib/postgresql/data # networks: # - insight-updater-network networks: insight-updater-network: driver: bridge