3 Commits

Author SHA1 Message Date
2d024a7f54 Deploy gegen fehlendes Secret und Crash-Schleife absichern
All checks were successful
Build & Deploy / deploy (push) Successful in 2m38s
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 <noreply@anthropic.com>
v1.0.0
2026-08-20 18:58:45 +02:00
f6490aa292 Checkout ueber die interne Gitea-Adresse klonen
Der Weg vom Job-Container zur oeffentlichen Domain ist auf dem VPS zu:
Gitea laeuft auf demselben Host, das Paket geht an die oeffentliche IP
und findet nicht zurueck (NAT-Hairpin). Der Umweg ueber host-gateway
scheitert zusaetzlich an der Firewall (curl: Connection timed out).

actions/checkout bekommt daher github-server-url auf die interne Adresse.
Der Job-Container haengt im Netz gitea-ci und erreicht Gitea dort unter
seinem Containernamen.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-20 18:54:56 +02:00
45d881f9a9 busyfeed: Initial commit mit Tag-Deployment
Bestehende App plus Gitea-Actions-Pipeline: Tag v* loest Build, Tests
und Container-Neustart auf dem VPS aus.

- .gitea/workflows/deploy.yml: npm ci/build/test als Gate, danach
  docker compose up -d --build. Die .env wird aus dem Repo-Secret DOTENV
  erzeugt, damit auf dem Host keine Secret-Datei gepflegt werden muss.
- docker-compose.yml: fester Projektname (der CI-Job hat ein anderes
  Arbeitsverzeichnis als der Host), Image mit Versionstag fuer Rollback,
  fester Volume-Name.
- README: Deployment- und Rollback-Abschnitt, Token-Rotation angepasst.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-19 19:56:54 +02:00