services: backend: build: context: . dockerfile: apps/backend/Dockerfile container_name: launchpad-backend restart: unless-stopped env_file: - path: ./.env required: false environment: - DATABASE_PATH=/data/launchpad.db - PORT=3001 - HOST=0.0.0.0 - NODE_ENV=production volumes: - launchpad-data:/data - ./apps/backend/plugins:/app/plugins:ro ports: - "3001:3001" frontend: build: context: . dockerfile: apps/frontend/Dockerfile container_name: launchpad-frontend restart: unless-stopped env_file: - path: ./.env required: false depends_on: - backend ports: - "8080:80" - "8443:443" volumes: # Lokale Root-CA + Server-Zertifikat, vom Container selbst erzeugt # (siehe apps/frontend/docker-entrypoint.sh). Als Volume, damit die CA # über Neustarts/Rebuilds stabil bleibt - einmal pro Gerät importiert # (https://:8080/ca.crt), reicht dauerhaft. - launchpad-certs:/etc/nginx/certs volumes: launchpad-data: name: launchpad-data launchpad-certs: name: launchpad-certs