Skip to main content

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

  1. Create VM → install Node 22 → install Clawdbot
  2. Run clawdbot onboard --install-daemon
  3. Tunnel from laptop (ssh -N -L 18789:127.0.0.1:18789 …)
  4. Open http://127.0.0.1:18789/ and paste your token

What you need

  • exe.dev account + ssh exe.dev working 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:
  • ~/clawd workspace bootstrap
  • ~/.clawdbot/clawdbot.json config
  • 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

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 (or CLAWDBOT_GATEWAY_TOKEN).
  • gateway.remote.token is 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.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