solargod/deploy/HERALD.md
monsterrobotparty 637ac5dfbf 🚀 herald: deploy artifacts (prep — not applied) (opus)
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>
2026-07-16 13:30:39 +10:00

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 8147 in /opt/solargod).
  • nginx-solargod.conf — nginx server block → 127.0.0.1:8147 (replace SOLARGOD_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)

  1. 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.)
  2. VPS access — the VPS=user@host with sudo, on the same box that serves godstrument.pro (so the reverse-proxy pattern matches).
  3. 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.