Running OpenClaw on your own VPS is the difference between a demo and a production system. Your computer sleeping kills your agent. A VPS doesn't sleep. Here's the complete guide to deploying OpenClaw on Hostinger — the host we recommend at Remote OpenClaw — with proper configuration from day one.
Why Hostinger for OpenClaw
There are plenty of VPS providers. We recommend Hostinger for most operators because the price-to-performance ratio is hard to beat for an OpenClaw workload, their control panel is genuinely usable, and one-click Ubuntu deployments mean you're not debugging OS setup before you've even started.
For what OpenClaw needs — primarily Node.js running continuously, outbound API requests, and a modest amount of storage for memory and logs — even their entry-level KVM 1 plan is sufficient.
Minimum specs that work:
- 1 vCPU, 4GB RAM, 50GB NVMe
- Ubuntu 22.04 LTS
- KVM virtualization (not OpenVZ — you want real kernel access)
For operators running multiple agents or heavier automation workloads, step up to KVM 2 (8GB RAM). Don't go below 4GB; OpenClaw plus Node plus a live messaging connection will spike above 1GB regularly.
Initial Server Setup
Once your VPS is provisioned and you have the IP address and root credentials, SSH in:
ssh root@YOUR_SERVER_IP
Start with the basics before touching OpenClaw:
# Update everything
apt update && apt upgrade -y
# Create a non-root user (don't run OpenClaw as root)
adduser openclaw
usermod -aG sudo openclaw
# Set up SSH key auth for your new user (from your local machine)
# ssh-copy-id openclaw@YOUR_SERVER_IP
# Switch to your new user
su - openclaw
Running OpenClaw as root is the kind of shortcut that causes problems later. Take the two minutes to set up a dedicated user.
Installing Node.js
OpenClaw requires Node.js 18 or later. Install the LTS version:
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
Installing OpenClaw
npm install -g openclaw
openclaw --version
Run the onboarding wizard:
openclaw onboard
The wizard asks for your AI provider API key, your preferred messaging channel (Telegram or WhatsApp), and basic configuration. Have your Anthropic or OpenAI API key ready before starting.
Telegram Bot Setup
Telegram is the recommended channel for VPS deployments. It's more reliable than WhatsApp for server environments and doesn't require browser session management.
- Open Telegram and message
@BotFather - Send
/newbot - Name your bot and create a username ending in
bot - Copy the token BotFather gives you
During openclaw onboard, select Telegram and paste your bot token. Then restrict access to your Telegram user ID only:
channels:
telegram:
allowFrom:
userIds:
- YOUR_TELEGRAM_USER_ID # Find this via @userinfobot
Don't leave it open. An unprotected bot on a public server is a liability.
Running as a System Service
This is what makes VPS deployment different from running it on your laptop. You want OpenClaw to start on boot and restart if it crashes.
Create a systemd service file:
sudo nano /etc/systemd/system/openclaw.service
Paste this, replacing openclaw with your username if different:
[Unit]
Description=OpenClaw AI Agent
After=network.target
[Service]
Type=simple
User=openclaw
WorkingDirectory=/home/openclaw
ExecStart=/usr/bin/openclaw
Restart=always
RestartSec=10
StandardOutput=journal
StandardError=journal
[Install]
WantedBy=multi-user.target
Enable and start:
sudo systemctl daemon-reload
sudo systemctl enable openclaw
sudo systemctl start openclaw
sudo systemctl status openclaw # Should show active (running)
Now your agent runs 24/7, restarts after crashes, and survives server reboots automatically.
Security Hardening
A VPS running an autonomous agent needs basic hardening. This isn't optional.
Firewall setup:
sudo ufw allow ssh
sudo ufw allow 443/tcp
sudo ufw enable
sudo ufw status
Don't open ports you don't need. OpenClaw communicates outbound to Telegram and your AI provider — it doesn't need inbound ports beyond SSH (and HTTPS if you're running webhooks).
Fail2ban to block brute force:
sudo apt install fail2ban -y
sudo systemctl enable fail2ban
sudo systemctl start fail2ban
Disable root SSH login:
Edit /etc/ssh/sshd_config and set:
PermitRootLogin no
PasswordAuthentication no
Then restart SSH: sudo systemctl restart sshd
(Make sure your SSH key is working for your non-root user before doing this.)
Keep OpenClaw updated:
npm update -g openclaw
sudo systemctl restart openclaw
The 2026 security releases closed several vulnerabilities in URL fetching, webhook routing, and skills sandboxing. Running outdated versions creates real exposure.
Webhook Mode for Reliability
For VPS deployments, configure Telegram in webhook mode rather than polling. Webhooks are more reliable and use fewer resources:
channels:
telegram:
webhook:
enabled: true
url: "https://YOUR_DOMAIN_OR_IP/telegram/webhook"
You'll need HTTPS for webhooks. Use Certbot with Nginx if you have a domain:
sudo apt install nginx certbot python3-certbot-nginx -y
sudo certbot --nginx -d yourdomain.com
If you're using an IP address without a domain, stick with polling mode for now — it works fine for personal use.
Monitoring Your Agent
Check logs when something's off:
# Tail live logs
sudo journalctl -u openclaw -f
# Last 100 lines
sudo journalctl -u openclaw -n 100
# Errors only
sudo journalctl -u openclaw -p err
Check status:
openclaw status
openclaw channels status
Set up a simple disk space check in cron to catch runaway log growth:
crontab -e
# Add: 0 9 * * * df -h / | mail -s "Disk usage" you@example.com
Backup Strategy
Your OpenClaw data — memory, configuration, skills — lives in ~/.openclaw. Back it up:
# Manual backup
tar -czvf openclaw-backup-$(date +%Y%m%d).tar.gz ~/.openclaw
# Automated daily backup via cron
0 2 * * * tar -czvf ~/backups/openclaw-$(date +\%Y\%m\%d).tar.gz ~/.openclaw
If you're on Hostinger, their VPS snapshots handle this at the server level. Either way, don't skip backups — your agent's memory is the most valuable thing on the server.
What a Good Deployment Looks Like
A properly set up OpenClaw on Hostinger should:
- Start automatically on boot
- Restart within 10 seconds if it crashes
- Accept messages only from your Telegram user ID
- Log errors to journald for easy diagnosis
- Have firewall rules that block unnecessary inbound connections
- Run as a non-root user with minimal system permissions
If your deployment doesn't have all of these, it's not production-ready — it's a demo that happens to be on a VPS.
Don't want to do this yourself? Remote OpenClaw handles the entire deployment — server setup, OpenClaw installation, Telegram or WhatsApp connection, and hardening baseline — so you skip straight to using your agent. See the plans and book a call.