| --- |
| summary: "VPS hosting hub for OpenClaw (Oracle/Fly/Hetzner/GCP/exe.dev)" |
| read_when: |
| - You want to run the Gateway in the cloud |
| - You need a quick map of VPS/hosting guides |
| title: "VPS Hosting" |
| --- |
| |
| # VPS hosting |
|
|
| This hub links to the supported VPS/hosting guides and explains how cloud |
| deployments work at a high level. |
|
|
| ## Pick a provider |
|
|
| - **Railway** (one‑click + browser setup): [Railway](/install/railway) |
| - **Northflank** (one‑click + browser setup): [Northflank](/install/northflank) |
| - **Oracle Cloud (Always Free)**: [Oracle](/platforms/oracle) — $0/month (Always Free, ARM; capacity/signup can be finicky) |
| - **Fly.io**: [Fly.io](/install/fly) |
| - **Hetzner (Docker)**: [Hetzner](/install/hetzner) |
| - **GCP (Compute Engine)**: [GCP](/install/gcp) |
| - **exe.dev** (VM + HTTPS proxy): [exe.dev](/install/exe-dev) |
| - **AWS (EC2/Lightsail/free tier)**: works well too. Video guide: |
| [https://x.com/techfrenAJ/status/2014934471095812547](https://x.com/techfrenAJ/status/2014934471095812547) |
|
|
| ## How cloud setups work |
|
|
| - The **Gateway runs on the VPS** and owns state + workspace. |
| - You connect from your laptop/phone via the **Control UI** or **Tailscale/SSH**. |
| - Treat the VPS as the source of truth and **back up** the state + workspace. |
| - Secure default: keep the Gateway on loopback and access it via SSH tunnel or Tailscale Serve. |
| If you bind to `lan`/`tailnet`, require `gateway.auth.token` or `gateway.auth.password`. |
|
|
| Remote access: [Gateway remote](/gateway/remote) |
| Platforms hub: [Platforms](/platforms) |
|
|
| ## Shared company agent on a VPS |
|
|
| This is a valid setup when the users are in one trust boundary (for example one company team), and the agent is business-only. |
|
|
| - Keep it on a dedicated runtime (VPS/VM/container + dedicated OS user/accounts). |
| - Do not sign that runtime into personal Apple/Google accounts or personal browser/password-manager profiles. |
| - If users are adversarial to each other, split by gateway/host/OS user. |
|
|
| Security model details: [Security](/gateway/security) |
|
|
| ## Using nodes with a VPS |
|
|
| You can keep the Gateway in the cloud and pair **nodes** on your local devices |
| (Mac/iOS/Android/headless). Nodes provide local screen/camera/canvas and `system.run` |
| capabilities while the Gateway stays in the cloud. |
|
|
| Docs: [Nodes](/nodes), [Nodes CLI](/cli/nodes) |
|
|
| ## Startup tuning for small VMs and ARM hosts |
|
|
| If CLI commands feel slow on low-power VMs (or ARM hosts), enable Node's module compile cache: |
|
|
| ```bash |
| grep -q 'NODE_COMPILE_CACHE=/var/tmp/openclaw-compile-cache' ~/.bashrc || cat >> ~/.bashrc <<'EOF' |
| export NODE_COMPILE_CACHE=/var/tmp/openclaw-compile-cache |
| mkdir -p /var/tmp/openclaw-compile-cache |
| export OPENCLAW_NO_RESPAWN=1 |
| EOF |
| source ~/.bashrc |
| ``` |
|
|
| - `NODE_COMPILE_CACHE` improves repeated command startup times. |
| - `OPENCLAW_NO_RESPAWN=1` avoids extra startup overhead from a self-respawn path. |
| - First command run warms cache; subsequent runs are faster. |
| - For Raspberry Pi specifics, see [Raspberry Pi](/platforms/raspberry-pi). |
|
|
| ### systemd tuning checklist (optional) |
|
|
| For VM hosts using `systemd`, consider: |
|
|
| - Add service env for stable startup path: |
| - `OPENCLAW_NO_RESPAWN=1` |
| - `NODE_COMPILE_CACHE=/var/tmp/openclaw-compile-cache` |
| - Keep restart behavior explicit: |
| - `Restart=always` |
| - `RestartSec=2` |
| - `TimeoutStartSec=90` |
| - Prefer SSD-backed disks for state/cache paths to reduce random-I/O cold-start penalties. |
|
|
| Example: |
|
|
| ```bash |
| sudo systemctl edit openclaw |
| ``` |
|
|
| ```ini |
| [Service] |
| Environment=OPENCLAW_NO_RESPAWN=1 |
| Environment=NODE_COMPILE_CACHE=/var/tmp/openclaw-compile-cache |
| Restart=always |
| RestartSec=2 |
| TimeoutStartSec=90 |
| ``` |
|
|
| How `Restart=` policies help automated recovery: |
| [systemd can automate service recovery](https://www.redhat.com/en/blog/systemd-automate-recovery). |
|
|