Deploy web Studio / deploy (push) Successful in 3m14s
Gitea Actions workflow builds dist/web (rustup + wasm32 target, prebuilt wasm-bindgen CLI at the Cargo.lock version, tools/build_web.py) and publishes it to /var/www/isokit.buildfor.life on s1 with the blog's two-directory rename swap and the same VPS_* secrets as cnx_vinyl. deploy/Caddyfile mirrors the vhost applied on s1 (no-cache so the unversioned wasm glue never goes stale at Cloudflare).
26 lines
1.0 KiB
Caddyfile
26 lines
1.0 KiB
Caddyfile
# isokit.buildfor.life: the web Studio on the buildfor.life web server (s1).
|
|
# Static web root /var/www/isokit.buildfor.life, filled by
|
|
# .gitea/workflows/deploy-web.yml (tools/build_web.py -> dist/web).
|
|
#
|
|
# Append this block to /etc/caddy/Caddyfile on s1, then
|
|
# runuser -u caddy -- caddy validate --config /etc/caddy/Caddyfile --adapter caddyfile
|
|
# systemctl reload caddy
|
|
# This file mirrors what s1 runs; keep the two in step.
|
|
#
|
|
# DNS: *.buildfor.life is a proxied wildcard at Cloudflare that reaches s1,
|
|
# so the name needs no record of its own. Caddy gets its certificate itself.
|
|
|
|
isokit.buildfor.life {
|
|
header X-Frame-Options "SAMEORIGIN"
|
|
# Testing deployment: keep it out of search engines.
|
|
header X-Robots-Tag "noindex, nofollow"
|
|
# Revalidate everything: isokit_wasm.js and its .wasm load without a
|
|
# version query, and a stale copy at Cloudflare would not match the
|
|
# new glue code after a deploy. Unchanged files still come back as 304.
|
|
header Cache-Control "no-cache"
|
|
|
|
root * /var/www/isokit.buildfor.life
|
|
encode zstd gzip
|
|
file_server
|
|
}
|