Eleven subscriptions went into a homelab this week, and only the homelab came out. The operator of HomelabDeck, a directory of self-hosted apps, published a teardown on DEV Community on October 13 showing exactly what it costs to replace eleven paid services with open-source equivalents on his own hardware: Google Photos, Plex, Bitwarden, Todoist, Feedly, GitHub, UptimeRobot, Zapier, Notion, Google Keep and Audible, each measured for actual RAM consumption in his Proxmox setup.
The headline number is the point. All eleven apps together need just under 10 gigabytes of RAM. That is the entire subscription stack, photos and media included, fitting on a 16 GB mini PC that costs less than a year of several of those subscriptions combined. For years the self-hosting pitch has been about privacy and control, and those arguments are real, but this experiment reframes it as arithmetic: your cloud bill is mostly memory you already own.
That framing lands because it is grounded in measured data rather than marketing. The usual "best self-hosted apps" lists copy each other's claims; this one ran the apps, screenshotted them, and wrote down the numbers. The results confirm some folk wisdom, puncture a few assumptions, and offer the clearest resource budget the self-hosting world has seen.
The bill of materials
Here is where the memory actually goes. The photo library is the heavyweight: Immich, the self-hosted Google Photos replacement, draws about 4 GB. Jellyfin, standing in for Plex, takes around 2 GB. n8n, the automation tool replacing Zapier and IFTTT, sits near 1 GB. Four apps land at roughly 512 MB each: Vikunja for task lists, Gitea for code hosting, Wiki.js for the wiki, and Audiobookshelf for the audio library. Three more sit at about 256 MB: FreshRSS for feeds, Uptime Kuma for monitoring, and Memos for notes. And the password manager, Vaultwarden, sips a mere 128 MB.
Add it up and you get just under 10 GB, before the hypervisor and reverse proxy take their cut. The distribution is the interesting part. Nearly half the budget goes to one app. The password manager, arguably the most critical service on the list, costs about three percent of the photo library. Self-hosting is not a flat tax on your server; it is a couple of hungry services plus a long tail of nearly invisible ones.
The entire subscription stack fits on a 16 GB mini PC. Your cloud bill is mostly memory you already own.
Why photos eat the most memory
Enjoying this story?
Get the five most important stories in tech, every morning. Free.
Immich's appetite comes from its brain. The app's machine learning container, which handles face recognition and natural-language search, is the biggest consumer of both RAM and CPU, and its hunger grows with your library. Immich's own documentation calls 6 GB of RAM the minimum and 8 GB the comfortable figure, with several guides noting the app can run on 4 GB only if the machine learning features are off. The HomelabDeck measurement of roughly 4 GB was for a small library on a tuned setup.
That matters for hardware planning. If your photo library is the reason you are self-hosting, you are really buying a machine to feed one container. An N150 or similar mini PC with 16 GB of RAM handles it; a Raspberry Pi will make you sad. And there is a caveat the original write-up states plainly: a self-hosted photo library is not a backup of itself. Off-device copies are still your responsibility, which is the kind of honest warning that distinguishes measured experiments from marketing copy.
The transcoding trap
Where the RAM goes
Measured idle usage in a Proxmox/LXC homelab, October 2026
Jellyfin's 2 GB baseline is only half the story. As the experiment notes, the app itself is light; the real cost is transcoding. direct play costs almost nothing, but converting a 4K file on the fly for a phone on cellular data demands serious compute. That is why every homelab guide obsesses over hardware acceleration: Intel Quick Sync or NVIDIA NVENC turns transcoding from a CPU meltdown into a background chore.
The network side, meanwhile, is cheaper than it used to be. Modern guides now treat 2.5 gigabit Ethernet as the baseline for a NAS, and even a full-quality UHD Blu-ray remux peaks around 128 megabits per second, a small fraction of that pipe. In other words, once the memory is sorted, the rest of the media-server stack has quietly become affordable.
The cheapest seat in the house

Vaultwarden is the star of the list on a per-watt basis. The Rust reimplementation of the Bitwarden server idles at roughly 100 MB or less in a family setup, against the roughly 128 MB measured here. Compare that with the official Bitwarden server, a .NET stack of multiple services that wants 2 GB or more of RAM and is widely considered overkill for home use. Same official apps, same clients, a twentieth of the memory.
It also quietly includes features Bitwarden reserves for paying subscribers, like emergency access and encrypted file attachments. The security advice from long-time operators is consistent and worth repeating: disable public registration the moment your account exists, hide the admin panel behind your reverse proxy, enforce multi-factor authentication, and treat an untested backup as no backup at all. Losing password access is categorically different from losing any other file.
The database reality check
One detail in the experiment deserves more attention than it gets: not every app runs on the same database, and the choice matters. Immich, Vikunja and Wiki.js all need PostgreSQL. Vaultwarden, FreshRSS, Gitea, Uptime Kuma and n8n are happy with SQLite. Check before you deploy, because the database is where the operational complexity hides.
Nextcloud, the most common self-hosted file suite, is the classic example. A recent 2026 guide to what to self-host warns that SQLite is fine for a Nextcloud demo and a trap in production: install on PostgreSQL from the first boot, because migrating the database after your data is in place is the most common way people wreck their install. For Immich specifically, guides recommend local SSD storage for the database with a few gigabytes reserved, plus headroom of 10 to 20 percent of your library size for thumbnails and transcoding.
Read the license before you trust it
The table carries one entry that should make open-source purists pause. n8n, the Zapier replacement, ships under a Sustainable Use License: the source is available, but it is fair-code, not classic open source, with restrictions on commercial hosting. Everything else on the list is conventional open source, mostly AGPL, MIT or GPL. That distinction matters if your "self-hosted" setup is also a side business. A homelab and a SaaS product built on someone else's server code are different legal creatures.
This is where the "in perspective" view matters. The experiment is a snapshot of one operator's tuned Proxmox setup, and real usage grows with library size and users. But the direction is unambiguous: the resource cost of digital independence keeps falling while the subscription bills keep rising. A 16 GB machine, a reverse proxy, and a backup discipline buy you out of eleven monthly charges.
0 Comments