File size: 4,491 Bytes
3a65265
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
---
summary: "Run Moltbot Gateway on exe.dev (VM + HTTPS proxy) for remote access"
read_when:
  - You want a cheap always-on Linux host for the Gateway
  - You want remote Control UI access without running your own VPS
---

# exe.dev

Goal: Moltbot 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 Moltbot  
2) Run `moltbot 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:

```bash
ssh exe.dev new --name=moltbot
```

Then connect:

```bash
ssh moltbot.exe.xyz
```

Tip: keep this VM **stateful**. Moltbot stores state under `~/.clawdbot/` and `~/clawd/`.

## 2) Install prerequisites (on the VM)

```bash
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:

```bash
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):

```bash
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
sudo apt-get install -y nodejs
```

## 3) Install Moltbot

Recommended on servers: npm global install.

```bash
npm i -g moltbot@latest
moltbot --version
```

If native deps fail to install (rare; usually `sharp`), add build tools:

```bash
sudo apt-get install -y build-essential python3
```

## 4) First-time setup (wizard)

Run the onboarding wizard on the VM:

```bash
moltbot onboard --install-daemon
```

It can set up:
- `~/clawd` workspace bootstrap
- `~/.clawdbot/moltbot.json` config
- model auth profiles
- model provider config/login
- Linux systemd **user** service (service)

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 [Help](/help)).

## 5) Remote access options

### Option A (recommended): SSH tunnel (loopback-only)

Keep Gateway on loopback (default) and tunnel it from your laptop:

```bash
ssh -N -L 18789:127.0.0.1:18789 moltbot.exe.xyz
```

Open locally:
- `http://127.0.0.1:18789/` (Control UI)

Runbook: [Remote access](/gateway/remote)

### 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:

```bash
export CLAWDBOT_GATEWAY_TOKEN="$(openssl rand -hex 32)"
moltbot gateway --bind lan --port 8080 --token "$CLAWDBOT_GATEWAY_TOKEN"
```

For service runs, persist it in `~/.clawdbot/moltbot.json`:

```json5
{
  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:

```bash
ssh exe.dev share port moltbot 8080
```

Open:
- `https://moltbot.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](/web/control-ui)

## 6) Keep it running (service)

On Linux, Moltbot uses a systemd **user** service. After `--install-daemon`, verify:

```bash
systemctl --user status moltbot-gateway[-<profile>].service
```

If the service dies after logout, enable lingering:

```bash
sudo loginctl enable-linger "$USER"
```

More: [Linux](/platforms/linux)

## 7) Updates

```bash
npm i -g moltbot@latest
moltbot doctor
moltbot gateway restart
moltbot health
```

Guide: [Updating](/install/updating)