Kestrel's Hall moves into the kit and onto the shared host

The landing page was a static page in the blog, served by the Yunohost
box through an nginx drop-in and an SSOwat rule. It now lives in
gamehall/site beside family.json, is served by Caddy on the shared host
with the games (gamehall/gamehall.caddy), and publishes with
gamehall/deploy.sh. Its share image is its own, not the blog's.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Jm2auWk6RP71CjaAb4FMoG
This commit is contained in:
Eric Wagoner
2026-09-26 12:11:00 -04:00
co-authored by Claude Opus 5.5
parent a9c0f68cb1
commit 7268c3f1ae
18 changed files with 342 additions and 6 deletions
+21
View File
@@ -0,0 +1,21 @@
#!/usr/bin/env bash
# Publish Kestrel's Hall to the shared host: the page to /opt/gamehall and
# its Caddy site file beside the games'. Usage: gamehall/deploy.sh <host>
set -euo pipefail
HOST="${1:?usage: gamehall/deploy.sh <host>}"
HERE="$(cd "$(dirname "$0")" && pwd)"
rsync -az --delete "$HERE/site/" "root@$HOST:/opt/gamehall/"
scp -q "$HERE/gamehall.caddy" "root@$HOST:/etc/caddy/sites/gamehall.caddy"
ssh "root@$HOST" '
set -e
chown -R root:caddy /opt/gamehall
chmod -R g+rX /opt/gamehall
# Validating as root would create the access log as root; Caddy runs as caddy and must own it.
touch /var/lib/caddy/gamehall-access.log
chown caddy:caddy /var/lib/caddy/gamehall-access.log
caddy validate --config /etc/caddy/Caddyfile --adapter caddyfile >/dev/null 2>&1
chown caddy:caddy /var/lib/caddy/gamehall-access.log
systemctl reload caddy
'
echo "published."