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
|
||||
15 MB Anfragegröße gedeckelt (Kestrel `MaxRequestBodySize`), einzelne Dateien clientseitig
|
||||
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