# Deployment & CI/CD Guide ## 1. Gitea Actions Workflow Bei einem Push auf den `main`-Branch oder einem Release-Tag führt der Gitea-Runner automatisiert folgende Schritte auf dem Zielserver aus: 1. Code-Update via `git pull`. 2. Erstellen/Aktualisieren der Docker-Images. 3. Zero-Downtime Restart der Container via Docker Compose. --- ## 2. Docker Setup Das System läuft in einem schlanken Gunicorn-Container hinter einem Reverse Proxy. ### `docker-compose.yml` (Auszug) ```yaml version: '3.8' services: web: build: . restart: always env_file: - .env ports: - "8000:8000" volumes: - sqlite_data:/app/data volumes: sqlite_data: ```