explainx.ainewsletter3.5k
TrendingNewsPathwaysSkills
Pricing
explainx.ai

Upskill in AI — 16 free pathways, live workshops & bootcamps, and 50+ courses from practitioners. Plus the skills, tools, and MCP servers to practice on.

follow us

custom AI agents

[email protected]

get started

Find your pathTake Free Evaluation

learn

pathways — start freeworkshopsbootcampscoursescertificationsmock testsexplainx universitycorporate traininglearn skills & mcp

discover

skillsmcp serversexplainx mcptoolsagentsllmsdesignsagi trackerranks

company

aboutvisionmissionteaminstructorscommunityhackathonscareers

content

daily AI newsstate of AI — live resultsblogreleasespromptsgeneratorsresource librarydemofor LLMs

solutions

all solutionsdeveloper upskillingmarketing upskillingproduct manager upskillingleadership upskilling

More from us

InfloqInfluencer marketingBgBlurPrivacy-first blurOlly SocialSocial AI copilotCeptoryVideo intelligenceBgRemoverBackground removal

newsletter · weekly

Get AI news, tools, and insights in your inbox.

supportprivacytermsdata rightssubmission guidelines

© 2026 AISOLO Technologies Pvt Ltd

On this page

  • TL;DR — levelsio VPS Production Manifesto
  • What changed — three stages of deploy evolution
  • Why VPS-only feels like "living in the future"
  • Solo on prod vs teams on staging
  • Hetzner + Tailscale + Cloudflare — setup checklist
  • Theo's six-month thesis — agents leave the laptop
  • Safety, backups, and when NOT to live-edit prod
  • Community replies — what builders are actually running
  • How June 28 and July 8 fit together
  • Summary
  • Related on explainx.ai
← Back to blog

explainx / blog

Claude Code on VPS Only: levelsio's Year-Long Production Workflow (June 2026)

Jun 28, 2026: Pieter Levels (~1.2M views) on a year of VPS-only Claude Code — live prod edits, deploy evolution, Hetzner + Tailscale setup, solo vs staging.

Jun 28, 2026·10 min read·Yash Thakker
Claude CodeVPSRemote DevelopmentAgent HarnessProduction DeploymentDevOps
go deep
Claude Code on VPS Only: levelsio's Year-Long Production Workflow (June 2026)

Update — August 9, 2026: Same Hetzner + Tailscale + Cloudflare Tunnel ingredients, inverted — a Berlin engineer replaced the VPS with a rooted CMF Phone 1 running Termux.

On June 28, 2026, Pieter Levels posted a thread that became one of the year's most-cited agent-dev manifestos — ~1.2M views by mid-July — describing almost a year of coding solely on a VPS with Claude Code. No laptop open. No battery drain. Switch phone or any device. Agents keep going overnight with /goal. Hacky projects start on the server and go live in seconds because the code already sits on production infrastructure.

Two weeks later, Levels extended the same stack for Nomads iOS — Termius from iPhone, Xcode on rented macOS — in our companion VPS + SSH iOS guide. This post is the June 28 manifesto: deploy evolution, live production edits, solo vs team staging, and the Hetzner + Tailscale + Cloudflare checklist Levels shared in replies.

Weekly digest3.5k readers

Catch up on AI

Curated AI updates on agents, skills, and MCP — delivered to your inbox. Unsubscribe anytime.


TL;DR — levelsio VPS Production Manifesto

QuestionAnswer
How long on VPS-only?~12 months of Claude Code as primary dev environment (Jun 28, 2026)
Why not a laptop?No lid open / battery drain; any device (Termius, etc.); overnight /goal runs
Deploy stage now?Claude Code on VPS live-edits production — 2 outages (~10 sec each) in a year
Solo vs team?Solo OK on prod; teams need staging server
Infra named?Hetzner VPS, SSH, Tailscale + Cloudflare Tunnels, firewall blocks inbound
Industry bet?Agrees with Theo: ~6 months until most devs move agents off laptops
Karpathy angle?Cloud/Slack agents — server-first orchestration (see Karpathy → Anthropic)
Backups?3-2-1 — on-site + off-site
iOS extension?July 8 Nomads thread — same VPS brain, macOS hop for Xcode

What changed — three stages of deploy evolution

Levels did not jump straight to live production edits. His thread sketches a deliberate regression toward speed — each stage traded safety ceremony for seconds saved.

StageFlowTypical latencyCommunity reaction
1 — ClassicLaptop → test local → GitHub → auto-pull deploy on server~1 minuteSensible default most teams still use
2 — Skip localLazy on new MBP: skip local Nginx, push straight to prod~3 seconds"People called me crazy"
3 — Agent on prod (now)Claude Code on VPS edits production live — no push stepImmediate2 site-down incidents in 12 months (~10 sec each)

explainx.ai's read: Stage 3 only works when you treat the VPS as a disposable agent harness host, not sacred infrastructure. Levels' two ten-second outages are the honest error budget — not zero, but acceptable for a solo builder shipping fast. Teams with SLAs should stop at stage 1.5: agent edits staging, human or CI promotes to prod.

The opposite philosophy — local-first, repo upload, no cloud credentials on a shared box — is what Grok Build open source advocates. Both camps agree the laptop is leaving the critical path; they disagree on whether production should be one SSH session away from rm -rf.


Why VPS-only feels like "living in the future"

Levels listed benefits that map cleanly to how long-running agents behave in 2026:

  1. No laptop open / no battery drain — the harness runs on wall power in a datacenter
  2. Device agnostic — phone, tablet, hotel PC; SSH is the UI (July iOS thread made Termius explicit)
  3. Overnight continuity — /goal and tmux survive your sleep; wake up to a diff, not a dead process
  4. Instant hacky deploys — spin a project on the same machine that serves traffic; no "works on my machine" transfer
  5. Blast-radius separation — after Codex $HOME deletion reports, a wiped /home/dev on a €5 VPS beats a wiped laptop home directory

That last point is why solo builders tolerate stage 3 live prod edits. The VPS is already the sandbox — until it isn't, because production databases and customer sessions live on the same disk.


Solo on prod vs teams on staging

Levels drew an explicit line in the thread:

ProfileLevels' recommendationWhy
Solo indieLive prod edits acceptableYou own the error budget; 10-second outages are survivable
Team / companyStaging server requiredConcurrent agents, review gates, and customer trust need promotion workflow
Regulated / enterpriseStaging + change control + auditLive agent shell on prod violates most compliance baselines

Staging pattern that preserves speed:

snippet
[Claude Code on staging VPS] → git push / rsync → [prod VPS auto-pull or blue-green]

Agents get full shell freedom on staging; production receives only reviewed artifacts — aligned with thin prompts, thick artifacts: chat stays thin, git carries truth.

For harness mechanics — permission modes, tool loops, checkpoint restore — see What is an agent harness?.


Hetzner + Tailscale + Cloudflare — setup checklist

Levels' setup reply on the June 28 thread named a concrete stack. This is explainx.ai's expanded checklist — official docs linked where noted; no competitor product URLs.

1. Provision Hetzner VPS

  • CX or CPX tier: 2+ vCPU, 4+ GB RAM for comfortable Claude Code + build tools
  • Ubuntu 24.04 LTS, single non-root dev user
  • Enable Hetzner Cloud Firewall: block all inbound by default

2. SSH hardening

bash
# As root on fresh VPS — create dev user
adduser dev
usermod -aG sudo dev
mkdir -p /home/dev/.ssh && chmod 700 /home/dev/.ssh
# Paste Ed25519 public key → authorized_keys (chmod 600)

# Disable password auth in /etc/ssh/sshd_config
# PasswordAuthentication no
# PermitRootLogin no
sudo systemctl reload sshd

3. Install Claude Code + tmux

bash
# As dev — persist sessions for phone reconnect
sudo apt update && sudo apt install -y git tmux build-essential
tmux new -s code
# Install Claude Code per official Linux docs
# ANTHROPIC_API_KEY in ~/.config/agent/env (chmod 600) — never in prompts

4. Tailscale (private mesh)

  • Install Tailscale on the VPS and every client device
  • SSH via Tailscale IP or MagicDNS hostname — no public SSH port required
  • Prefer Tailscale SSH or key-based auth; disable exposure of port 22 to the public internet

5. Cloudflare Tunnel (optional public HTTPS)

  • Run cloudflared on the VPS for web preview or admin UIs
  • Tunnel terminates TLS at Cloudflare; origin stays off the public internet
  • Pair with Cloudflare Access if you expose anything beyond localhost

6. Firewall summary

RuleAction
Inbound 0.0.0.0/0Deny (Hetzner firewall + ufw)
Tailscale interfaceAllow SSH, agent ports as needed
Cloudflare TunnelOutbound-only — no open inbound ports

7. Agent session hygiene

bash
tmux attach -t code || tmux new -s code
cd ~/your-product
claude   # harness runs here; /goal for overnight tasks
# Ctrl-b d to detach — iPhone Termius reconnects to same pane

For OpenCode on a VPS with local models instead of cloud API keys, see run open-source models in OpenCode. For visual session tabs instead of tmux, compare OpenCode Desktop worktrees.


Theo's six-month thesis — agents leave the laptop

Levels agreed with Theo (~Theo — builder and commentator in the agent-dev space): roughly six months until most developers move coding agents off laptops onto servers or cloud sandboxes.

Evidence in the thread and adjacent coverage:

  • Karpathy reportedly runs Claude via cloud/Slack — agents operate server-first, not IDE-first (Anthropic pre-training hire)
  • Community sandboxes — kayhe's sandbox setups, Phil Freo's Docker dev environments, peetzweg's 160k GitHub contributions from agent-assisted workflows
  • Peter Yang asked whether dedicated Claude Code / Codex desktop apps matter if the harness lives on a remote box — the answer trending toward no, SSH + tmux + /goal is enough UI

explainx.ai tracks the same shift in phone agent guides: the supervisor is mobile; the worker is always-on infrastructure.


Safety, backups, and when NOT to live-edit prod

3-2-1 backups (Levels' recommendation)

CopyWherePurpose
3 copies of dataProd + local/staging snapshot + off-siteSurvive single-disk failure
2 different mediaNVMe on VPS + object storageCorrelated failure resistance
1 off-siteHetzner Storage Box, S3-compatible, or git remoteFire/fraud/ransomware hedge

Automate daily DB dumps and pre-agent snapshots before destructive refactors. Treat snapshots as cheap rollback — not a substitute for git.

Hook-level guards

Even on a VPS, agents run shell. Layer defenses from Destructive Command Guard:

  • Block rm -rf /, git reset --hard, mass chmod
  • Run harness as unprivileged user — not root
  • Never enable full access on hardware you cannot wipe — see Codex $HOME chain

When NOT to live-edit production

Do not let Claude Code touch prod directly when:

  • Customers pay for uptime and a 10-second outage has real cost
  • Multiple engineers share one VPS without branch isolation or worktrees
  • PCI, HIPAA, SOC2, or similar requires segregation of duties
  • No staging mirror exists — you cannot diff before traffic hits changes
  • Backups are untested — you have never restored from them
  • Secrets live in the repo the agent reads — .env, signing keys, prod DB URLs
  • Database migrations need rollback plans agents cannot infer

In those cases: staging VPS + git promotion + CI smoke tests. Solo indie? Levels' error budget is instructive — two ten-second incidents in twelve months — not a guarantee for your stack.


Community replies — what builders are actually running

The June 28 thread spawned practical forks without changing the core thesis:

VoiceIdeaexplainx.ai mapping
Peter YangDo we need CC/Codex desktop apps if VPS SSH suffices?Terminal + /goal + harness guide
kayheSandboxed agent environmentsStaging VPS = disposable sandbox
Phil FreoDocker dev envs on serverContainerize services; agent edits mounted volumes
peetzweg160k GH contributions with agent assistThick artifacts in git

Local-first counterweight: Grok Build keeps inference and repo on hardware you own — opposite deployment, same agent loop.


How June 28 and July 8 fit together

DateThreadRole
Jun 28, 2026~1.2M views — VPS-only year, live prod, deploy evolutionManifesto (this post)
Jul 8, 2026~322.5K views — Termius, MacinCloud, Nomads iOSiOS extension — read the guide

Same VPS brain; July adds second SSH hop to macOS for Xcode. Start here for why; read July for how on iPhone.


Summary

June 28, 2026: Pieter Levels documented ~12 months of VPS-only Claude Code — overnight /goal runs, three-stage deploy evolution ending in live production edits, and two ~10-second outages in a year. Solo on prod; teams on staging. Stack: Hetzner, SSH, Tailscale, Cloudflare Tunnels, inbound firewall deny.

explainx.ai's read: this is the server-first agent harness thesis Theo and Karpathy echo — your laptop becomes a terminal remote, not the source of truth. Pair speed with 3-2-1 backups, DCG hooks, and honest when-not-to rules. For Nomads iOS and Termius, continue to the July 8 companion post.


Related on explainx.ai

  • CMF Phone 1 Termux home server — VPS replacement (Aug 2026) — skip Hetzner; rooted Android as the box
  • Claude Code VPS + SSH — iOS and MacinCloud (Jul 8) — sibling extension: Termius, Xcode hop
  • Codex $HOME deletion — full access sandboxing — why disposable VPS beats laptop prod
  • /goal command — long-running agents — overnight runs Levels cited
  • Grok Build open source — local-first vs cloud — opposite deployment philosophy
  • Andrej Karpathy joins Anthropic pre-training — server/cloud agent orchestration context
  • Thin prompts, thick artifacts — Thariq — git as promotion artifact
  • What is an agent harness? — permission modes and tool loops
  • OpenCode Desktop tabs — worktrees — visual parallel to tmux
  • Run open-source models in OpenCode on VPS — no cloud API keys on box
  • Destructive Command Guard — hook-level shell protection
  • Run AI coding agents from your phone — mobile supervisor patterns

Official infra docs: Hetzner Cloud · Tailscale install (Ubuntu) · Cloudflare Tunnel

Context: Pieter Levels X thread, June 28, 2026 (~1.2M views, edited 2:52 PM) · Companion July 8, 2026 Nomads iOS thread (~322.5K views)

Thread view counts, agent CLI behavior, and Hetzner/Tailscale/Cloudflare docs reflect community reports through July 16, 2026. Live production editing carries real outage risk — verify backups and staging before copying a solo-indie error budget. Published June 28, 2026 (story date); last updated July 16, 2026 with July 8 iOS cross-links and Codex safety context.

Yash Thakker

Written by

Yash Thakker

Yash is an AI expert with over 300K learners. Join his workshops →

Related posts

Jul 16, 2026

Claude Code on VPS + SSH: iOS via MacinCloud and the levelsio Remote Agent Stack

Pieter Levels stopped coding locally — Claude Code lives on a VPS, Termius on iPhone and MacBook Pro reach it over SSH, and a MacinCloud Mac Mini runs Xcode for the Nomads iOS app. explainx.ai maps the architecture, when it makes sense, and how to harden credentials after Codex $HOME deletion week.

Jul 22, 2026

Top 10 Closed-Source and Open-Source Agent Harnesses (2026)

The model gets the headline; the harness decides whether the agent actually finishes the task. Here are the top 10 closed-source and top 10 open-source agent harnesses builders are running in 2026 — what each one does differently, what it costs, and who should pick it.

Jul 16, 2026

You Don't Need a VPS to Auto-Publish Blogs — Railway Already Is Your Server

The levels.io-style VPS-and-tmux setup for autonomous publishing solves a problem you probably don't have if your app already deploys through Railway. Here's the alternative design — Claude Code on the web or phone for authoring, GitHub as the trigger, and a small CI safety net — plus the one real tradeoff it introduces.