Tobias Glöckler Agentic Engineer

Why I Moved My AI Coding Setup to a $16 Hetzner VPS

4 min read AI

How I moved Codex, Claude Code, Docker, and code-server from my MacBook Air to a small Hetzner VPS while traveling.

Illustration of a laptop connected to a remote development server
Copied article as Markdown

I moved my development setup from my MacBook to a Hetzner VPS.

The server costs me $16.49 per month. I first tried the small $5 server, but it could not handle multiple agents running at the same time. The $16 one works fine.

I am currently traveling in Vietnam. I work from coworking spaces, apartments, and sometimes cafes. That makes battery life and performance very noticeable.

The Problem With Local AI Coding

Codex and Claude Code use a lot of resources.

On top of that, I often run Docker containers like MariaDB. All of this adds up. My MacBook Air has 8GB of RAM, and I can feel it getting slow.

The worst case is running an agent while being in a Google Meet. That is basically not possible.

Battery is the other problem. AI coding tools drain it fast. When you work on the go, that becomes annoying quickly.

I Almost Bought a New MacBook

I was planning to buy the new MacBook M5 with 32GB of RAM. It would have cost me $2,315.07.

With the VPS setup, I do not need to do that right now. The heavy work runs on the server. My laptop becomes the screen, keyboard, and browser.

That saves money. It also saves battery.

There is another side benefit: if a malicious npm package ever gets installed, it lands on the VPS, not on my MacBook. I still use security measures to reduce that risk, but the isolation is nice.

My Current Setup

I use a Hetzner CPX32 VPS for development only. I deploy my web apps on a separate server.

On the VPS I installed:

  • Codex CLI
  • Claude Code
  • T3 Code
  • Docker
  • code-server

T3 Code connects via SSH and lets me work on projects from the server. I also set up the Codex App on my Mac to connect via SSH.

For terminal work, I use cmux. The sidebar and tabs make it easier to keep many sessions open.

For small tasks, I still use the Codex CLI directly. In the app I usually create a project. In the CLI I can open any folder, do the task, and close it again.

VS Code Without SSH Lag

At first I used the VS Code SSH extension to browse files on the server.

It worked, but it felt a bit laggy.

Now I use code-server. It runs VS Code on the VPS, and I open it in my browser.

It feels as good as a native install on my laptop, but without the SSH lag.

Keeping It Private With Tailscale

I protect the server with Tailscale.

My laptop and servers are in the same private Tailscale network. SSH and code-server are only reachable through that network.

That keeps the setup simple and private. I do not expose my development editor to the public internet.

Localhost Still Feels Local

In the SSH config, I forward development ports back to my laptop.

So if a project runs on localhost:3000 on the VPS, I can open it normally on my MacBook and preview the app in my browser.

That makes the setup feel almost local.

Why This Works So Well

The server has stable internet and stable power.

Agents can keep working even if my laptop battery is low, my Wi-Fi changes, or I close the lid.

With the Amphetamine app on my Mac, I can close the laptop while agents continue running on the VPS.

Storage is also easier. My 512GB MacBook disk kept filling up with node modules and project files. Now the heavy projects live on the server, where I can increase disk size when needed.

This Is Not Experimental

SSH has been around forever.

This setup does not feel like a hack. It feels solid.

The only real change is that the computer doing the work is no longer under my fingers. It sits in a data center, costs about the same as a few coffees per month, and gives my MacBook a much easier life.

For agentic coding while traveling, that tradeoff is worth it.

Share:
Copied article link
Tobias Glöckler

Tobias Glöckler

Agentic Engineer

Building AI automations, custom software, and web products.