Portalen blev udrullet ved at kopiere filer ind i drift, og drift og git gled
fra hinanden. Nu er appmappen i drift en git-checkout, og et v*-tag udruller
via Gitea Actions: CD logger ind som deploy-brugeren og kører
deploy/deploy.sh fra tagget. Scriptet afbryder hvis drift afviger fra git,
installerer requirements kun når de er ændret, og ruller tilbage hvis
/healthz ikke svarer efter genstart. Værtsadressen ligger i en repo-variabel.
CI kompilerer Python, parser alle templates og tjekker deploy.sh.
Claude-Session: https://claude.ai/code/session_012LCTmU2ewo8tnM1dByYAoG