Production Host
Everything you've read about runs on a single Mac mini sitting in my home office. Eleven launchd-managed services behind nginx with Let's Encrypt. PostgreSQL + Redis. Tailscale to a Synology NAS for the third leg of 3-2-1 backup. No Kubernetes. No serverless. Just disciplined Unix.
The host stack — bottom to top
Hardware → OS → process supervisor → reverse proxy → services → external networks. Nothing magic.
Why one box
The whole system runs on a single mini because — at the volume I serve — that's the right answer. No queues piling up. Latency from any service to Postgres is a Unix domain socket. The cost of a failover region for a portfolio site is silly. The cost of explaining a multi-region architecture for a portfolio site is sillier.
When the box becomes the bottleneck — and not before — the next move is a second mini in failover, not a re-platform. The deployment pipeline already handles that: rsync to a second host, kickstart launchd, swap nginx upstreams.
Service rack — what's listening
Live launchd jobs. Each LED matches the live status; amber means a known transitional state.
Operational primitives
com.coreyscherrer.<name> plist under /Library/LaunchDaemons/. Restart with sudo launchctl kickstart -k system/com.coreyscherrer.<name>. Cron-style work (orphan audits, weekly learning agent, NAS health-check) runs as scheduled launchd jobs.service_route, service_get). Cross-service calls discover each other from a single source; the live agentic-topology view reads the same registry.When something goes wrong
A short, deliberate playbook. Most pages call the same five primitives.
curl :port/ for all 11 — never just the one in question. Catches regressions where a shared-package change broke a service you didn't think you'd touched.sudo launchctl print system/com.coreyscherrer.<svc> — look for state = spawn scheduled (throttled) or non-zero last exit code.sudo launchctl kickstart -k system/com.coreyscherrer.<svc>. The -k kills then respawns; clears the throttle that builds up after rapid restarts.tail -f /var/www/coreyscherrer/<svc>/logs/web-service-error.log. Per-service log directories so the noise of one doesn't drown another.dev-ops.sh deploy <svc>. No special "rollback" tool — same pipeline, opposite direction.More of the system
The host is the foundation; the brain is upstairs. See how Memory Archive turns this rack into something more than a process supervisor, or watch the live system topology.