Open Source · ~£85/month total

Your own AI agent,
running 24/7

A complete guide to setting up OpenClaw on a VPS with Claude Max, secure VPN access, and automatic file sync to your laptop.

Your Laptop

  • Claude Code + Nimbalyst
  • Syncthing
  • WhatsApp / Telegram
Tailscale VPN
encrypted

Your VPS

  • OpenClaw
  • Syncthing
  • Claude Max token
Files sync both ways
GitHub workspace backup
A

You do the basics

Create accounts, order a VPS, install Tailscale, set up SSH keys.

~30 minutes
B

Claude does the rest

Paste a prompt into Claude Code — it SSHs into your VPS and installs everything automatically.

Automated
Part A

What you need to do

The manual steps — about 30 minutes of your time.

Step A1

Create your accounts

You need four accounts. Most are free. Follow each one in order:

#ServiceWhat forCost
1 Claude Max Powers your AI agent (Opus 4) £80/mo
2 IONOS VPS Server to run everything ~£5/mo
3 Tailscale Private VPN between devices Free
4 GitHub Workspace backup & versioning Free
Step A2

Install Tailscale on the VPS

This is the only time you need to SSH into the VPS directly. After this, everything goes through the VPN.

Open your laptop terminal

Mac: Press Cmd+Space, type “Terminal”, hit Enter
Windows: Press the Windows key, type “PowerShell”, hit Enter

Connect to your VPS using the IP and password from the IONOS email:

# Replace YOUR_VPS_IP with the IP from your IONOS email
ssh root@YOUR_VPS_IP

It’ll ask “Are you sure you want to continue connecting?” — type yes and press Enter.
Then paste or type the root password from the IONOS email (it won’t show as you type — that’s normal).

Install Tailscale

Once you’re logged into the VPS, run these two commands:

curl -fsSL https://tailscale.com/install.sh | sh
sudo tailscale up

It’ll print a URL like https://login.tailscale.com/a/abc123...

Copy that URL and open it in your browser. Log into Tailscale with the same account you created in Step A1. This connects your VPS to your private network.

Type exit and press Enter to disconnect from the VPS.

Step A3

Install Tailscale on your laptop

Mac

If you have Homebrew installed:

brew install tailscale

Otherwise, download the app from tailscale.com/download and drag it to Applications.

Windows

Download the installer from tailscale.com/download and run it.

Sign in with the same Tailscale account you used in Step A2.

Verify the connection

tailscale status

You should see your VPS listed with a 100.x.x.x IP address. Write this down — that’s your VPS’s private IP from now on.

Test it:

# Replace with your actual Tailscale IP
ping 100.x.x.x

If you see replies, you’re connected. Press Ctrl+C to stop the ping.

Step A4

Set up SSH over Tailscale

Make sure you can SSH to the VPS through the VPN:

# Replace 100.x.x.x with your VPS's Tailscale IP
ssh root@100.x.x.x

If that works, exit and set up an SSH key so Claude Code can connect without passwords:

# On your LAPTOP (exit the VPS first if connected)

# Generate a key — press Enter at each prompt, no passphrase needed
ssh-keygen -t ed25519

# Copy it to your VPS (replace 100.x.x.x with your Tailscale IP)
ssh-copy-id root@100.x.x.x

Test it:

ssh root@100.x.x.x "echo 'SSH key works!'"

If it prints “SSH key works!” without asking for a password, you’re golden.

Step A5

Install Claude Code on your laptop

Install Node.js first

Mac (with Homebrew):

brew install node

Mac (without Homebrew) or Windows: Download from nodejs.org — pick the LTS version, run the installer.

Install Claude Code

npm install -g @anthropic-ai/claude-code

Log in

claude

It’ll open a browser window to authenticate with your Claude Max account. Sign in, approve the connection, and you’re set.

Install Nimbalyst (visual workspace)

Nimbalyst is a free desktop app that gives you a visual workspace for Claude Code. It lets you view and edit markdown files, manage agent sessions on a kanban board, preview diagrams, and review changes your agent makes — all without touching a terminal.

Why Nimbalyst? When your agent writes a business proposal or research document, Nimbalyst renders it beautifully — formatted markdown, tables, diagrams. Much nicer than reading raw .md files.
Step A6

Create a private GitHub repo

Your agent’s workspace (personality, skills, memory) will be backed up here. Version history means you can always roll back.

  1. Go to github.com/new
  2. For Repository name, type my-openclaw-workspace
  3. Select Private
  4. Don’t tick “Add a README file” or any other boxes
  5. Click Create repository

Leave that page open — you’ll need the repo URL later (it looks like https://github.com/YOUR_USERNAME/my-openclaw-workspace.git).

Don’t have git on your laptop? Mac has it built in — open Terminal and type git --version to check. Windows: download from git-scm.com.
Step A7

You’re done with Part A!

That’s everything you need to do manually. You should now have:

Now move on to Part B — paste a single prompt into Claude Code and it handles everything else.

Part B

Let Claude Code do the rest

Open Claude Code on your laptop, paste the prompt below, and watch it set up your entire stack.

The Prompt

Copy this into Claude Code

Open your terminal and type claude to start Claude Code. Then paste this prompt (edit the values in CAPS first):

I need you to set up OpenClaw on my VPS. Here are my details:

- VPS Tailscale IP: YOUR_TAILSCALE_IP (e.g. 100.64.0.2)
- My username for the VPS: YOUR_NAME (lowercase, no spaces)
- My GitHub repo: https://github.com/YOUR_USERNAME/my-openclaw-workspace.git
- My GitHub email: YOUR_EMAIL

Please SSH into the VPS at the Tailscale IP as root and do the following:

## 1. Base server setup
- apt update && apt upgrade -y
- Create a non-root user with my username, add to sudo and docker groups
- Install Docker CE and Docker Compose
- Install Node.js 20+ and pnpm globally (npm install -g pnpm)
- Install git
- Fix SSH rate limiting: add "MaxStartups 50:30:100" to /etc/ssh/sshd_config and restart sshd

## 2. Install OpenClaw
- As the non-root user, mkdir ~/openclaw && cd ~/openclaw
- Run: npx openclaw@latest init
- Follow the setup wizard
- Configure the model as anthropic/claude-opus-4-6
- I will provide the setup-token when you need it (run "claude setup-token" on my laptop)
- Start the gateway with docker compose up -d
- Verify: docker ps should show the gateway container as "Up"

## 3. Connect GitHub
- Configure git with my name and email
- Generate an SSH key on the VPS
- Show me the public key so I can add it to GitHub
- Link the OpenClaw workspace directory to my private repo
- Set up a cron job or git hook to auto-push workspace changes

## 4. Install Syncthing
- Install Syncthing on the VPS
- Set up as a systemd service running as my user
- Create ~/openclaw-files/ as a shared directory
- Configure Syncthing to only listen on the Tailscale interface
- Show me the device ID so I can pair it with my laptop

## 5. Lock down security
- Set up UFW firewall: allow SSH only from Tailscale range (100.64.0.0/10)
- Disable root password login via SSH
- Ensure all services (Syncthing UI on 8384) only bind to the Tailscale IP

## 6. Verify everything
- docker ps: OpenClaw gateway is "Up"
- Send a test message to agent via WhatsApp/Telegram
- Syncthing is running and ready to pair
- GitHub workspace backup is pushing

Go step by step. Ask me for input when needed (setup-token, QR code scanning, GitHub key approval, etc).
What happens next

Claude will walk you through it

After pasting the prompt, Claude Code will start SSHing into your VPS and running commands. It’ll pause and ask you for input at a few key moments:

1

Setup token

Claude will ask you to run claude setup-token in a separate terminal. Copy the output and paste it back.

2

Chat channel

For WhatsApp: you’ll scan a QR code with your phone. For Telegram: you’ll create a bot via @BotFather and share the token.

3

GitHub SSH key

Claude will show you a public key. Copy it, go to github.com/settings/ssh/new, paste it in, and click “Add SSH key”.

4

Syncthing pairing

Claude will show you a Syncthing device ID. You’ll add this in the Syncthing app on your laptop to pair the devices.

After setup

Install Syncthing on your laptop

This is the one thing you install locally (Claude can’t install apps on your laptop):

Mac

brew install syncthing
brew services start syncthing

Windows

Download from syncthing.net/downloads and run the installer.

Pair with your VPS

  1. Open http://localhost:8384 in your browser (Syncthing UI)
  2. Click Add Remote Device
  3. Paste the device ID that Claude showed you
  4. Under Addresses, change dynamic to:
# Replace with your VPS's Tailscale IP
tcp://100.x.x.x:22000
  1. Save, then accept the shared folder when prompted
  2. Choose where to sync on your laptop (e.g. ~/openclaw-files)
How it works in practice You tell your agent: “Write a business proposal.” Seconds later, ~/openclaw-files/business-proposal.md appears on your laptop. Open it in Word, Pages, Google Docs — whatever you prefer. Edit it there and changes sync back.
Final check

Verify everything works

Run through this checklist:

Quick test command you can run in a terminal:

# Replace 100.x.x.x and YOUR_NAME with your values
ssh YOUR_NAME@100.x.x.x 'echo "Hello from your VPS!" > ~/openclaw-files/test.txt'

# Check it appeared on your laptop:
cat ~/openclaw-files/test.txt

Monthly costs

ServiceCost
Claude Max£80/month
IONOS VPS (M plan)~£5/month
TailscaleFree
SyncthingFree
GitHub (private repo)Free
NimbalystFree
Total~£85/month

Talk to your agent

Message it on WhatsApp like texting a colleague:

Get files automatically

Anything the agent writes lands in ~/openclaw-files/ on your laptop. Open in Nimbalyst for beautifully rendered markdown with diagrams and tables, or use Word, Pages, Google Docs — whatever you prefer.

Customise

Give it a personality, specific skills, and recurring tasks. Edit SOUL.md in the workspace to define who your agent is.

Scale up

Ready to manage your agent with goals, task boards, and governance? Add Paperclip — an open-source dashboard that turns your agent into a managed employee.

Optional add-ons

Paperclip — Agent Dashboard & Orchestration

Turn your OpenClaw agent into a managed employee. Set company goals, assign tasks on a kanban board, track heartbeats, and scale to multi-agent teams with org charts and budgets. Free, open source.

View setup guide →

Troubleshooting

Can’t SSH into the VPS

Check Tailscale is running on both devices: tailscale status. If the VPS isn’t listed, SSH in via the public IP temporarily and re-run tailscale up.

“401 Authentication Error” from Claude

Your setup token expired. Run claude setup-token on your laptop, then on the VPS:

openclaw models auth paste-token --provider anthropic
# Paste the new token, then restart OpenClaw

Syncthing not syncing

Check both devices show “Connected” in the Syncthing UI. Verify device addresses use tcp://TAILSCALE_IP:22000 not dynamic.

VPS running slow

SSH in and run free -h. If under 1 GB free, consider upgrading the IONOS plan.

SSH connections dropping

Your VPS may have aggressive SSH rate limiting. Fix it:

ssh root@YOUR_TAILSCALE_IP 'echo "MaxStartups 50:30:100" >> /etc/ssh/sshd_config && systemctl restart sshd'