Files
youtube-studio-flow/infrastructure/README.md
T
devil ba8c7185a7 fix(infrastructure): use the actual Traefik network name (proxy)
The external network on the target server is named "proxy", not
traefik-network as originally assumed - deploy was failing with
"network traefik-network not found". Updated the compose file and
both the infra README and vault deployment doc to match.
2026-08-11 15:43:06 +02:00

34 lines
1.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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 46 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`.