ship’s manual · guide
Self-hosting
1Helm is the server. The public 1helm.com website and demo.1helm.com sandbox are not dependencies of your installed workspace.
Ports
The source runtime defaults to 8123. The native Mac app chooses an ephemeral loopback port. The public sandbox uses 8124; the standalone product website uses 8130. These are separate processes and data trees.
State
Set CTRL_DATA_DIR to a persistent, restricted directory. Never place it in a public web root. Back it up only while the service is stopped or with a filesystem/database-consistent snapshot.
HTTPS
Use Settings → Domains for a workspace-managed Cloudflare tunnel on the native app, or put a conventional HTTPS reverse proxy in front of a headless host. Preserve WebSocket upgrades and do not strip Authorization headers.
Health
curl -fsS http://127.0.0.1:8123/api/setup/status
systemctl is-active 1helm
journalctl -u 1helm --since '15 minutes ago'Upgrades
Use a unique released version. Stop the service, take a state backup, install the tagged source, run npm ci and npm run build, then restart and verify health. Database migrations are additive, but rollback still requires the pre-upgrade data backup.
Resource guidance
A minimal control plane can run in 4 GiB RAM; 8 GiB is a more practical baseline. Model inference usually remains at connected providers, but browser automation, builds, media processing, and several concurrent residents increase CPU, RAM, and storage demand.