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:
@@ -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.
|
||||||
|
|||||||
Reference in New Issue
Block a user