Skip to content

What a VPS costs per self-hosted app: plan RAM against 183 measured apps

data as of October 13, 2026

A VPS is sold by the plan, but you run apps on it one at a time. This page divides one by the other: given what a self-hosted app actually uses at idle, how many of them does a plan's RAM hold, and what does that make each one cost per month? It is arithmetic on two published datasets, with every input shown, and it stops where the measurements stop.

The inputs are the idle RAM we measured for 183 apps, and the standing list prices recorded in this repository for the providers we track. Nothing here is a benchmark of the providers, and nothing here is a recommendation of how many apps to put on a server.

The numbers

183 apps measuredidle RAM from the open dataset (export generated 2026-10-13). Median 159 MB; 75th percentile 456 MB.
616 MB for the OSheld back from every plan: the larger of two idle readings of Ubuntu 26.04 with Docker and no containers, taken on our test boxes. Measured on that image, not on each provider's.
24 standing plansacross 5 providers priced at their standing list price. 2 providers with promotional or term-locked prices are left out of the arithmetic.
noteHow to read claims on this page. Plan sizes are in GB of 1,024 MB; measured MB come from docker stats, which reports MiB, so the two are on the same scale. Measured: an app's idle RAM, read off a running box. Documented: a project's own stated minimum, quoted and never corrected. Listed: a plan's price and RAM from the provider's public pricing, with the date we last checked it. Calculated: arithmetic on those, with the inputs shown. Nothing here is an estimate of load.
noteDisclosure. Links to DigitalOcean and Kamatera elsewhere on this site are paid affiliate links. They played no part in this arithmetic: every standing plan is computed the same way. See the affiliate disclosure.

Method

For each orderable plan with a standing price:

  • Usable RAM = plan RAM − 616 MB.
  • Apps that fit alone = how many of the 183 measured apps have an idle figure at or below the usable RAM. One app at a time, idle.
  • Slots = usable RAM ÷ the median (159 MB) or 75th-percentile (456 MB) idle figure, rounded down. That is how many median- or p75-sized apps the RAM holds at idle.
  • Cost per slot = monthly plan price ÷ slots.
  • Documented fits = how many of 244 apps' documented minimum RAM are at or below the plan's RAM, for contrast with the measured column.

A slot is a unit of arithmetic, not a capacity promise. See the limits below before using any of it to size a server.

DigitalOcean (prices checked 2026-09-27)

Basic 1GB · $6.00/mo1 GB RAM (408 MB usable) · 1 vCPU · 133 of 183 measured apps fit alone · 2 median-sized apps at idle ($3.00 each); 0 at p75 · 159 of 244 documented minimums fit
Basic 2GB · $12.00/mo2 GB RAM (1.4 GB usable) · 1 vCPU · 173 of 183 measured apps fit alone · 9 median-sized apps at idle ($1.33 each); 3 at p75 ($4.00 each) · 210 of 244 documented minimums fit
Basic 2GB/2vCPU · $18.00/mo2 GB RAM (1.4 GB usable) · 2 vCPU · 173 of 183 measured apps fit alone · 9 median-sized apps at idle ($2.00 each); 3 at p75 ($6.00 each) · 210 of 244 documented minimums fit
Basic 4GB · $24.00/mo4 GB RAM (3.4 GB usable) · 2 vCPU · 183 of 183 measured apps fit alone · 21 median-sized apps at idle ($1.14 each); 7 at p75 ($3.43 each) · 235 of 244 documented minimums fit
Basic 8GB · $48.00/mo8 GB RAM (7.4 GB usable) · 4 vCPU · 183 of 183 measured apps fit alone · 47 median-sized apps at idle ($1.02 each); 16 at p75 ($3.00 each) · 242 of 244 documented minimums fit

Hetzner Cloud (prices checked 2026-09-27)

CPX12 · $14.09/mo2 GB RAM (1.4 GB usable) · 1 vCPU · 173 of 183 measured apps fit alone · 9 median-sized apps at idle ($1.57 each); 3 at p75 ($4.70 each) · 210 of 244 documented minimums fit
CPX22 · $23.59/mo4 GB RAM (3.4 GB usable) · 2 vCPU · 183 of 183 measured apps fit alone · 21 median-sized apps at idle ($1.12 each); 7 at p75 ($3.37 each) · 235 of 244 documented minimums fit
CPX32 · $42.59/mo8 GB RAM (7.4 GB usable) · 4 vCPU · 183 of 183 measured apps fit alone · 47 median-sized apps at idle ($0.91 each); 16 at p75 ($2.66 each) · 242 of 244 documented minimums fit
CPX42 · $82.59/mo16 GB RAM (15.4 GB usable) · 8 vCPU · 183 of 183 measured apps fit alone · 99 median-sized apps at idle ($0.83 each); 34 at p75 ($2.43 each) · 244 of 244 documented minimums fit
CPX52 · $119.59/mo24 GB RAM (23.4 GB usable) · 12 vCPU · 183 of 183 measured apps fit alone · 150 median-sized apps at idle ($0.80 each); 52 at p75 ($2.30 each) · 244 of 244 documented minimums fit
CPX62 · $153.59/mo32 GB RAM (31.4 GB usable) · 16 vCPU · 183 of 183 measured apps fit alone · 202 median-sized apps at idle ($0.76 each); 70 at p75 ($2.19 each) · 244 of 244 documented minimums fit

Kamatera (prices checked 2026-09-27)

1GB · $4.00/mo1 GB RAM (408 MB usable) · 1 vCPU · 133 of 183 measured apps fit alone · 2 median-sized apps at idle ($2.00 each); 0 at p75 · 159 of 244 documented minimums fit
2GB · $6.00/mo2 GB RAM (1.4 GB usable) · 1 vCPU · 173 of 183 measured apps fit alone · 9 median-sized apps at idle ($0.67 each); 3 at p75 ($2.00 each) · 210 of 244 documented minimums fit
4GB · $12.00/mo4 GB RAM (3.4 GB usable) · 2 vCPU · 183 of 183 measured apps fit alone · 21 median-sized apps at idle ($0.57 each); 7 at p75 ($1.71 each) · 235 of 244 documented minimums fit
8GB · $23.00/mo8 GB RAM (7.4 GB usable) · 4 vCPU · 183 of 183 measured apps fit alone · 47 median-sized apps at idle ($0.49 each); 16 at p75 ($1.44 each) · 242 of 244 documented minimums fit

Linode (prices checked 2026-09-27)

Nanode 1 GB · $5.00/mo1 GB RAM (408 MB usable) · 1 vCPU · 133 of 183 measured apps fit alone · 2 median-sized apps at idle ($2.50 each); 0 at p75 · 159 of 244 documented minimums fit
Linode 2 GB · $12.00/mo2 GB RAM (1.4 GB usable) · 1 vCPU · 173 of 183 measured apps fit alone · 9 median-sized apps at idle ($1.33 each); 3 at p75 ($4.00 each) · 210 of 244 documented minimums fit
Linode 4 GB · $24.00/mo4 GB RAM (3.4 GB usable) · 2 vCPU · 183 of 183 measured apps fit alone · 21 median-sized apps at idle ($1.14 each); 7 at p75 ($3.43 each) · 235 of 244 documented minimums fit
Linode 8 GB · $48.00/mo8 GB RAM (7.4 GB usable) · 4 vCPU · 183 of 183 measured apps fit alone · 47 median-sized apps at idle ($1.02 each); 16 at p75 ($3.00 each) · 242 of 244 documented minimums fit
Linode 16 GB · $96.00/mo16 GB RAM (15.4 GB usable) · 6 vCPU · 183 of 183 measured apps fit alone · 99 median-sized apps at idle ($0.97 each); 34 at p75 ($2.82 each) · 244 of 244 documented minimums fit

Vultr (prices checked 2026-09-27)

1 GB · $5.00/mo1 GB RAM (408 MB usable) · 1 vCPU · 133 of 183 measured apps fit alone · 2 median-sized apps at idle ($2.50 each); 0 at p75 · 159 of 244 documented minimums fit
2 GB · $10.00/mo2 GB RAM (1.4 GB usable) · 1 vCPU · 173 of 183 measured apps fit alone · 9 median-sized apps at idle ($1.11 each); 3 at p75 ($3.33 each) · 210 of 244 documented minimums fit
4 GB · $20.00/mo4 GB RAM (3.4 GB usable) · 2 vCPU · 183 of 183 measured apps fit alone · 21 median-sized apps at idle ($0.95 each); 7 at p75 ($2.86 each) · 235 of 244 documented minimums fit
8 GB · $40.00/mo8 GB RAM (7.4 GB usable) · 4 vCPU · 183 of 183 measured apps fit alone · 47 median-sized apps at idle ($0.85 each); 16 at p75 ($2.50 each) · 242 of 244 documented minimums fit

The heavy end

18 of the 183 measured apps idle above 1 GB. The heaviest 8, and the cheapest listed standing plan that holds each one alone (idle only; databases, indexing and load come on top):

  • Zulip: 3.2 GB idle. Smallest-priced standing plan whose usable RAM covers that alone: Kamatera 4GB, $12.00/mo.
  • Graylog: 2.9 GB idle. Smallest-priced standing plan whose usable RAM covers that alone: Kamatera 4GB, $12.00/mo.
  • Langfuse: 2.6 GB idle. Smallest-priced standing plan whose usable RAM covers that alone: Kamatera 4GB, $12.00/mo.
  • Twenty: 2.2 GB idle. Smallest-priced standing plan whose usable RAM covers that alone: Kamatera 4GB, $12.00/mo.
  • Mailcow: 2.2 GB idle. Smallest-priced standing plan whose usable RAM covers that alone: Kamatera 4GB, $12.00/mo.
  • Immich: 1.9 GB idle. Smallest-priced standing plan whose usable RAM covers that alone: Kamatera 4GB, $12.00/mo.
  • Teable: 1.8 GB idle. Smallest-priced standing plan whose usable RAM covers that alone: Kamatera 4GB, $12.00/mo.
  • Dify: 1.7 GB idle. Smallest-priced standing plan whose usable RAM covers that alone: Kamatera 4GB, $12.00/mo.

What is not counted

Left out of the tables on purpose:

  • Contabo: promotional price (24-month term), checked 2026-07-20. A promotional price is not the rate you keep paying, and the catalog cannot yet tell a promo from a standing price on a per-plan basis, so these providers are not mixed into per-slot arithmetic.
  • OVHcloud: promotional price (12-month term), checked 2026-09-27. A promotional price is not the rate you keep paying, and the catalog cannot yet tell a promo from a standing price on a per-plan basis, so these providers are not mixed into per-slot arithmetic.
  • Google Cloud Platform: no plan list in the catalog, so no arithmetic.
  • Hetzner Cloud: CX23, CX33, CX43, CX53 listed but not orderable at the last check, so left out.

Limits

  • Idle, not loaded. The RAM figures are one reading 30 seconds after install, with no users and no data. Real use pushes them up, sometimes far. Slots show how much room is left before any of that, not how many apps will run well.
  • Apps do not just add up. Summing idle figures ignores shared databases, page cache, swap, and bursts such as indexing or first sync. Two apps that each idle at 300 MB can need more than 600 MB together under use.
  • RAM only. CPU, disk, bandwidth, backups, and your time are not in these costs. No CPU or setup time is measured in our dataset at all.
  • One machine shape. Idle RAM was measured on a GCP e2-standard-2 (8 GB) running Docker. Some apps size caches from total RAM, so the same app on a 1 GB plan may start smaller or not at all.
  • The OS reserve is borrowed. 616 MB was read on a Google guest image that includes agents a typical VPS image does not run, so it likely overstates the reserve on other providers' images. We did not measure those.
  • List prices, dated. Each provider heading carries the date we last checked its prices. Prices move, and these are the list rates in the catalog, not quotes, taxes, or any discount. Promotional prices are excluded for the reason given above.
  • Median and p75 are across our measured set. It is the apps we chose to test, not a sample of self-hosted software, so the median is not a typical app.

Get the data

The RAM inputs are the measured_ram_mb and documented_min_ram_mb columns of our open dataset, selfhost-atlas-data (CC BY 4.0, JSON and CSV, DOI 10.5281/zenodo.22983606). Prices are not in that dataset; they are the list prices recorded in the site's VPS catalog, each with its checked date. How the measurements are taken is on how we test, and the install side is in the install-quality report. To size a server for a specific app, start from its page and the Build Your Stack calculator.

Analytics cookies only (Google Analytics, PostHog). No ad networks, no cross-site tracking. See our privacy policy.