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.
What You’ll Need
Section titled “What You’ll Need”- An exe.dev account.
ssh exe.devaccess to your virtual machines (optional).
Quick Start
Section titled “Quick Start”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.
The Automated Path
Section titled “The Automated Path”- Head over to https://exe.new/openclaw.
- Fill in your authentication key or token.
- 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.
The Manual Path
Section titled “The Manual Path”If you prefer to configure things yourself, follow these steps on an exeuntu image. First, create and connect to your VM:
ssh exe.dev newssh <vm-name>.exe.xyzI suggest keeping this VM stateful because OpenClaw stores its state and workspace inside ~/.openclaw/.
Next, install the required packages:
sudo apt-get updatesudo apt-get install -y git curl jq ca-certificates opensslInstall OpenClaw using the official script:
curl -fsSL https://openclaw.ai/install.sh | bashNow, 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/.
Troubleshooting
Section titled “Troubleshooting”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:
npm i -g openclaw@latestopenclaw doctoropenclaw gateway restartopenclaw healthIf you need more help with your specific environment, check out the AI Setup Assistant.
What’s Next
Section titled “What’s Next”OpenClaw Expert
Still stuck?
If this page didn't answer your case, ask OpenClaw Expert for step-by-step guidance.