OpenClawSkills
GitHub
Platforms • TutorialHeader.readTime

exe.dev

Run OpenClaw Gateway on exe.dev (VM + HTTPS proxy) for remote access

Goal: OpenClaw Gateway running on an exe.dev VM, reachable from your laptop via: ''https://<vm-name>.exe.xyz''

This page assumes exe.dev's default exeuntu image. If you picked a different distro, map packages accordingly.

Tutorial.step

Beginner quick path

1. ''https://exe.new/openclaw''

2. Fill in your auth key/token as needed

3. Click on "Agent" next to your VM, and wait...

4. ???

5. Profit

Tutorial.step

What you need

- exe.dev account

- ''ssh exe.dev'' access to ''exe.dev'' virtual machines (optional)

Tutorial.step

Automated Install with Shelley

Shelley, ''exe.dev'''s agent, can install OpenClaw instantly with our

prompt. The prompt used is as below:

Terminal
Set up OpenClaw (https://docs.openclaw.ai/install) on this VM. Use non-interactive and accept-risk flags for openclaw onboarding. Add supplied auth or token as needed. Configure nginx to forward from default port 18789 to root location on default enabled site config, making sure to enable Websocket support. Pairing is done by "openclaw devices list" and "openclaw device approve '<request id>'". Make sure dashboard shows that OpenClaw's health is OK. exe.dev handles forwarding from port 8000 to port 80/443 and HTTPS for us, so final "reachable" should be '<vm-name>'.exe.xyz, without port specification.
Tutorial.step

Manual installation

Tutorial.step

1) Create VM

From your device:

Bash
ssh exe.dev new

Then connect:

Bash
ssh '<vm-name>'.exe.xyz

Tip: keep this VM ''stateful''. OpenClaw stores state under ''~/.openclaw/'' and ''~/.openclaw/workspace/''.

Tutorial.step

2) Install prerequisites (on VM)

Bash
sudo apt-get update
sudo apt-get install -y git curl jq ca-certificates openssl
Tutorial.step

3) Install OpenClaw

Run OpenClaw install script:

Bash
curl -fsSL https://openclaw.ai/install.sh | bash
Tutorial.step

4) Setup nginx to proxy OpenClaw to port 8000

Edit ''/etc/nginx/sites-enabled/default'' with

Terminal
server {
    listen 80 default_server;
    listen [::]:80 default_server;
    listen 8000;
    listen [::]:8000;

    server_name _;

    location / {
        proxy_pass http://127.0.0.1:18789;
        proxy_http_version 1.1;

        # WebSocket support
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";

        # Standard proxy headers
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;

        # Timeout settings for long-lived connections
        proxy_read_timeout 86400s;
        proxy_send_timeout 86400s;
    }
}
Tutorial.step

5) Access OpenClaw and grant privileges

Access ''https://<vm-name>.exe.xyz/?token=YOUR-TOKEN-FROM-TERMINAL'' (see Control UI output from onboarding). Approve

devices with ''openclaw devices list'' and ''openclaw devices approve <requestId>''. When in doubt,

use Shelley from your browser!

Tutorial.step

Remote Access

Remote access is handled by ''exe.dev'''s authentication. By

default, HTTP traffic from port 8000 is forwarded to ''https://<vm-name>.exe.xyz''

with email auth.

Tutorial.step

Updating

Bash
npm i -g openclaw@latest
openclaw doctor
openclaw gateway restart
openclaw health

Guide: ''Updating''