Skip to content
Data

The median self-hosted app takes 1.4 GB of disk right after install; 21 apps at 5 GB or more hold 44% of the total

Nov 5, 2026 · 7 min read

data as of · Oct 2026
Data & methodn=194
Datalatest
n
194 apps
measured
Oct 2026
method
How we test
dataset
latestdoi:10.5281/zenodo.22983606
license
CC BY 4.0
Cite this
SelfHost Atlas (2026). The median self-hosted app takes 1.4 GB of disk right after install; 21 apps at 5 GB or more hold 44% of the total. https://selfhostatlas.com/blog/self-hosted-app-disk-footprint. Data: doi:10.5281/zenodo.22983606

Docker disk footprint for 194 self-hosted apps, each installed on a server pruned of earlier apps: median 1,388.5 MB, from 19 MB (RustDesk) to 27,324 MB (PostHog). Disk tracks idle RAM at the rank level (rho 0.84), but twelve apps that idle under 256 MB still take more than 2 GB of disk.

median Docker disk footprint right after install, of 194 apps
1,388.5 MB
apps measured
194
data as of
Oct 2026

Our idle-RAM posts cover one of the two numbers the harness records for every app it installs. The other is how much disk Docker is using once the install has finished. For the 194 apps with a measurement, the median is 1,388.5 MB. The range runs from 19 MB to 27,324 MB.

The distribution

Disk footprint Apps
Under 500 MB 56
500 to 999 MB 22
1,000 to 1,999 MB 43
2,000 to 4,999 MB 52
5,000 MB and over 21
Figure 1 · source: install-verification.json · n=194
  • 78 of the 194 apps (40%) take less than 1 GB; eleven take less than 100 MB.
  • The 21 apps at 5 GB or more account for 196,072 of the 447,891 MB in the whole set, which is 44% of all the disk for 11% of the apps.
  • The 56 apps under 500 MB have a median footprint of 264.5 MB and add up to 14,088 MB together, about half of PostHog on its own.

The heaviest ten

App Disk Idle RAM
PostHog 27,324 MB 16,824 MB
Strapi 17,554 MB 189 MB
Sentry 14,609 MB 13,284 MB
Windmill 14,205 MB 933 MB
Dify 11,180 MB 1,787 MB
Payload 10,454 MB 100 MB
LibreChat 10,109 MB 1,115 MB
Huly 9,813 MB 3,699 MB
Supabase 8,372 MB 1,285 MB
Krayin CRM 8,238 MB 466 MB

Seven apps take more than 10,000 MB. Two of them, Strapi and Payload, are unremarkable on RAM: both idle under 200 MB. The reason is in how they are installed. Neither project publishes an official prebuilt image, so our snippet for Strapi scaffolds a project and builds the image on the server, and the Payload one does the same. The footprint we record is everything docker system df counts, including Docker's build cache. The dataset keeps only the total, not the split between images and cache, so we cannot say how much of the 17,554 MB is cache, but a local build is the likely reason these two stand out.

The lightest ten

App Disk Idle RAM
RustDesk 19 MB 3 MB
Glance 34 MB 6 MB
Shiori 49 MB 5 MB
Syncthing 60 MB 18 MB
Tinyauth 62 MB 8 MB
Gatus 75 MB 8 MB
KeeWeb 77 MB 7 MB
IT Tools 81 MB 4 MB
Dozzle 83 MB 12 MB
WriteFreely 83 MB 16 MB

Disk follows RAM, with notable exceptions

Divide each app's disk footprint by its idle RAM and the median of those ratios is 6.6. The rank correlation between the two figures across the 194 apps is 0.84, so heavy-RAM apps are usually heavy on disk too, but the top of the two lists differs. Only three of the ten heaviest apps by idle RAM (PostHog, Sentry and Huly) are also in the disk top ten. The other seven, Zulip, Graylog, Langfuse, Twenty, Mailcow, Immich and Teable, all idle above 1,800 MB and take between 2,539 and 5,836 MB of disk, below Krayin CRM.

The more useful mismatch runs the other way. Twelve apps idle under 256 MB but take more than 2 GB of disk:

App Idle RAM Disk
Strapi 189 MB 17,554 MB
Payload 100 MB 10,454 MB
Komodo 110 MB 3,794 MB
PeerTube 210 MB 3,786 MB
Odoo 176 MB 3,618 MB
Nextcloud 210 MB 3,377 MB
PhotoPrism 102 MB 3,240 MB
Lemmy 250 MB 2,646 MB
HeyForm 239 MB 2,597 MB
Jellyfin 170 MB 2,362 MB
MediaWiki 106 MB 2,188 MB
SuiteCRM 105 MB 2,156 MB

If you size a small server by RAM alone, these are the apps that take a large share of a small disk before you have stored a single file in them.

Disk by category

These are the 22 categories with at least four measured apps, covering 118 of the 194. Thirteen of them have a median above the overall 1,388.5 MB.

Category Measured apps Median disk (MB) Lightest–heaviest (MB)
Backend & BaaS 5 8,372 2,034–17,554
AI Chat Interfaces 5 4,580 2,359–10,109
Team chat 4 3,643.5 499–5,740
Photo backup & gallery 4 2,975 1,271–5,836
No-code database 4 2,865 2,230–4,192
Workflow automation 5 2,800 970–14,205
CRM 7 2,156 1,575–8,238
Web analytics 5 1,844 1,266–27,324
Bookmarks 4 1,696 49–2,995
Project Management 11 1,637 126–9,813
Observability 7 1,450 364–5,503
Notes 6 1,434 100–3,159
Wiki & docs 5 1,416 867–2,188
SSO & Identity 8 848.5 62–2,344
Developer tools 4 838.5 81–7,331
Monitoring 7 817 75–2,658
Password manager 4 789.5 77–1,234
Media server 5 516 333–2,362
Dashboards 4 429.5 34–577
Code hosting 4 378 181–1,271
Media automation 6 356 263–1,140
File sharing 4 264 135–1,681

As with idle RAM by category, the spread inside a category is usually wider than the gap between category medians, so the per-app figure on each app's page is the one to use.

What this number is

The disk figure is the total docker system df reports, images, containers, local volumes and build cache together, read at least 30 seconds after the install finishes (the harness waits longer while any container still reports that it is starting), at the same moment as the idle-RAM reading. Before each app the harness removes every container, volume, network, image and build-cache entry from the previous one, so the total on the box is that app's footprint alone. It is a first-boot figure with an empty database and no user files; a photo library or a mail store grows from here.

Three limits to keep in mind:

  • It is Docker's accounting, not a measurement of a specific directory, and apps installed by building an image locally carry their build cache.
  • Two apps that pull the same base image share its layers on one host, so the figures do not simply add up across a stack.
  • 188 of the 194 measurements were taken on a Google Cloud e2-standard-2 running Ubuntu 26.04 LTS with Docker; six apps (PostHog, Sentry, Langfuse, RustDesk, AppFlowy and LiteLLM) were run on larger e2-standard machines. Each figure is one reading, not an average.

The install harness and its clean-server protocol are described on How we test; the disk reading itself is the docker system df total described above. The RAM side of the same measurements is in the heaviest-and-lightest post.

About the numbers

This post uses the install-verification dataset exported on 2026-10-16 (256 records, 194 with a measured disk figure, every one of which also has a measured idle RAM; measured between 2026-08-28 and 2026-10-14). The dataset is CC BY 4.0 and cited as DOI 10.5281/zenodo.22983606. Our earlier idle-RAM report reported disk for a smaller, older set of 96 apps; the two should not be compared directly.

Apps in this post

Related

One email when we publish new measurements.

No digests, no roundups. Just the new numbers and what changed.

unsubscribing deletes your address

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