Deploy OpenClaw on Linode
Run the self-hosted OpenClaw AI agent on a Linode (Akamai Connected Cloud) virtual server. This guide walks you through creating an Ubuntu Linode, adding your SSH key, installing Node.js 22+ and OpenClaw via the one-line installer, and running it as a systemd service. Linode’s developer-friendly Cloud Manager, 11+ global regions, and strong network performance (Akamai backbone) make it a popular choice for 24/7 OpenClaw hosting at predictable pricing ($5/month entry, $12/month recommended for production).
1. Overview
Linode (part of Akamai Connected Cloud) offers Linux virtual servers with straightforward pricing and a simple Cloud Manager. OpenClaw runs on any Linode that supports Node.js 22+; we recommend Ubuntu 22.04 LTS. This guide covers:
- Creating a Linode (Ubuntu 22.04, Shared CPU: Nanode 1 GB ~$5/mo or 2 GB ~$12/mo)
- Adding your SSH key and choosing a datacenter region (11+ global regions)
- Firewall: SSH only; do not expose the OpenClaw gateway port (1618) to the internet
- Connecting via SSH and installing Node.js 22+ and OpenClaw
- Running OpenClaw as a systemd service for 24/7 operation
- Optional: add swap on the 1 GB plan to reduce OOM risk
- Common issues and links to troubleshooting and security best practices
2. Prerequisites
- Linode account - Sign up at linode.com. New users may qualify for trial credits. Linode is part of Akamai; billing is in USD.
- SSH key - Generate or use an existing SSH key pair. Add the public key in the Cloud Manager under Account → SSH Keys (or during Linode creation). You need the private key on your local machine to connect.
- LLM API key - At least one: Anthropic Claude, OpenAI, DeepSeek, or Ollama (local).
- Optional: A messaging app account for your first channel - e.g. Telegram, Discord, WhatsApp.
3. Create a Linode
3.1 Choose image and plan
- In the Linode Cloud Manager, go to Linodes → Create Linode.
- Image: Choose Ubuntu 22.04 LTS. Avoid older Ubuntu or non-LTS if possible.
- Region: Pick a region close to you or your users for lower latency (e.g. Newark, Atlanta, Dallas, Frankfurt, Singapore). Linode has 11+ global datacenters.
- Linode plan:
- Shared CPU - Nanode 1 GB (~$5/month): 1 GB RAM, 1 vCPU, 25 GB SSD. Adequate for a single user or light automation. Consider adding swap (see below) to avoid out-of-memory issues.
- Shared CPU - 2 GB (~$12/month): 2 GB RAM, 1 vCPU, 50 GB SSD. Recommended for production or multiple channels and skills. More headroom for Node.js and the gateway.
- Larger plans (4 GB and up) are optional for heavy multi-channel or resource-intensive ClawHub skills.
- Authentication: Add your SSH key in the Root Password / SSH Key section. Prefer SSH key over root password for security.
- Label: e.g.
openclaw.
3.2 Firewall (critical for security)
Do not open the OpenClaw gateway port (1618) to the internet. The gateway should bind to 127.0.0.1 on the Linode; you access the dashboard or CLI via SSH port forwarding, Tailscale, or another VPN.
- Linode Cloud Firewall (optional but recommended): Under Firewalls, create a firewall. Allow SSH (22) from your IP only (or a narrow range). Do not add a rule for port 1618. Attach the firewall to your Linode.
- On-Linode UFW: After first login you can run
sudo ufw allow 22,sudo ufw enable. Neverufw allow 1618for the public interface. See Security Best Practices and Network Isolation.
Click Create Linode. Wait for the Linode to boot and note its public IP address (shown in the dashboard).
4. Connect via SSH
From your local machine (replace with your key path and Linode IP):
ssh root@YOUR_LINODE_IP
If you created the Linode with a non-root user or use a specific key:
ssh -i ~/.ssh/your_private_key root@YOUR_LINODE_IP
Linode’s default Ubuntu image uses root for initial login. You can create a sudo user later if you prefer.
5. Install Node.js 22+ and OpenClaw
On the Linode (Ubuntu 22.04), install Node.js 22+ if not present, then run the official one-line installer:
# Optional: install Node.js 22 via NodeSource (Ubuntu/Debian)
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
sudo apt-get install -y nodejs
# Install OpenClaw (installs Node 22 if needed and runs onboarding)
curl -fsSL https://openclaw.ai/install.sh | bash
The script will create ~/.openclaw and may start the onboarding wizard. If not, run:
openclaw setup
Complete the wizard: choose an LLM provider, add your API key, and optionally add your first channel (e.g. Telegram). See the Quick Start Guide and Post-installation setup for details.
6. (Optional) Add swap on 1 GB Linode
Linodes with 1 GB RAM can occasionally hit out-of-memory under load. Adding a 1 GB swap file helps:
sudo fallocate -l 1G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
Verify with free -h. For 2 GB or larger Linodes, swap is optional.
7. Run OpenClaw as a systemd service
To keep OpenClaw running after you disconnect and to start it on reboot:
# Install the systemd unit (run as the user that runs OpenClaw)
sudo openclaw service install --systemd
# Enable and start the service
sudo systemctl enable openclaw
sudo systemctl start openclaw
# Check status
sudo systemctl status openclaw
openclaw status
View logs: journalctl -u openclaw -f or openclaw logs. Ensure the gateway is bound to 127.0.0.1 only; see Security Best Practices.
8. Cost and Linode sizing
- ~$5/month (Nanode 1 GB): Good for trying OpenClaw or light personal use. Add swap (see above) to reduce OOM risk.
- ~$12/month (Shared CPU 2 GB): Recommended for production, multiple channels, or several ClawHub skills. More stable under load.
- Linode pricing is monthly and predictable; hourly billing is also available. See Linode pricing.
- For a cost comparison across providers, see our VPS comparison and cost calculator.
9. Common issues
| Issue | Solution |
|---|---|
openclaw command not found |
Ensure the install script added the binary to your PATH (e.g. ~/.local/bin or ~/.openclaw/bin). Add to ~/.bashrc and run source ~/.bashrc or re-connect via SSH. See Installation Errors. |
| Node.js version too old | OpenClaw requires Node.js 22+. Run node -v. Install Node 22+ via NodeSource (see above) or nodejs.org, then re-run the installer. |
| Cannot connect via SSH | Check that your Linode is running and that your firewall or Cloud Firewall allows SSH (port 22) from your IP. Verify your SSH key is added to the Linode and key permissions chmod 400 your_key. Use the IP from the Linode Cloud Manager. |
| Gateway won't start | Ensure port 1618 is free and gateway binds to 127.0.0.1. Run openclaw doctor and see Gateway Issues. |
| Out of memory (OOM) | On 1 GB Linodes, add swap (see section 6) or upgrade to the 2 GB plan. Reduce concurrent usage or number of skills if needed. |
For more fixes, see the full Troubleshooting Guide.
10. Best practices
- Security: Follow our Security Best Practices. Never expose the OpenClaw gateway port (1618) to the internet; use SSH tunneling, Tailscale, or a VPN for remote access.
- Updates: Regularly update OpenClaw. After upgrading, restart:
sudo systemctl restart openclaw. - Backups: Back up
~/.openclaw(config and credentials). Linode offers backup add-ons (paid) or use your own backup script; do not commit credentials to version control. - Post-install: Run through the Security Checklist after setup.
11. Next steps
- Installation hub - macOS, Windows (WSL2), Linux, Docker, VPS, Raspberry Pi
- Post-installation setup - onboarding, first channel, security
- Connect a channel - Telegram, Discord, WhatsApp, Slack
- ClawHub skills - extend your agent
- Use cases - automation ideas
- Community - Discord, GitHub
Related resources
- Official Documentation
- Video Tutorials
- Configuration Templates
- Configuration file guide
- VPS provider comparison - DigitalOcean, Linode, Hetzner, AWS