Repository navigation
Replatform Phase 7 — Hosting - #73
Merged
Th3FenrisWolf merged 3 commits intoSep 30, 2026
Merged
Conversation
Th3FenrisWolf
added this pull request to stack #75
September 30, 2026 22:07
Trusts forwarded headers from the tunnel alone, runs in production mode with the Vite manifest, and builds the images the compose stack runs.
Backs up to a bucket and restores into fresh volumes, deploys by pull from GHCR on systemd timers, builds, smoke-tests and pushes the images in CI, and keeps dependencies current with Dependabot.
Also protects the main tags, lints the deploy scripts, applies the final review's fixes and records where the phase departs from its plan.
Th3FenrisWolf
force-pushed
the
replatform/phase-7-hosting
branch
from
September 30, 2026 22:21
1239150 to
9f40e3b
Compare
2 tasks
Th3FenrisWolf
added a commit
that referenced
this pull request
Oct 7, 2026
* feat: run the site in containers behind the tunnel Trusts forwarded headers from the tunnel alone, runs in production mode with the Vite manifest, and builds the images the compose stack runs. * feat: back up, deploy and publish the images from ci Backs up to a bucket and restores into fresh volumes, deploys by pull from GHCR on systemd timers, builds, smoke-tests and pushes the images in CI, and keeps dependencies current with Dependabot. * docs: write the hosting runbook and close phase 7 Also protects the main tags, lints the deploy scripts, applies the final review's fixes and records where the phase departs from its plan.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Hosts Kitchen Command Center on a Raspberry Pi 5 behind a Cloudflare Tunnel: replatform Phase 7 (plan; spec §13).
deploy/compose.yamlruns them read-only, with cloudflared as the only way in.deploy/smoke-test.shchecks the site, the trust boundary and a backup restored into fresh volumes.deploy/deploy.sh), and backs up nightly to R2. The steps are indocs/hosting/runbook.md.imagesjob builds and smoke-tests the images on an arm64 runner, and pushes them to private GHCR packages onmain. Dependabot keeps NuGet, npm, the base images and the actions current.kill;kcc-backuprefuses a database that is missing, empty, corrupt or without Umbraco's schema (backups, restores and rollbacks alike), and fails the night (deleting the upload) whentarfails;deploy.shrecords the last deployed commit inrefs/kcc/deployed, fails loudly while a service is stopped or unhealthy, and snapshots only while the app is running and not unhealthy; theimagesjob moves themaintags only after every commit tag is up, never cancels a run onmain, and never movesmainback, andbuild-and-testshellchecks the deploy scripts. The runbook and the spec (§6.5, §13.2 to §13.4, §13.7, §15) describe what was built.Test plan: the combined suite is green (unit 232, integration 260, E2E 41, Vitest 796: 769 web plus its 2 expected failures, 17 admin and 8 contributions); the images build and the smoke test passes locally. CI's
imagesjob runs once this pull request targetsmain.Still to do, by the owner: