From 2d024a7f54fc986475647521f74d7aa7f318f5ca Mon Sep 17 00:00:00 2001 From: Lucas Orth Date: Thu, 20 Aug 2026 18:58:45 +0200 Subject: [PATCH] Deploy gegen fehlendes Secret und Crash-Schleife absichern Zwei Faelle, in denen der Lauf gruen geworden waere, obwohl nichts laeuft: - Ist das Secret DOTENV nicht gesetzt, entstand eine leere .env. Der Server wirft dann beim Start (requireEnv), der Container startet endlos neu - der Workflow haette das nicht gemerkt. Jetzt bricht der Schritt vorher ab. - "docker compose up -d" kehrt zurueck, sobald der Container erzeugt ist, nicht wenn er laeuft. Mit --wait wird der vorhandene Healthcheck zum Gate; --wait-timeout 180, weil das erste Health-Ergebnis beim Intervall von 60s entsprechend spaet kommt. Co-Authored-By: Claude Opus 5 --- .gitea/workflows/deploy.yml | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml index 3d13abf..ea398a3 100644 --- a/.gitea/workflows/deploy.yml +++ b/.gitea/workflows/deploy.yml @@ -39,11 +39,18 @@ jobs: env: DOTENV: ${{ secrets.DOTENV }} run: | + if [ -z "$DOTENV" ]; then + echo "Secret DOTENV ist leer oder nicht gesetzt." + exit 1 + fi umask 077 echo "$DOTENV" > .env + # --wait: bricht ab, wenn der Container nicht healthy wird. Ohne das + # waere der Lauf gruen, obwohl der Container in einer Crash-Schleife + # haengt - z. B. weil ein Wert in .env fehlt. - name: Deployen - run: docker compose up -d --build --remove-orphans + run: docker compose up -d --build --remove-orphans --wait --wait-timeout 180 - name: Alte Layer aufraeumen run: docker image prune -f