serve.py binds loopback, so prod mirrors godstrument.pro: systemd runs serve.py,
nginx reverse-proxies the domain to 127.0.0.1:8147, certbot for TLS. Adds
deploy/{solargod.service, nginx-solargod.conf, deploy.sh, HERALD.md}. BLOCKED on
the user: domain/DNS + VPS access (Part ω.2). Nothing deployed — artifacts only.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
1.5 KiB
1.5 KiB
HERALD — deploying SOLARGOD
SOLARGOD is a static site + a stdlib serve.py that also proxies JPL
(Horizons/SBDB/CAD) and disk-caches responses. serve.py binds 127.0.0.1 only,
so production is the same shape as godstrument.pro: systemd runs serve.py on the
loopback, nginx reverse-proxies the public domain to it, certbot adds TLS.
What this directory gives you
solargod.service— systemd unit (python3 serve.py 8147in/opt/solargod).nginx-solargod.conf— nginx server block →127.0.0.1:8147(replaceSOLARGOD_DOMAIN).deploy.sh— one-shot rsync + install + enable + reload (idempotent; re-run to update).
One-time
DOMAIN=orrery.example.com VPS=user@vps-host ./deploy/deploy.sh
ssh $VPS 'sudo certbot --nginx -d orrery.example.com'
⚠ Blocked on you (cannot be done from the dev box)
- Domain / DNS — pick the hostname and point an A record at the VPS. (I don't have your DNS or a chosen name — the whole lane waited on this per Part ω.2.)
- VPS access — the
VPS=user@hostwith sudo, on the same box that serves godstrument.pro (so the reverse-proxy pattern matches). - Confirm Python 3 + nginx + certbot are present on the VPS (they are for godstrument).
Give me the domain + VPS target and I'll run deploy.sh and verify the live site
(orrery loads, planets move, /verify.html green, /proxy/* reaches JPL). Until
then these artifacts are prepared but not applied — nothing has been deployed.