Skip to content

Setting up OpenClaw Gateway on exe.dev

Setting up a remote gateway often feels like a chore. I usually spend more time debugging network configs or port forwarding than actually getting work done. I prefer a setup that stays out of the way and just works.

If you are looking for a way to get OpenClaw running on a VM with a clean URL and handled HTTPS, this is how I do it using exe.dev.

  • An exe.dev account.
  • ssh exe.dev access to your virtual machines (optional).

I recommend the automated path if you want to be up and running in a few minutes. Shelley, the exe.dev agent, handles the heavy lifting.

  1. Head over to https://exe.new/openclaw.
  2. Fill in your authentication key or token.
  3. Click on Agent next to your VM and wait for the process to finish.

Shelley uses a specific prompt to configure the environment, install OpenClaw with the non-interactive and accept-risk flags, and set up Nginx to forward traffic from port 8000 to the OpenClaw default port.

If you prefer to configure things yourself, follow these steps on an exeuntu image. First, create and connect to your VM:

Terminal window
ssh exe.dev new
ssh <vm-name>.exe.xyz

I suggest keeping this VM stateful because OpenClaw stores its state and workspace inside ~/.openclaw/.

Next, install the required packages:

Terminal window
sudo apt-get update
sudo apt-get install -y git curl jq ca-certificates openssl

Install OpenClaw using the official script:

Terminal window
curl -fsSL https://openclaw.ai/install.sh | bash

Now, you need to configure Nginx to proxy traffic to port 8000. Edit /etc/nginx/sites-enabled/default with this configuration:

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;
}
}

Once configured, you can access your gateway at https://<vm-name>.exe.xyz/.

If you run into issues with access or permissions, here are the solutions from the source documentation.

Authentication Issues If the dashboard prompts for a token, you can find it on your VM. Run: openclaw config get gateway.auth.token If you don’t have one, generate it using: openclaw doctor --generate-gateway-token

Device Pairing To manage which devices can connect to your gateway, use these two commands:

  • List requests: openclaw devices list
  • Approve a device: openclaw devices approve <requestId>

Updating OpenClaw If you need to move to the latest version, run these commands in order:

Terminal window
npm i -g openclaw@latest
openclaw doctor
openclaw gateway restart
openclaw health

If you need more help with your specific environment, check out the AI Setup Assistant.

OpenClaw

OpenClaw Expert

Still stuck?

If this page didn't answer your case, ask OpenClaw Expert for step-by-step guidance.