Where to run Webamend, a VPS or your own server

Webamend runs on any Linux box that can run rootless Docker. Here is how to pick between a rented VPS and a server you own, and the one number that decides it.

Every hosting comparison ends with "it depends". This one ends with a number, but first the part that does not depend on anything.

Webamend runs on a plain Linux machine. Not a platform, and not a function that a provider runs for you. It needs a real kernel because every client gets their own Linux user with their own rootless Docker daemon, and the agent runs inside a throwaway container under that daemon with no network. That isolation is the whole point of the design, and it needs a machine you can create users on. Shared hosting with a control panel is out. So is Vercel, and not because of time. A Vercel Function can run for five minutes by default and up to 800 seconds on a paid plan, which would cover most agent runs. What it cannot do is start a Docker daemon and run a container inside it, and that container is the sealed room. Netlify Functions and Lambda have the same shape and the same problem.

Two timings worth separating. Installing Webamend on a fresh machine takes about a minute. An agent run takes as long as the model takes, which for a new section can be several minutes, and the app stays up between runs so the next request has somewhere to land.

What it needs from that machine is short. Docker with Compose 2.17 or newer, Node 22, Git and curl, with Caddy in front for TLS. The bootstrap script in the repository installs Docker and lays out /srv/webamend; each client is then a directory under it at mode 0700 with its own Linux user and Docker daemon, one Compose project per site, and an .env file.

A rented VPS

For almost everyone this is the answer.

A VPS from Hetzner or DigitalOcean, or whoever you already pay, is provisioned in a minute and billed by the month at a price that is hard to argue with, with snapshots a click away. You get a fresh Debian or Ubuntu image with root and a public address. That is everything Webamend wants.

Amazon EC2 counts as a VPS here, and so do the equivalent virtual machines at Google and Microsoft. They are the same kind of machine with a bigger invoice, and Webamend runs on them exactly as it does on a Hetzner box. EC2 is the sensible pick when the rest of your infrastructure already lives in AWS and you want one bill, one set of security groups and the snapshots you already know.

One thing to check before you pay: rootless Docker needs a proper virtual machine, not a container pretending to be one. Any KVM-based VPS is fine. The cheap OpenVZ and LXC plans that some providers still sell are not, because the kernel is shared and the user namespaces Webamend relies on are not there. If the provider's page says KVM, you are fine. If it does not say, pick one that does.

Sizing is where the number comes in. A running agent uses around 400 MB of memory and an idle installation around 160 MB, so a 4 GB VPS runs four or five client sites with room to breathe, and a 16 GB one runs twenty to twenty-five. Disk is about 10 GB per client, most of it the working copies and the container images. CPU barely matters. The agent spends nearly all of its time waiting for a model to answer, and the site builds happen at Netlify, not on your box.

Location does not matter either, for the same reason. Nobody is loading pages from this server. Pick the region that is cheapest or closest to you for when you need to ssh in.

A server you own

Bare metal makes sense in two situations, and if you are not in one of them it is a more expensive way to get the same result.

The first is memory. Past twenty or so client sites the VPS bill starts to look like a dedicated server's bill, and a dedicated server gives you far more memory for the money. Hetzner's auction servers are the usual example. At that scale you also want the local image registry that the hosted version uses, so a request never depends on pulling from the internet, and that is easier to justify on a machine with disk to spare.

The second is a contract. Some clients, particularly the regulated kind, will ask where their files are processed and want the answer to be hardware you control. A server in your own rack, or a rented dedicated box with a contract naming its location, answers that in a way a VPS plan sometimes cannot.

What you take on in exchange is the boring part of infrastructure. Disks fail, and on a VPS that is the provider's problem. On your own server it is yours, along with the backup schedule, the kernel updates, the monitoring and the two in the morning reboot. None of it is hard. All of it is time you are no longer billing for.

Moving later is cheap, so start small

The reason this decision is low stakes is that Webamend has no database. The pull requests are in GitHub, the previews are at Netlify, and the only thing on the server that cannot be rebuilt from a fresh clone is each client's .env file. Back those up and the machine is disposable. Moving from a VPS to a dedicated server is a matter of copying a handful of small files and running the bootstrap again, and the clients never notice, because nothing they use lives there.

So the honest advice is to rent the smallest KVM VPS that fits the clients you have today, and revisit it when the memory graph says so or a contract does. If you would rather not run any of it, the hosted plans do exactly this on my servers, priced per website.

The full setup, including the per-client layout and the release script, is in the repository. If something there does not match what you see on your machine, tell me.