# StudioFlow — Infrastruktur ## Übersicht Dieses Verzeichnis enthält die Konfiguration für die lokale Entwicklung und das Deployment mittels Docker Compose. ## Dienste - **frontend:** Next.js UI (Port 3000) - **api:** NestJS REST API (Port 3001) - **worker:** NestJS BullMQ Consumer - **postgres:** PostgreSQL 16 (Port 5432) - **redis:** Redis 7 für Caching und Queues (Port 6379) ## Schnellstart (Server-Deployment) Images werden **nicht** auf dem Server gebaut — sie kommen fertig aus der Gitea Container Registry (`git.devils.zone/devil/youtube-studio-flow-{backend,frontend}`), gebaut per `scripts/build-and-push.sh` auf der Dev-Maschine. 1. `.env.example` kopieren: `cp .env.example .env` 2. Werte in `.env` anpassen (Secrets, Domain, Google API Keys, `IMAGE_TAG`). 3. Am Server einloggen: `docker login git.devils.zone` 4. Images ziehen: `docker compose pull` 5. Datenbank migrieren: `docker compose run --rm migrate` 6. Container starten: `docker compose up -d` Für ein Update auf eine neue Version: `IMAGE_TAG` in `.env` anpassen (oder `latest` belassen), dann Schritte 4–6 wiederholen. Das externe Docker-Netzwerk `proxy` muss vorher existieren (`docker network create proxy`), falls Traefik das nicht bereits selbst anlegt. ## Daten-Persistenz - PostgreSQL-Daten liegen im Volume `postgres_data`. - Redis-Daten liegen im Volume `redis_data`.