What Runs My Homelab (2026 Edition)
53 containers walk into a server…
I recently read a great post by someone running a whole homelab on a $10 4G modem stick with 512 MB of RAM. Every service on there had to justify every megabyte.
This is not that post. This is the opposite of that post.
My lab has grown a lot this year, so I figured it’s time to write down what actually runs it. RAM numbers are real, pulled from docker stats on a random Sunday afternoon.
The hardware
- plexserver: a Lenovo IdeaCentre tower with an Intel i5-14600K, 16 GB of RAM and a Samsung 870 EVO for Plex’s data (after the drive troubles). This runs almost everything below.
- TrueNAS: a Minisforum UM790 Pro mini PC with 8x 16 TB Seagate Exos drives. Runs TrueNAS for storage, plus Sonarr, Radarr, SABnzbd, Audiobookshelf and Vaultwarden.
- The old Windows box: an HP Z620 with a 10-core Xeon, 64 GB of ECC RAM and a GTX 1050 Ti. Mostly retired, but it still runs Tdarr and helps with video encoding.
- An APC Back-UPS keeping it all alive, which shuts everything down cleanly when the power goes out and brings it back when it returns.
All 53 containers together use about 5.5 GB. That’s one Chrome tab with YouTube open, give or take.
Watching stuff (~1.9 GB)
The Media corner of my dashboard. Every app gets a tile.
- Plex (722 MB): the reason any of this exists.
- Tautulli (200 MB): stats on who’s watching what.
- HAMA (254 MB): an anime metadata agent so Plex knows its One Piece from its One Punch Man.
- Autopulse (11 MB): tells Plex exactly which file changed instead of rescanning everything.
- Jellyseerr (226 MB): friends and family request shows and movies here.
- Rewindarr (104 MB): a Spotify Wrapped style yearly recap for Plex. That’s Rewind.
A slide from my own Rewind. Apparently I watch a lot of TV.
- Tracearr (417 MB with its database): the new kid, installed just this week. It does live stream monitoring like Tautulli, with a more modern look and rules for catching shared accounts. It even imported all 31,000+ plays from Tautulli going back to 2019. So far it looks like a nice alternative to the tried and true Tautulli, but Tautulli isn’t going anywhere yet.
- A homemade issue bot (16 MB): when someone hits “Report Issue” in Plex, it reads the message, fixes what it can (subtitles, bad files) and replies to them.
The robots that fetch things (~1.2 GB)
- Prowlarr (135 MB) + FlareSolverr (17 MB): one place for all the search sources.
- Bazarr (248 MB): subtitles, so nobody gets stuck with raw Japanese anime ever again.
- Tdarr node (139 MB): re-encodes video to HEVC to save space.
- Maintainerr (373 MB): cleans up stuff nobody watches.
- Kometa (12 MB): collections and posters.
- Cleanuparr (136 MB): removes stuck and fake downloads.
- Recyclarr (2 MB): keeps quality settings in sync with community guides.
- qBittorrent behind a VPN (79 MB together).
- OnePacerr (54 MB): keeps One Pace up to date. Yes, it gets its own container.
Reading stuff (~430 MB)
- Kavita (131 MB): comics, manga and ebooks.
- Mylar3 (69 MB) and Suwayomi (174 MB): fetch comics and manga.
- LazyLibrarian (58 MB): books and audiobooks, which land in Audiobookshelf on the NAS.
- Libation (not a container, yet): runs on my desktop every night at 2 AM, checks my Audible library and saves anything new as a DRM-free file into Audiobookshelf. 273 titles and counting.
- Audiobookshelf (on the NAS, not this server): where all of it ends up. It’s basically my own Audible: it remembers where I left off on every device, pulls in covers and narrators, and friends sign in with the same login as Kavita.
Part of the audiobook shelf: 31 series and 267 books, heavy on LitRPG.
Plumbing (~460 MB)
- Nginx Proxy Manager (318 MB): every service gets a nice name and HTTPS.
- AdGuard Home (97 MB): DNS and ad blocking for the whole house.
- Pocket ID (30 MB): one login for Audiobookshelf and Kavita.
- Cloudflare DDNS (16 MB): keeps the domain pointed at home.
Keeping an eye on it all (~1 GB)
- Grafana + InfluxDB + Loki + Alloy (~700 MB): graphs and logs. InfluxDB is the hungriest thing here after Plex, at 463 MB.
- Scrutiny (94 MB): SMART health for every drive in the house. After this year, it earned its spot.
Every drive is passing. Note the new 870 EVO at “2 days” powered on.
- ntfy (17 MB): push notifications to my phone when something breaks.
- A security watcher (2 MB): scans containers for actively exploited vulnerabilities and updates them.
- Nightly backups (23 MB): to the NAS, and then offsite to Backblaze B2.
- Watchtower (11 MB), Portainer (34 MB) and Homepage (99 MB): updates, management and a dashboard.
Everything else (~370 MB)
- This blog (20 MB): it moved home this week.
- Paperless-ngx (307 MB with helpers): every manual and document, OCR’d and searchable.
- A morning briefing (26 MB) + FreshRSS (5 MB): every morning at 7, a local AI model on my PC (via Ollama) reads my email, the news and the lab status and builds me one page.
- copyparty (13 MB): file sharing for mod packs and the like.
So what’s the point?
The modem stick post proves you don’t need much to self-host. This one proves that once you start, you will never stop. I still have about 10 GB of RAM free, and that worries me more than it should.
Some of these deserve their own posts: the Plex issue bot, the morning briefing and the UPS setup are all coming.