loading…
—
—
Capacity-planning view, separate from Live Servers. Numbers here are derived from the per-script CPU/memory limits in docker/docker-compose*.yml and the Hetzner spec table — they don't depend on Prometheus / cAdvisor being up.
Strict packing — assumes every container can saturate its cgroup limit at the same time. CPU limits are CFS shares (soft), so in practice we over-commit and live replica counts (on Live Servers) exceed these numbers; memory limits are hard, so the mem-bound column is the number we must respect to stay OOM-safe.
| Server type | Role | Spec | Always-on (CPU / mem) | Free (CPU / mem) | Max equity_update | Max th_ph_ss |
|---|
Projected monthly cost at common account milestones, including the Supabase tier we'd need to keep DB CPU at ~70% comfort. Extra Hetzner capacity uses cpx31 workers (the type autoscale provisions) at —, packed at the over-commit cap of 3 replicas/server.
| Accounts | equity_update replicas | + workers vs today | Hetzner $/mo | DB vCPU | Supabase tier | Supabase $/mo | Total $/mo | $ / account |
|---|