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

29 lines
1.5 KiB
Markdown

# 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
```sh
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.