

Plain static PWA, no build step in sight,
tar it, scp it,
nginx:alpine in the night.
Found the camper-trip
script,
read it twice, clone the shape,
change the name — boring,
clean, precise. Port 3012's claimed,
so I climb one higher,
three-oh-one-three, free and clear on the wire.
Four things it owns and nothing else
— container, files, Caddy block,
DNS. Write the remove script first or you're a fool,
every swamp needs a drain,
that's the rule.
IdentitiesOnly, dash F NUL!
Don't you wake the 1Password ghoul!
Append with tee — don't break the mount,
the inode is the only thing that counts!
BLAICH! Eighteen to twenty-eight!
Hop it to the edge and validate! (BLAICH!)
Bash tool choked — "Can't open user config NUL",
wrong shell, wrong slash,
PowerShell's the tool. Block appended.
Valid configuration. Caddy reloaded.
Cloudflare created the station.
Attempt one: five two five.
Attempt two: five two five.
ACME's grinding out the DNS-01,
twelve times knocking and the cert's not done...
five two five... five two five...
(tick tock
tick tock) Attempt thirteen —
HTTP TWO HUNDRED! august-blaich-trip
dot unfrogettable! Leaflet
vendored,
midges
in the assets, icebear PNGs and a summit and some boots
—
IT'S UP! IT'S UP!
IT'S LIVE ON THE POND!
(IT'S UP!)
No-store on the headers 'cause Cloudflare lies,
rewrites no-cache to four hours,
no surprise.
Synced the local Caddyfile so the copy tells the truth,
git add, one short line,
no body, no proof —
"add august-blaich-trip deploy", three-seven-seven-e.
One tiny alarm bell before I go:
sw.js is sitting in the tarball...
but nothing in the index registers it at all.
No service worker, no-store on every file
— offline mode is vapour.
Check it in a while.
Four things it owns
and nothing else, run the remove script and it vanishes itself.
Container, files, Caddy block,
DNS — tear it down clean,
leave no mess. BLAICH!
BLAICH! Two hundred on thirteen!
Cleanest little lily pad the pond
has ever seen! (BLAICH!) Idempotent...
idempotent... re-run it, re-run it,
nothing moves... idempotent...