A $5/month VPS with 2+ GB RAM is the recommended way to run Sentō. It stays up across reboots, survives network blips on your home internet, and doesn't require your laptop to stay on. Any VPS with Linux and Node 20+ works. This guide uses Hetzner as the reference host; DigitalOcean, Vultr, Linode, and Hostinger are nearly identical.

Prerequisites

Before you start, have this ready to paste during install:

  1. Channel bot token — Discord/Telegram/Slack. See Channels.

Authentication with Claude happens during setup. A URL will appear in your terminal — open it on any device, log in, paste the code back. No OAuth token to prepare beforehand.

1. Create the VPS

  1. Sign up at hetzner.com/cloud and add a payment method.
  2. New Project → Add Server.
  3. Location: nearest region to you.
  4. Image: Ubuntu 22.04 or 24.04.
  5. Type: CX22 (4 GB RAM, shared vCPU) — minimum 2 GB. Chromium crashes below that.
  6. SSH keys: skip if you don't have one set up; Hetzner will email you a root password.
  7. Name: sento-agent or similar.
  8. Create & Buy Now.

You'll get the IP + root password by email within a minute.

2. SSH in and create a user

Running as root is risky. Create a normal user first.

ssh root@YOUR_VPS_IP
adduser sento
usermod -aG sudo sento
su - sento

Set a strong password for the sento user, save it, skip the optional prompts by pressing Enter.

3. Install Node 20

Ubuntu's default Node is too old. Use NodeSource:

curl -fsSL https://deb.nodesource.com/setup_20.x | sudo bash -
sudo apt-get install -y nodejs
node -v

Should print v20.x.x or higher.

4. Run the installer

npx sentoagent init

Answer the prompts. Paste your tokens when asked. Setup takes 3–5 minutes and does the following:

  • Installs Claude Code and the relevant channel plugin
  • Sets up ~/workspace/ with a CLAUDE.md identity file
  • Installs ClawMem (persistent memory) with Gemini embeddings if provided
  • Writes a start script and a @reboot cron entry
  • Launches the agent in a tmux session
  • Starts the Guardian in the background (nohup)

When it finishes, the bot shows online in your chosen channel.

5. Verify

sento status
sento logs -n 40

Status should say running. Logs should show a recent heartbeat line.

Send your agent a message from your phone. It should react with 👀 and start the onboarding conversation.

What happens on reboot

Cron re-runs start-agent.sh at reboot. tmux session comes back. Guardian starts via nohup. Agent is online again in under a minute. No intervention needed.

Next