version: '3.3' services: # Das Backend mit der Flask-App flask_app: build: . container_name: raceplanner_backend image: raceplaner:latest # Sorgt für eine saubere Anzeige in der Prozessliste restart: always volumes: - ./app:/app - ./data:/app/data environment: - SECRET_KEY=renn-strategie-2026-sicher - DATABASE_URL=sqlite:////app/data/raceplanner.db - PYTHONUNBUFFERED=1 # Der Nginx-Proxy für den externen Zugriff nginx: image: nginx:latest container_name: raceplanner_proxy restart: always ports: - "6060:443" # Externer Zugriff über Port 6060 volumes: - ./nginx/nginx.conf:/etc/nginx/conf.d/default.conf:ro - ./certs:/etc/nginx/certs # Automatisches Erstellen von Self-Signed Zertifikaten, falls keine vorhanden sind command: > /bin/bash -c " mkdir -p /etc/nginx/certs && if [ ! -f /etc/nginx/certs/fullchain.pem ]; then openssl req -x509 -nodes -days 365 -newkey rsa:2048 \ -keyout /etc/nginx/certs/privkey.pem \ -out /etc/nginx/certs/fullchain.pem \ -subj '/C=DE/ST=Berlin/L=Berlin/O=RaceTeam/CN=localhost'; fi && nginx -g 'daemon off;'" depends_on: - flask_app