docker: Dokploy-Deployment dokumentieren

Kurzanleitung ergänzt, wie die API über Dokploys Git-basiertes
Compose-Deployment ausgerollt wird (Repo-URL, Compose-Path,
JWT_SECRET als Env-Var, Domain/Port, Auto-Deploy-Webhook,
Nutzeranlage) – ersetzt den zunächst erwogenen manuellen
ZIP-Upload-Workaround.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-17 23:03:53 +02:00
co-authored by Claude Sonnet 5
parent 37f4fee574
commit e679be7e9d
+25
View File
@@ -51,3 +51,28 @@ Für regelmäßige Sicherung z. B. per Cron, einmal täglich nachts:
Endpunkte sind zusätzlich global auf 120 Anfragen pro Minute je IP begrenzt. Anhänge sind auf Endpunkte sind zusätzlich global auf 120 Anfragen pro Minute je IP begrenzt. Anhänge sind auf
15 MB Anfragegröße gedeckelt (Kestrel `MaxRequestBodySize`), einzelne Dateien clientseitig 15 MB Anfragegröße gedeckelt (Kestrel `MaxRequestBodySize`), einzelne Dateien clientseitig
zusätzlich auf 10 MB (`IAttachmentStorage.MaxSizeBytes`). zusätzlich auf 10 MB (`IAttachmentStorage.MaxSizeBytes`).
## Deployment über Dokploy
Kein manuelles Bauen/Hochladen nötig Dokploy zieht das Repo direkt per Git und baut das Image
selbst aus `docker/Dockerfile.api`.
1. Neue **Compose-Application** anlegen, Quelle „Git" (Custom Git Provider), Repo-URL
`https://git.science-teaching.de/admin/LehrerApp.git`, Branch `main`. Bei privatem Repo einen
SSH-Deploy-Key in Dokploy hinterlegen und im Git-Server eintragen.
2. **Compose Path**: `docker/docker-compose.yml`. Der Build-Context (`context: ..`) und das
Dockerfile sind darin bereits korrekt referenziert Dokploy checkt das ganze Repo aus, das
passt ohne Anpassung.
3. **Umgebungsvariable** `JWT_SECRET` im Dokploy-UI unter „Environment" setzen (nicht als `.env`
einchecken) wird als `${JWT_SECRET}` in die Compose-Datei injiziert, wie beim lokalen Start.
4. **Domain/Port**: Domain auf Container-Port `5000` mappen, HTTPS über Dokploys eingebauten
Reverse-Proxy aktivieren.
5. **Auto-Deploy**: Webhook-URL aus Dokploy als Push-Hook im Git-Server eintragen (falls
unterstützt, z. B. Gitea) dann löst jeder `git push` automatisch ein Rebuild aus.
6. **Nutzer anlegen** nach dem ersten Deploy: über Dokploys Terminal/Exec-Tab am laufenden
Container `dotnet LehrerApp.Api.dll create-user <name>` ausführen (siehe oben).
Der `./data`-Bind-Mount bleibt unverändert Dokploy hält das Checkout-Verzeichnis der
Compose-App über Redeploys hinweg stabil, `backup.sh` funktioniert damit unverändert weiter.
Nach dem ersten echten Deploy einmal gegenprüfen: Redeploy anstoßen und verifizieren, dass
Daten (z. B. ein testweise angelegter Nutzer) erhalten bleiben.