How to Install OpenClaw on Ubuntu and Complete Your First Setup

Part 1 of 1 in a series
OpenClaw

If you want the shortest supported path to a working OpenClaw install on Ubuntu, it looks like this:

  1. install OpenClaw

  2. run openclaw onboard --install-daemon

  3. confirm the Gateway is up

  4. open the Control UI over an SSH tunnel instead of exposing it directly

That is the path I would recommend for a first VPS setup because it stays close to the current docs and avoids turning a straightforward install into a security experiment.

What you are setting up

This guide gives you a basic but usable OpenClaw foundation on Ubuntu:

  • the OpenClaw CLI installed

  • onboarding completed

  • the Gateway running as a background service

  • the Control UI reachable from your browser

  • a safe first access pattern for a public VPS

I am deliberately keeping this one focused on the base setup. Channels, remote exposure, and more opinionated hardening can come afterward.

Before you start: requirements and VPS sizing

OpenClaw currently requires Node 22.19 or newer, with Node 24 recommended in the official docs.

The project docs do not publish a strict official CPU/RAM sizing matrix for a normal Ubuntu VPS install, so the figures below are practical planning guidance rather than fake precision.

Setup level  

CPU  

RAM  

Storage  

Good for

Minimum test box  

1 vCPU  

1 GB  

10-15 GB  

Very light remote-model-only testing

Recommended starter VPS  

2 vCPU  

2 GB  

20-30 GB  

Normal first install, onboarding, updates, logs, and basic testing

More comfortable long-running setup  

2-4 vCPU  

4 GB  

40+ GB  

Heavier use, more tools, more channels, and less chance of resource pain

Docker-based path  

2 vCPU  

2 GB minimum  

25+ GB  

Safer baseline if you specifically want the containerized route

My practical recommendation

If you are choosing a VPS for this article, I would start at 2 vCPU and 2 GB RAM.

That is a much better default than trying to force everything onto a 1 GB box and discovering later that every update, service restart, and side task feels like a negotiation with the kernel.

What you need ready

Have these ready before you begin:

  • an Ubuntu server or VPS

  • SSH access

  • a user account with sudo

  • internet access

  • a model-provider API key or other supported auth method

  • about 15 to 20 minutes

You do not need Docker for this walkthrough.

Step 1: Connect to the Ubuntu server

SSH into the machine from your local computer.

ssh your-user@your-server-ip

Replace your-user and your-server-ip with your real values.

Step 2: Install OpenClaw

The current recommended first-run path starts with the official installer.

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

The current docs also note that the installer can detect and install Node automatically when needed, which is one more reason this is the sane starting point for a fresh Ubuntu box.

Step 3: Confirm the CLI works

Check that the command is available.

openclaw --version

Then confirm the CLI responds normally.

openclaw --help

If both commands work, the base install is in good shape.

Step 4: Run the onboarding flow

Now run the setup path OpenClaw actually wants first-time users to use.

openclaw onboard --install-daemon

This flow walks through the parts people usually misconfigure when they try to freestyle the install:

  • model and auth setup

  • workspace configuration

  • Gateway settings

  • optional channel setup

  • skills and hooks configuration

  • daemon installation

  • health checks

On Ubuntu, the docs say this installs the Gateway as a systemd user service by default. For the most people, the QuickStart onboarding mode is good enough.

Step 5: Verify the Gateway

When onboarding finishes, confirm the Gateway is actually running.

openclaw gateway status

A healthy setup should show the Gateway listening on port 18789.

If you want a more opinionated diagnostic pass, run:

openclaw doctor

That is worth remembering because it is one of the first commands to run whenever an install feels slightly off.

Step 6: Open the Control UI safely on a VPS

For a public Ubuntu VPS, the safer default is to keep the Gateway on loopback and tunnel to it from your own machine. When the onboarding wizard is finished, OpenClaw asks how would you like to hatch your agent, inside the terminal or in a browser. If you wish to control OpenClaw via the browser UI, choose "in a browse" and you will get the necessary token to open the UI after you connect the SSH tunnel.

From your local machine, open the SSH tunnel to the OpenClaw server:

ssh -N -L 18789:127.0.0.1:18789 your-user@your-server-ip

Then open this in your local browser:

http://127.0.0.1:18789/#token=xxxxxxxxxxxxxxxxxxx

If the Control UI loads, the important part is working.

Step 7: Send a test prompt

Do not overcomplicate the first check. A boring prompt is fine. The point is to prove the stack is alive and responsive before you start layering on channels or extra integrations.

What OpenClaw installs for you

One nice thing about following the supported onboarding flow is that it handles several moving parts in one go instead of making you stitch everything together manually.

By this point, you should have:

  • the CLI installed

  • a configured workspace

  • Gateway settings written

  • a background service installed

  • a working dashboard path

That is enough to count as a proper first setup, not just a binary that happens to be present on disk.

OpenClaw vs Hermes Agent

Since readers will inevitably compare them, here is the practical version.

Area

OpenClaw

Hermes Agent

Main feel

Persistent assistant with a strong Gateway + Control UI model

Tool-heavy autonomous agent with strong automation workflows

First-run path

openclaw onboard --install-daemon

hermes setup after install

Runtime

Node.js

Python-based runtime

Web control surface

Central to the product

Less central to the first-run story

Good fit for

People who want an assistant-style experience with channel presence and a built-in control plane

People who want flexible tool use, reusable skills, automation depth, and agent workflows

So yes, there is overlap, but the default product shape feels different pretty quickly once you start using them.

Two commands worth remembering

After the initial install, these are the routine commands I would keep in muscle memory:

openclaw update
openclaw doctor

The current update docs say openclaw update can detect the install type, fetch the latest version, run openclaw doctor, and restart the Gateway for you.

Common mistakes on first setup

Exposing the Gateway too early

If this is a fresh VPS, do not rush to bind everything publicly before you even confirm the dashboard works. SSH tunneling or Tailscale is the calmer first move.

Treating 1 GB RAM like a comfortable default

It is not. It may be enough for a small experiment, but it is not the size I would choose if I wanted the install to feel stable rather than merely possible.

Forgetting to verify the service

A successful installer run is nice, but openclaw gateway status is the checkpoint that actually matters.

You are done

At this point, you should have OpenClaw running on Ubuntu, the Gateway installed as a background service, and the Control UI reachable in a safer VPS-friendly way.

From here, the next useful directions are usually:

  • connect a channel like Telegram

  • tighten remote access with Tailscale or a reverse proxy

  • learn the update path properly

  • expand into more OpenClaw-specific workflows

That is enough for a solid first article, and it leaves room for follow-up pieces without trying to cram the whole OpenClaw universe into one tutorial.

Frequently Asked Questions

Does OpenClaw need Docker?
No. Docker is optional. The current OpenClaw docs recommend the normal installer and CLI onboarding path first, then Docker only if you specifically want a containerized gateway.
Is 1 GB RAM enough for OpenClaw?
It can be enough for a very small remote-model-only test setup, but it is a fragile floor. OpenClaw's docs explicitly warn that Docker image builds can be OOM-killed on 1 GB hosts, so 2 GB RAM is the safer practical starting point for most VPS installs.
Should I expose port 18789 directly to the internet?
Usually no. The safer default is to keep the Gateway on loopback and reach the Control UI through an SSH tunnel or Tailscale, especially on a public VPS.

Related articles

🐳
Docker & Containers
How to Install Docker on Ubuntu and Run Your First Container
Install Docker Engine on Ubuntu using Docker's official apt repository, verify that it works, and optionally set it up so you can run Docker commands without sudo.
🤖
AI & LLMs
Install Hermes Agent on Linux and Complete Your First Setup
Learn how to install Hermes Agent on a Linux server or workstation, run the setup wizard, connect a model provider, and verify that everything works before you start building real workflows.
🤖
AI & LLMs
How to Install Ollama on Ubuntu and Run Your First Local LLM
Install Ollama on Ubuntu, verify the systemd service, pull your first model, and test a local LLM from the terminal before connecting it to tools like Open WebUI or Hermes Agent.
☁️
File & Cloud Storage
How to Install Nextcloud with Docker Compose
Install Nextcloud with Docker Compose using MariaDB and Redis, keep the data persistent, and finish the first web setup without turning the stack into a science project.