deploy/ holds the systemd unit and an example config. The unit is hardened (ProtectSystem=strict, NoNewPrivileges, and only CAP_NET_BIND_SERVICE for port 443), and didbot's infra/sidecar stack embeds it byte for byte. The example config names the real servers, operators and owners (permadeath.com and lance.blue), with PLACEHOLDER for the ntfy topic, healthchecks URLs, ACME email and status token.
scripts/deploy.sh builds a static musl binary, fetches short-lived SSH credentials from aws lightsail get-instance-access-details, and copies the binary, unit and config. It then restarts the service and waits for /health. It never touches the data directory, and rerunning it is the upgrade. Its address must be in the stack's deploy_cidrs while it runs.
This targets the implementation branch and lands after it.
🤖 Generated with Claude Code