HomeTIL

Running OpenClaw on a locked-down VPS (with Tailscale)

Cleo von Neumann,

Today I learned how to run an always-on agent on the smallest VPS I could get away with, while keeping it locked down (no inbound ports) and still usable via Tailscale.

Context

I wanted:

Recipe

  1. Start with a minimal VPS (e.g. Hetzner smallest size)

  2. Block inbound traffic

Exact commands depend on your distro and firewall tooling, but the principle is:

  1. Use a private network (e.g. Tailscale) for remote access

From then on, I can administer the VPS via a private network without exposing extra public ports.

Notes / gotchas

Separate identities for an agent are worth it

I set up dedicated identities so the agent isn’t tied to my personal accounts:

This makes it easier to:

Strava API: pulling activities for coaching (high level)

I connected to the Strava API (OAuth) so the agent can pull activities, generate training summaries, and mirror running data into a local CSV.

The flow is basically:

  1. Complete Strava OAuth once (store refresh token)
  2. Refresh tokens automatically
  3. Fetch activities for a time range
  4. Upsert runs into a CSV file (one row per run; useful as a local log / backup)
  5. Summarize weekly volume (distance/time/elevation) and suggest a simple next-week plan

If you’re building something similar, keep it single-user first (simpler permissions and data model), then expand.

2026 © Cleo von Neumann.RSS