Guide · 2 min read · Updated
Six sites and a database on one $5 VPS
This site runs on a server that costs $5 a month. So do five other content sites, the database behind all their forms and newsletters, and the analytics that counts their visits. Here’s the setup and what it actually uses, measured on 15 October 2026.
The box
A Vultr Regular Cloud Compute plan: 1 vCPU, 1 GB RAM, 25 GB disk, $5 a month, in London, running Ubuntu 24.04. It has 2.4 GB of swap configured as a safety net.
What runs on it
-
Caddy serves the six static sites and gets HTTPS certificates for them automatically. Each site is a folder of HTML built with Astro, between 0.8 and 3 MB.
-
PocketBase is a single Go binary with SQLite inside. It holds newsletter subscribers, contact and lead forms for all six sites, and the visit counts. Small JavaScript hooks pick the right site from the request’s host name.
-
Netdata streams the server’s metrics to our monitoring dashboard.
-
Two Node scripts run once a day from cron to pull Search Console and Google Analytics totals into the database.
There’s no Docker and no app server running all the time. Sites are built on a laptop and copied up with rsync.
What it uses
| Measure | Value |
|---|---|
| RAM in use | about 510 MB of 955 MB |
| Largest processes | Netdata 92 MB, PocketBase 46 MB, Caddy 41 MB |
| Swap in use | 102 MB |
| CPU, 7-day average | about 5% |
| Load average | 0.00 |
| Database on disk | 11 MB |
| Uptime checks, last 7 days | 100% for all sites, 19 to 35 ms average response |
The biggest memory user is the monitoring agent, not the sites. Caddy and PocketBase together use under 90 MB.
One caveat: these sites are new and traffic is still low. This shows what the setup costs at rest, not under load. Static files are cheap to serve, though, and Caddy can handle far more traffic than a small site gets.
What it costs per site
$5 ÷ 6 sites = about 83 cents a site per month, with forms, newsletters and analytics included. Email is sent through Brevo’s free tier, which allows 300 emails a day.
The same six sites on a platform that bills per app would cost much more. Try it in the VPS vs PaaS calculator with 6 apps and 0.05 GB each.
The limits
- One point of failure. If the box goes down, every site goes down. Keep builds in git and the server setup in a script so you can rebuild it quickly.
- You do the upkeep. Security updates, disk space, renewing anything that doesn’t renew itself. With automatic HTTPS and unattended upgrades it’s about an hour or two a month. Price your time in the calculator.
- RAM is the ceiling. Static sites and one Go binary fit easily. A few Node or Python servers would not. Our apps box runs 18 containers on 1 GB and shows it: it swaps heavily and gets slower when it’s busy.
When to use a platform instead
If an app needs to scale up and down, or you’d rather never log in to a server, a platform is worth paying for. For a handful of small, steady sites, a $5 box is hard to beat.
Questions
Is 1 GB of RAM really enough?
For static sites plus one small Go database server, yes: the box uses about half its memory. It would not be enough for several Node or Rails servers. Those need 200 MB or more each.
What happens if the server dies?
All six sites go down together. That is the real cost of one box. We keep the site builds in git and can rebuild the server from a provisioning script. A static site can also be moved to any other host in minutes.
Why not a free static host?
For a purely static site, a free host is a fine choice. We wanted the forms, the newsletter database and the analytics on the same machine and under our control, and a $5 server does all of it.
Sources
- Vultr API: list plans . Vultr
- Caddy documentation: automatic HTTPS . Caddy
- PocketBase documentation . PocketBase
Prices in this guide were checked on the date shown above and change often. Check each provider's pricing page before you commit.