Self-hosting
What the stack needs on a plain Linux server.
Handoff runs on plain Linux without containers or Kubernetes. The reference deployment is a set of systemd units behind an existing reverse proxy.
| Component | Purpose |
|---|---|
| Node 20 or newer | web, control plane, session broker, runner |
| Postgres 17 | tenant data with row-level security; two roles, one without bypass |
| Redis | control leases |
| Temporal | run workflows, pause with zero compute, durable timers |
| S3-compatible storage | evidence, recordings, traces (MinIO or Cloudflare R2) |
| Chromium | one hardened transient unit per session, or a shared instance on small hosts |
Sessions are capped per host, reaped when idle and at an absolute age, and Node units run with CPU and memory weights so neighbours on a shared box are not affected. Ask us for the deployment guide when you evaluate the Enterprise plan.