Reference
Docker and servers
Docker§
The whole agent — including the commands it runs — stays inside the container. Mount your project as the workspace:
docker run --rm -p 8080:8080 -v "$PWD:/lampson/workspace" \
-e LAMPSON_PROVIDER=deepseek -e LAMPSON_API_KEY=sk-... ghcr.io/kitecosmic/lampson
Then open http://127.0.0.1:8080. From a clone, docker build -t lampson .; docker-compose.yml does the same with persistent sessions and memory.
On a VPS§
Install as on any Linux box (the one-liner or npm i -g lampson), then keep the hub alive:
lampson --install # systemd --user unit, Restart=always
lampson --hub status
Workspace processes never leave loopback. To reach it from outside with your own domain and HTTPS (optional):
lampson --domain lampson.example.com --email you@example.com
Lampson gets a free Let's Encrypt certificate, renews it on its own and serves the hub at https://lampson.example.com; the hub stops listening on the network. You need a DNS A/AAAA record pointing to the server, ports 80 and 443 open and, on Linux without root, sudo setcap cap_net_bind_service=+ep $(command -v synsema). lampson --domain shows the status and lampson --domain off puts everything back. Without --domain nothing changes. To pair your phone from the server: lampson --pair over SSH prints the QR in the terminal (On your phone).
From your phone§
Pairing the phone with a passkey, installing the app and reaching your home PC through a tunnel: On your phone.
One-time approval links stay public on purpose — the token is the authorization and it dies with the deadline. LAMPSON_WEB_TOKEN (Bearer) still works for scripts. See Scheduled tasks to approve from your phone. Requirements§
- Linux: the
synsemabinary needs glibc ≥ 2.17 (any distribution since 2014: Ubuntu 20.04+, Debian 11+, RHEL 7+). - Windows: PowerShell (built-in is fine) and Git for Windows (its bash runs the commands).
- macOS: nothing extra.