Rant: I keep seeing people run their whole stack on a single Raspberry Pi and then act surprised when an SD card dies and six months of data and config evaporate. Selfhosting is awesome, but if you actually depend on services (Nextcloud, homeserver, backups, VPN) you need a tiny bit of ops discipline, not just duct-taped enthusiasm.
Reality check and a practical plan I actually use: run a small hybrid setup so failures are contained and restores are trivial.
Hardware picks (budget to sensible):
- Budget: reused Intel NUC i3/i5 with 16 GB RAM and an NVMe SSD for the orchestrator. Cheap, low-power, and reliable. Use a Pi for low-risk experiments only.
- Storage: Odroid HC4 or an entry-level mini NAS with SATA bays for bulk storage. Prefer drives in a simple mirrored pool - ZFS if you want checksums and snapshots.
- For production-y reliability: small rack 1U or a used Supermicro with ECC RAM and an E3 CPU if you plan ZFS and many VMs.
- UPS: a small APC/back-UPS with USB shutdown support. Test it quarterly.
Software stack I run and recommend: Proxmox as the hypervisor, LXC containers for lightweight system services, Docker for apps that expect it, Traefik as the reverse proxy, Unbound for local DNS, WireGuard for remote access. Use Nextcloud or Syncthing for file sync, Postgres for databases, and MinIO or an S3-compatible object store for backups/uploads.
Backup and restore policy (do this, now):
- Files: Borgmatic with encrypted backups, rotated, stored locally and mirrored offsite with rclone to an S3 target.
- Databases: regular logical dumps (pg_dump/mysql dump) pre- and post-backup to ensure consistent snapshots. Run these with cron or systemd timers.
- Images: monthly full disk image with Clonezilla or a simple image tool so you can rebuild a dead disk quickly.
- Test restores monthly. A backup that you never restore is just noise.
Operational rules and troubleshooting cheats:
- Staging host: have one small “canary” VM/container where you apply updates first. If it survives a week, roll to prod.
- Version pinning: pin docker images and keep a changelog. Don’t auto-update everything blindly.
- Monitoring: run simple Prometheus + Grafana or even a tiny healthcheck script that alerts to failing services, full disks, and high load.
- Common fixes: if Traefik gives 502, check backend container health and socket permissions; if ZFS reports I/O errors, isolate the drive and scrub the pool; if Docker volumes have permission issues, check UID/GID and use chown -R on the mounted path from the host.
- Time: ensure NTP/chrony is working. Time skew breaks cert renewals and DB replication.
Final note: treat your home services like a small business - SLAs, backups, canaries, and a maintenance window. It makes selfhosting feel slightly less like playing with Lego and way more like owning your data for real. What did you learn the hard way when your single point of failure finally failed?
I wouldn’t bother with a UPS
“Do backups” - Fixed the title
I host everything on my Pi having turned off some logging. When I feel like it I use the command “dd” to copy everything exactly from the sd card to another as a backup with the same size. So when it stops working I just dd the new one to another one and replace the broken one with a new one. The SD cards have not stopped working yet though, after 1 year
This be the true selfhosting ! (not mine but first thing that came to mind)

What in the holy ectoplasm
I’ve been on the internet a long time and this made me say “what the fuck” out loud
Edit: not sure whether I should ask what this all is or if ibshpuld complement you on your “output”
Same thing with me…
Not a regular to make me question a decision someone made that hard.It gets weirder the longer you look at it.
Sure, let’s just say the guy was overzealous with the (silicone caulk? lol) adhesive compound. Maybe the white cord is DC power, replacing the battery… but the red wire that’s right beside the ‘power’ wire is a USB cable plugged into the phone’s USB port.
What is plugged into the other end? It’s Zalgo isn̴̝̂’̶̯̾ṭ̷̆ ̶̫̈i̷̹̚t̴̩̉?̶͊͜
Probably some hack to make it look to the OS like it is charging the battery.
But yeah, why all the silicone? 😱
Bypassing the battery?
I feel like I’m looking at a scene from The Reanimator.
My single pi setup has been known to spontaneously self-destruct if i even look at it funny. ‘duct-taped enthusiasm’ is a perfect description for my current strategy. Time to level up, i suppose. Great post, mate.
I have multiple PI’s waiting for a decent ‘non video’ PI kubernetes tutorial but its hard to find anything beyond setting up a cluster and running hello world or aren’t out of date and no longer work. I already have a 12 pi bitnami cluster but its a pain to manage.
Something showing how to run things like JellyFin with network share for media would cover much of what is needed for Self Hosting.
Bonus points for things like TalosOS would be cool but then it seems net booting TalosOS is difficult because you needed a specific serial thats only easily viewable in Omni right now so still needs SD cards/SSD/NVME hats so increases costs significantly.
I’ve been trying to get a tutorial done myself but keep hitting issues with configs not working as expected. sigh
If your sd card dies, just use a real ssd, sata or nvme.
Use the more expensive “industrial” grade SD cards. Those are built differently and certified for more demanding use and cost about twice the price. But SD cards are cheap anyway, so that’s not a deal breaker for going this route.
What waste industrial grade SD cards? I have moved to a non-pi server die to constant SD card deaths. If I can get a stable SD card I might set up a pi hole again.
Or a better SD card. I’ve used my various Raspberrys with SD cards for years without any issues. The only single incident I’ve had was a card turning read-only. Which I’ve only noticed because system updates were gone after a reboot. But all the main data was still there and accessible. And a simple clone to a new card followed by fsck restored full functionality in the Pi again.
Off lease corporate thin clients with fresh ssds. You can get something that runs off a laptop power supply, will handle more than you’re going to throw at it, and they’re insanely cheap.
I moved to one from a pi when I got serious about home assistant.
I also run a stack of networking utilities on my OPNSense router.
Jellyfin has been a bit more difficult to transition, I’m still running it on my wife’s gaming computer. I’ve pre transcoded most of our collection, but not all of it. I need to find something very cheap but also capable of handling the odd 4k transcode.
Just a reminder that you can host on a group of pis and still have all that good stuff, it won’t be as fast as x86 stuff. But spread the load and things can be quick.
Yes you do need backups of import data, but you don’t need to have data backups and images backups. If you can rebuild the host the data was on thats fine.
I run all critical services like PiHole, Homebridge and Loxberry on separate Pi machines, a Pi Zero 2 for apps I need to have 24/7 like Portainer and Heimdall. My main server is a Dell which serves Jellyfin, Immich and other stuff. All servers back up their data on my NAS, which itself is doing a nightly backup on a dedicated HDD. I need to have an out-of-home backup yet, but comes time comes money.
What about multiple Pis? Seriously asking. I love having a Pi as a dedicated server (small footprint, low energy, low temp). Do I really need to switch to a more traditional ITX/ATX form factor to get real reliability?
Sure, but keep write operations on SD cards in mind.
You can also look at thin clients like the Futro s740, or the much more powerful Lenovo tiny series (like the m720q)
I did run my homelab on about 9 pi’s, all connected like spaghetti. If the NFS pi fell over it took out the lot.
So yes you can use pis as a homelab
Honestly, if someone is just looking to get started cheap and easy, buying a pi and installing pi hole is a great first project that has immediate positive returns. Adding more services can be easy (if you used containers) and expanding to add more services is cheap.
Then, when you decide to spring for a server box, those Pis can still be useful as home automation devices. For example, they can control a decent amount of programmable LED strip lighting. Attached to a sensor shield, a solar panel and battery it can do atmospheric monitoring outside (while also controlling your driveway lighting) while being easy to integrate into HomeAssistant.
If you need to retire it, you can throw some emulators on it (retropi), load it up with a few thousand ROMs and donate it to a place that buys kids toys for holidays/their birthday.
My one and only Pi is exclusively for piracy. Qbittorrent, VPN, Radarr, Sonarr, Lidarr, Prowlarr. My NAS does everything else. If my Pi died spontaneously, it’d be annoying but not devastating. I’ve been thinking about cloning the SD card so if/when it dies, I can just plug in a new one.
I’m using 2 old laptops for a Jellyfin server. One runs Jellyfin, Sonarr and Radarr. The other runs Jackett and Transmission. I’m looking to add a third to handle Sonarr and Radarr and let the original one do just Jellyfin.
I have no backups except for the ones Jellyfin, Sonarr, and Radarr create 🤷♂️
You can boot Pis off an USB HDD or SSD. I think there are specific hats for that as well. But yeah, backups, at least of configs, are nice.
@sobchak @bagel You can also buy industrial microsd cards that are a bit better than consumer grade ones. That’s what I did after I managed to kill a consumer microsd card after about 6 months in a Pi 4b. The one I have (https://www.kingston.com/en/memory-cards/industrial-grade-microsd-uhs-i-u3) is rated for 1,920 TB written. That’s better than, say, a 2TB WD SN850X (1,200 TBW), and faaaar better than typical consumer microsd (Sandisk High Endurance appears to be 117 TBW, for example).
Genuinely helpful advice! Thanks!
Glad it was useful!














