Deploy openclaw.ai on Linode
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
Create & Connect to Your Linode
Log in to the Linode Cloud Manager and create a new Linode:
- Click Create → Linode
- Under Choose a Distribution, select Ubuntu 22.04 LTS
- Select your preferred Region (pick the datacenter closest to you)
- Under Linode Plan, choose Shared CPU → Nanode 1 GB ($5/month) as the minimum, or Linode 2 GB ($12/month) for best results
- Set a strong Root Password
- Under SSH Keys, add your public key (recommended for security)
- Click Create Linode
Wait for the status to show Running (usually 1–2 minutes), then connect:
# Replace with your Linode's IP from the Cloud Manager
ssh root@your-linode-ip
System Update & Dependencies
Update the package index and upgrade all installed packages:
sudo apt update && sudo apt upgrade -y
Install Node.js 22
openclaw.ai requires Node.js 22 or higher. Install it from the official NodeSource repository:
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
Install openclaw.ai
Run the official one-line installer:
curl -fsSL https://openclaw.ai/install.sh | bash
Run Onboarding
Launch the interactive onboarding wizard. The --install-daemon flag automatically configures openclaw.ai to run as a background service:
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.)
Verify Installation
Confirm everything is running correctly:
# 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
Configure Linode Cloud Firewall
Set up a Cloud Firewall to protect your Linode and allow dashboard access:
- In Cloud Manager, go to Firewalls → Create Firewall
- Name it (e.g.,
openclaw-fw) and assign it to your Linode - Add the following Inbound Rules:
Label Protocol Ports Sources
SSH TCP 22 My IP
openclaw-dashboard TCP 18789 My IP
- Set the default Inbound Policy to Drop
- Click Save Changes
Security Warning
Restrict port 18789 to your own IP address. Never expose the dashboard to all IPs in production.
Keep Running with systemd
The --install-daemon flag from Step 5 already set up a systemd user service. To check its status:
# 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:
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:
# 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 Settings → Resize.
Was this helpful?