Deploy openclaw.ai on Linode

Beginner ⏱ 25 minutes 📅 Updated Feb 2026

Linode (now Akamai) offers reliable Linux servers starting at $5/month with excellent support.

🎁

Free Credits

New Linode accounts typically receive $100 in free credits valid for 60 days — enough to try openclaw.ai without any cost.

📋 Prerequisites

1

Create & Connect to Your Linode

Log in to the Linode Cloud Manager and create a new Linode:

  1. Click CreateLinode
  2. Under Choose a Distribution, select Ubuntu 22.04 LTS
  3. Select your preferred Region (pick the datacenter closest to you)
  4. Under Linode Plan, choose Shared CPUNanode 1 GB ($5/month) as the minimum, or Linode 2 GB ($12/month) for best results
  5. Set a strong Root Password
  6. Under SSH Keys, add your public key (recommended for security)
  7. Click Create Linode

Wait for the status to show Running (usually 1–2 minutes), then connect:

bash
# Replace with your Linode's IP from the Cloud Manager
ssh root@your-linode-ip
2

System Update & Dependencies

Update the package index and upgrade all installed packages:

bash
sudo apt update && sudo apt upgrade -y
3

Install Node.js 22

openclaw.ai requires Node.js 22 or higher. Install it from the official NodeSource repository:

bash
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
sudo apt-get install -y nodejs
node --version  # Should show v22.x.x
4

Install openclaw.ai

Run the official one-line installer:

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

Run Onboarding

Launch the interactive onboarding wizard. The --install-daemon flag automatically configures openclaw.ai to run as a background service:

bash
openclaw onboard --install-daemon

The wizard will walk you through:

  • Authentication setup (API keys for your LLM provider)
  • Gateway configuration (port, allowed origins)
  • Optional channel setup (Slack, Discord, etc.)
6

Verify Installation

Confirm everything is running correctly:

bash
# Check system configuration
openclaw doctor

# Verify the gateway is healthy
openclaw health

# Open the web dashboard
openclaw dashboard
# Dashboard available at http://your-linode-ip:18789
7

Configure Linode Cloud Firewall

Set up a Cloud Firewall to protect your Linode and allow dashboard access:

  1. In Cloud Manager, go to FirewallsCreate Firewall
  2. Name it (e.g., openclaw-fw) and assign it to your Linode
  3. Add the following Inbound Rules:
text
Label              Protocol   Ports    Sources
SSH                TCP        22       My IP
openclaw-dashboard TCP        18789    My IP
  1. Set the default Inbound Policy to Drop
  2. Click Save Changes
⚠️

Security Warning

Restrict port 18789 to your own IP address. Never expose the dashboard to all IPs in production.

8

Keep Running with systemd

The --install-daemon flag from Step 5 already set up a systemd user service. To check its status:

bash
# Check gateway status via openclaw CLI
openclaw gateway status

# Or check directly via systemd
systemctl --user status openclaw-gateway

# View live logs
journalctl --user -u openclaw-gateway -f

The service will automatically restart on failure and start on boot.

🔧 Troubleshooting

If node --version shows an older version, remove the system Node.js and reinstall:

bash
sudo apt remove nodejs
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
sudo apt-get install -y nodejs

Check that the gateway is running and that the Linode Cloud Firewall allows inbound TCP on port 18789:

bash
# Check if the gateway is listening
ss -tlnp | grep 18789

# Check local firewall (ufw)
sudo ufw status
sudo ufw allow 18789/tcp

Also verify the Cloud Firewall in the Linode Cloud Manager has port 18789 open for your IP.

On the 1 GB Nanode plan, the initial setup may briefly spike CPU. This is normal. If sustained high CPU persists, consider upgrading to the 2 GB plan via Linode SettingsResize.