docs(readme): add placeholder mode section

Documents the deploy-placeholder workflow trigger and the recovery
path back to the real site via deploy.yml.
This commit is contained in:
hsiegeln
2026-04-25 18:25:30 +02:00
parent 07abb101d4
commit 3773dcc1f8

View File

@@ -38,6 +38,12 @@ See `.env.example`. All are `PUBLIC_*` (build-time, embedded in HTML).
Rollback: trigger the deploy workflow on the previous `main` commit (Actions UI lets you pick a ref).
### Placeholder mode
To put the site into "back shortly" mode, trigger Gitea → **Actions → deploy-placeholder → Run workflow**. To bring the real site back, trigger **Actions → deploy → Run workflow** on the desired `main` commit. Both workflows share the `deploy-production` concurrency group, so they can never run simultaneously.
The placeholder is hand-authored static HTML in `placeholder/` and does NOT depend on `npm`/`astro build` — it is deliberately decoupled from the main build so it can ship even when that build is broken.
**Security headers** (HSTS, CSP, X-Frame-Options, etc.) are owned by **Cloudflare Transform Rules**, not by anything in this repo. Hetzner Webhosting L ignores file-based `.htaccess` (`AllowOverride None`), so origin-side header config is impossible from code. See `OPERATOR-CHECKLIST.md` §2.
See [`OPERATOR-CHECKLIST.md`](./OPERATOR-CHECKLIST.md) for the one-time Hetzner + Cloudflare setup.