I see a lot of incredible homelab setups here, but I wanted to share my minimalist approach for anyone just getting started.
Hardware: Single 2GB RAM VPS (Hetzner Cloud, CX22)
Services running:
- Uptime Monitor — checks my sites every 60s, alerts via webhook
- SSL Certificate Checker — warns me 30 days before expiry
- Website Change Detector — monitors competitor pages and docs for changes
- API Toolkit — JSON formatter, JWT decoder, UUID generator, hash tools
- QR Code Generator — unlimited, no watermarks
- Static site hosting — docs and guides via Nginx
Stack:
- Ubuntu 24.04 LTS
- Nginx (reverse proxy + static serving)
- Node.js services managed by PM2
- UFW + fail2ban for security
- Let’s Encrypt SSL
Resource usage:
- RAM: ~400MB used / 2GB total
- CPU: basically idle (spikes during monitoring checks)
- Disk: ~3GB used
- Bandwidth: negligible
The whole thing has been running stable for weeks. PM2 handles auto-restarts if anything crashes. Total downtime: 0 minutes.
Biggest lesson: You don’t need Kubernetes, Docker, or a rack of hardware to self-host useful tools. A single cheap VPS with PM2 and Nginx gets you surprisingly far.
Anyone else running a minimal setup? What’s your favorite lightweight service to self-host?
You don’t need Kubernetes, Docker, or a rack of hardware to self-host useful tools. A single cheap VPS with PM2 and Nginx gets you surprisingly far.
Before containers that’s how it had always been done. Unix/Linux/BSD distros had always been designed for doing things this way, and almost all of them still are. It has its problems, which can become intractable if you pile on many services, but will you?
Containers & container management solve problems that small/hobby/personal projects wouldn’t necessarily ever run into.
With that said, I wonder if less & less effort might go into continuing support for monolithic architectures. Debian still puts a lot of effort into its standard packages working together harmoniously. The other extreme is Talos Linux, which is specifically designed to be a Kubernetes node. It doesn’t even ship with a proper package manager, but with overlays and system extensions, which mostly exist for customizations of & support for running & managing containers.
100% true. Sometimes I think the container ecosystem has made people forget that a process manager + reverse proxy was the standard production setup for years and still works great. Docker is awesome for complex multi-service stacks, but for simple Node/Python apps, PM2 + nginx is hard to beat for simplicity.
I’m an old sysadmin, so i don’t mind heavyweight lol. my favorite service to self-host is NextCloud. I have used it to replace all cloud storage, MS Office 365 (as it has a native web office editor), Spotify (hosting all my music and streaming with subsonic), a great cook book app that downloads and stores just recipes from the web (sans all the pages of worthless info), an RSS news reader with my favorite sources, password manager along with clients and extensions for all of my devices, a unified web mail client for all of my email, and more.
Edit: Also, i have T-Mobile for home internet which uses CGNAT, and I host it at home, so I use tailscale on everything to access it.
Nextcloud is a beast — in the best way. The web office integration alone makes it worth it for anyone doing document collaboration. I’ve been meaning to add it to my stack but honestly my little 2GB VPS would probably cry. What kind of hardware are you running it on? Curious about the resource usage with the office editor.
It sure is! I’m running it bare metal on a ~9 year old Dell gaming laptop with 32GB, Intel i7-7700HQ, and an external 23TB HD, which is honestly overkill for me and my wife lol. I think you’d probably want at least a 4-core w/ 8GB VPS to run it and use the web editor and install a bunch of apps.
I had it running quite smoothly on a Raspberry Pi 4 w/ 8GB and an external 3TB HD, which included all the functionality I mentioned above. But, i wanted to re-purpose the PI for something else and remembered I had the Dell in a closet. The only thing it struggled with was a map like in photos in iOS where it will cluster all of your images by location. It started to slow down in that app when i was over 8000 photos, but was still useable.
I played with several options, AIO (all in one image in a Docker container), pre-loaded VM appliance, and ultimately the script on this page https://github.com/nextcloud/vm/blob/main/nextcloud_install_production.sh on bare metal (Ubuntu 24.04 LTS)

