4.4 KiB
summary, read_when
| summary | read_when | ||
|---|---|---|---|
| Run Clawdbot Gateway on exe.dev (VM + HTTPS proxy) for remote access |
|
exe.dev
Goal: Clawdbot Gateway running on an exe.dev VM, reachable from your laptop via:
- exe.dev HTTPS proxy (easy, no tunnel) or
- SSH tunnel (most secure; loopback-only Gateway)
This page assumes Ubuntu/Debian. If you picked a different distro, map packages accordingly.
If you’re on any other Linux VPS, the same steps apply — you just won’t use the exe.dev proxy commands.
Beginner quick path
- Create VM → install Node 22 → install Clawdbot
- Run
clawdbot onboard --install-daemon - Tunnel from laptop (
ssh -N -L 18789:127.0.0.1:18789 …) - Open
http://127.0.0.1:18789/and paste your token
What you need
- exe.dev account +
ssh exe.devworking on your laptop - SSH keys set up (your laptop → exe.dev)
- Model auth (OAuth or API key) you want to use
- Provider credentials (optional): WhatsApp QR scan, Telegram bot token, Discord bot token, …
1) Create the VM
From your laptop:
ssh exe.dev new --name=clawdbot
Then connect:
ssh clawdbot.exe.xyz
Tip: keep this VM stateful. Clawdbot stores state under ~/.clawdbot/ and ~/clawd/.
2) Install prerequisites (on the VM)
sudo apt-get update
sudo apt-get install -y git curl jq ca-certificates openssl
Node 22
Install Node >= 22.12 (any method is fine). Quick check:
node -v
If you don’t already have Node 22 on the VM, use your preferred Node manager (nvm/mise/asdf) or a distro package source that provides Node 22+.
Common Ubuntu/Debian option (NodeSource):
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
sudo apt-get install -y nodejs
3) Install Clawdbot
Recommended on servers: npm global install.
npm i -g clawdbot@latest
clawdbot --version
If native deps fail to install (rare; usually sharp), add build tools:
sudo apt-get install -y build-essential python3
4) First-time setup (wizard)
Run the onboarding wizard on the VM:
clawdbot onboard --install-daemon
It can set up:
~/clawdworkspace bootstrap~/.clawdbot/clawdbot.jsonconfig- model auth profiles
- provider config/login
- Linux systemd user service (daemon)
If you’re doing OAuth on a headless VM: do OAuth on a normal machine first, then copy the auth profile to the VM (see FAQ).
5) Remote access options
Option A (recommended): SSH tunnel (loopback-only)
Keep Gateway on loopback (default) and tunnel it from your laptop:
ssh -N -L 18789:127.0.0.1:18789 clawdbot.exe.xyz
Open locally:
http://127.0.0.1:18789/(Control UI)
Runbook: Remote access
Option B: exe.dev HTTPS proxy (no tunnel)
To let exe.dev proxy traffic to the VM, bind the Gateway to the LAN interface and set a token:
export CLAWDBOT_GATEWAY_TOKEN="$(openssl rand -hex 32)"
clawdbot gateway --bind lan --port 8080 --token "$CLAWDBOT_GATEWAY_TOKEN"
For daemon runs, persist it in ~/.clawdbot/clawdbot.json:
{
gateway: {
mode: "local",
port: 8080,
bind: "lan",
auth: { mode: "token", token: "YOUR_TOKEN" }
}
}
Notes:
- Non-loopback binds require
gateway.auth.token(orCLAWDBOT_GATEWAY_TOKEN). gateway.remote.tokenis only for remote CLI calls; it does not enable local auth.
Then point exe.dev’s proxy at 8080 (or whatever port you chose) and open your VM’s HTTPS URL:
ssh exe.dev share port clawdbot 8080
Open:
https://clawdbot.exe.xyz/
In the Control UI, paste the token (UI → Settings → token). The UI sends it as connect.params.auth.token.
Notes:
- Prefer a non-default port (like
8080) if your proxy expects an app port. - Treat the token like a password.
Control UI details: Control UI
6) Keep it running (daemon)
On Linux, Clawdbot uses a systemd user service. After --install-daemon, verify:
systemctl --user status clawdbot-gateway[-<profile>].service
If the service dies after logout, enable lingering:
sudo loginctl enable-linger "$USER"
More: Linux
7) Updates
npm i -g clawdbot@latest
clawdbot doctor
clawdbot daemon restart
clawdbot health
Guide: Updating