Do you have any advice or suggestions about it?
- Hardware (what should be enough for a local PC, or VPS…)
- Software (OS [Debian, Yunohost, other…], “containerization” (Docker, virtual machines?), dashboard, management, backups, VPN tunneling…)
- “Utilities” to host (Lemmy, Peertube, Matrix, Mastodon, Actual Budget, Jellyfin, Forgejo, Invidious/Piped, local Pi-Hole, email, dedicated videogame servers like for Minecraft, SearXNG, personal file storage like Drive, AI [in the future, when I can afford a rig that can run a local model decently]…)
I’m aware it’s a lot of stuff to take on, so, do you have any advice on where to start? (how to find a cheap PC to experiment with, if not get a VPS, what to test on it, what “utilities” to try self-hosting first…)
Copy/paste from another comment I made a while back:
Look into docker containers in general. If I was going to start from scratch in your position this is what I’d do:
Install a Linux distribution on the computer you plan to use for self hosting. This can be anything from a raspberry pi up to a custom build but I would recommend starting with something you have physical possession of. I found Debian with the KDE plasma desktop environment to be pretty familiar coming from Windows. You could technically do most of this on Windows but imo self hosting is pretty much the only thing that a casual user would find better supported through Linux than Windows. The tools are made for people who want to do things themselves and those kinds of people tend to use Linux.
Once you have a Linux distribution installed, get docker set up. Once docker is set up, install portainer as your first docker container. The steps above require some command line work, which may or may not be intimidating for you, but once you have portainer functional you will have a GUI for docker that is easier to use than CLI for most people.
From this point you can find the docker installation instructions for any service you want to run. Docker containers have all the required dependencies of a given service packaged together nicely so deploying new services is super easy once you get the hang of it. You basically just have to define where the container should store it’s data and what web port you want to access the service on. The rest is preconfigured for you by the people who created the container.
There’s certainly more to be said on this topic, some of which you would likely want to look into before you deploy something your whole family will be using (storage setup and backup capability, virtual machines to segregate services, remote accessibility, security, etc). However, the above is really all you need to get to the point where you can deploy pretty much anything you’d like on your local network. The rest is more about best practices and saving yourself headaches when something breaks than it is about functionality.
+1 for docker. So much easier than managing dependencies for a ton of services
Surprised no one has mentioned proxmox (at least not the top 10 threads I saw first)
Basically debian with a webui specifically for spinning up VMs and LXCs and managing storage and such, then install whatever distro in an LXC and run docker in that.
Proxmox can be daunting for beginners. I prefer it myself because it is free, but it took me a while to be comfortable in it and even then, I do basic stuff.
Oh definitely, it was overwhelming at first for me too, but that’s how one learns imo
Now that I’ve been using it for a year and a half it’s much better but those first few months were quite the learning experience lol
I think it’s worth learning, but I am tech literate. Using something like unraid or trueNAS is also a good way to start as it streamlines a lot of things.
But I like to know what’s going on, so Proxmox is good for me.
One of my first self hosting projects was a jellyfin server. Double check, but I think the main hardware requirements are just 4GB of RAM and enough harddrive space for your videos/files!
I really like immich too. It’s like Google photos, but self hosted. It’s super fast for uploading and backing up your photos over your local network. Immich also needs at least 4GB of RAM I think
immich is not a backup solution. you need to use a backup solutiin forfir the stuff in immich.:)
Immich has a built-in backup solution, iirc. Still, I would use a different one, so it can easily be used over non-Immich related stuff.
Yeah I was curious about that. Like I can poke around in the immich directory, but the actual pictures are stored in a weird structure. Do you have any recommendations?
I use backrest. It’s incredibly powerful, but has a steep learning curve. A way simpler (not as powerful) alternative is Timeshift. Your distro/DE also probably has a backup app.
What are your other hobbies/interests? What are some things you’re completely uninterested in but it’s annoying shit you would really like a better way of handling? Got some answers? Now check the awesome self hosted page to see if there are any existing solutions that look promising. If so, now you know at least some things to host.
How to go about it? When I started I was an idiot kid, on Windows ninety-something (or maybe ME), running Apache, MySQL and phpBB. Copy-pasting snippets in Notepad and not comprehending everything. I found desktop Linux later, learned about init systems, watched that go out the window with systemd, etc. I was installing Ubuntu on every beige clunker I could get my hands on back when the Beryl (Compiz) cube desktop video went semi-viral. Eventually moved on to Arch, learned more about CLI tools, editing configs, etc. If you have something that can host VMs, and you want to play with mock bare-metal setups where you create the users, directories, set permissions, blah blah blah - VMs aren’t a bad way to go. It’s good stuff to learn and know. Gives you an excuse to play with tmux’s synchronized input feature, maybe learn some Ansible, and whatever else. If you just have one dust collector sitting around, start trying distros on it. Mess with stuff til it breaks, boot into install/recovery media and try to unbreak it, repeat. As long as it’s fun (or tolerably annoying enough to reach some end goal).
I’ve personally gotten lazy and I’m nearly all-in on containers. A few things are manual but I’ve come to like Docker. I do still manage mine with compose files, even on my TrueNAS system with their “apps,” because compose files are easy to read, keep track of, and modify. My non-TrueNAS machines, I use Docker + Portainer. I should maybe look into podman and quadlets but haven’t bothered yet.
My recent hardware went from RPi4B to Thinkcentre mini PC to building out a 2U TrueNAS system. A PoE switch powers a Home Assistant Yellow and a few cameras. The RPi was repurposed to only host Homepage, NUT (server, watches my UPS and tells more power hungry machines to shut down during outages) and might eventually host Grafana if I ever get into learning it. Another 4B is my Pi-Hole. The Thinkcentre has an 8TB external plugged in and scheduled rsync tasks, on the TrueNAS machine, push back ups of my more important files to it. It also has a couple users set up strictly for running game servers (ioquake and teeworlds at the moment). Those aren’t containerized and things like rcon, config management, map rotation, mods, etc are all handled manually.
TrueNAS hosts everything else. If you need ideas based on what others are hosting, here’s some of what is on it:
- Jellyfin, for TA (see below) and my legally obtained DVD backups.
- TubeArchivist, (TA) for backing up YouTube videos, descriptions, comments. Has a Jellyfin plugin so your backup library is watchable in JF
- Homebox, for home inventory management. I use it to keep track of my tools mostly. You can have locations, sub locations, items… if I pull a rail of sockets, stick them in my toolbag, then carry it out to the shed - so long as I bothered to update their locations in Homebox I won’t waste time digging in the back of my truck, tool chest or other bags because I can’t remember where I last used my 1/2" drive 14mm deep impact. It’s a mildly inconvenient extra step to essentially “check in/out” my own tools, as if I’m working in an aircraft hangar or I’m doing IT asset management, but I find it worth it.
- LubeLogger, for keeping track of vehicle service. Early this year I put a lot of money into fixing my truck. A lot of tools, fluids, and parts to handle a broken water pump and do some preventative maintenance. Still a quarter of what a shop might’ve charged. Since I’m becoming my own mechanic, I wanted something to properly record what I do and how much I spend on it. LubeLogger fits the bill.
- Factorio, for the factory must grow.
- Dawarich, self hosted GPS logs. Seems decent but I might shop around still. I just wanted an alternative to Google Maps for tracking my travel history.
- Audiobookshelf, for some audiobooks but mainly for archiving a small handful of podcasts.
- Romm, because I’m compelled to hoard old games and occasionally even play them.
- Immich, because I’m not paying Google to store my photos.
- FreshRSS, because there’s still a dwindling number of sites that don’t force you to visit them to read an article in its entirety. Mainly for Hack A Day, a couple devlogs from game makers, the latest CVEs, some global news sites, NASA’s “Astronomy Picture of the Day” (APOD), etc.
- Samba, for some SMB shares that family can dump files into
- ClamAV, because family is dumping files into their SMB shares
I’m looking at hosting lemon-manuals (successor to charm.li). It’s basically a massive collection of service procedures, bulletins, fluid/torque/etc specs, and so on for decades worth of automobiles. Stuff the industry would like to force you into paying AllData, Identifix, or whoever for. I just haven’t had a chance to review their provided “server.” It’s also over 1TB. It’s overkill when I’m only working on three vehicles (mine and my folks’) but I’d like to have it all in case an auto industry lawyer tries to shut them down or i inevitably get a new set of wheels.
I’ve also got intentions of implementing some sort of documentation system but I haven’t settled on one yet. It’s not really for me. I can read my configs and go off plain text. Mainly it needs to be simple enough for my family to work with. My homelab has a bus factor of Me. Whoever has to deal with it when I’m gone needs to know enough to retrieve my encrypted password database so they can get into my emails/bank account to cancel/pay for things or whatever, back up any media of mine they want to keep, back up their own stuff, probably some instructions on how to burn their shows/movies/music back to discs, and shut everything down. Because one day things will break, servers they don’t understand will have failures, they’ll sell the hardware or give it away to designated friends/family members who can hopefully use it… all that unhappy stuff most of us don’t think about until it happens. In fact some sort of contingency plan should probably have been the first thing I recommended, but with some luck you’ve read this far and will put your own into place.
Anyway, hopefully something in the above rambling helps you on your way.
or maybe ME)
That OS was terrible enough to make me shudder now to even recall it.




