Deployment
Process model, PostgreSQL, config, reverse proxy and pre-alpha caveats.
Process model
One OS process serves HTTP (core/server). Scheduler, event bus, and outbox drain run in-process. Scale horizontally by running N identical binaries behind a load balancer — sessions live in PostgreSQL (sys.session), so sticky cookies are optional.
See Scale architecture for pool tuning, read replicas, rate limits, and async workers.
Pre-alpha. Do not deploy Sumeru for production or commercial workloads. No migration or uptime guarantees.
PostgreSQL
Point db_* in sumeru.conf at a dedicated database. Create an empty DB before first boot. Prefer absolute paths and strong credentials outside laptop demos.
Config and binary
cd sumeru_custom_addonsmake generatego build -o sumeru-workspace ../sumeru-workspace -c /etc/sumeru/sumeru.conf
| Concern | Guidance |
|---|---|
| Port | Default 8080; override with http_port or -p |
| DB pool | Optional db_max_open_conns, db_max_idle_conns, db_conn_max_lifetime_minutes |
| Read replica | Optional db_read_replica_dsn for search-heavy RPC |
| Rate limit | Optional rate_limit_rpm on RPC and login |
| Addons | Absolute addons_path entries on servers |
| Logs | Structured JSON via applog; optional log_file |
| TLS | Terminate TLS at a reverse proxy in front of Sumeru |
Reverse proxy
Proxy to the listen port; forward cookies for session auth. Keep /api/health for probes. Do not expose PostgreSQL.
Deployment checklist
- Go 1.26.2+ build toolchain matching
go.mod. - PostgreSQL reachable with least-privilege DB user.
make generate(or import-gen) before build.- Install modules with
--stop-after-initin a controlled job. - Confirm health endpoint and login before opening firewall rules broadly.
What not to do
- Do not run with
dev_mode=trueon a shared host. - Do not reuse one database for unrelated customers and call it multi-tenant SaaS.
- Do not skip backups because "it's only evaluation".
Next step
Understand the split in Three modules, or isolation in Isolation model.