So I have a retired but still very serviceable PC that I intend to use as my first home server. I gave two basic goals in self-hosting:
Host family media through Jellyfin, etc. This would include tv, music, and possibly books as well. Many of these will be managed through the Arr apps.
Degoogle my phone - I'm beginning by replacing Photos with Immich, but hope to also use Home Assistant, backup other phone data such as messages media, shopping lists, etc. I hope to replace Google storage/backup with Proton Drive.
So the question is what OS should I set up to run that? My proof of concept was an immich container running in xubuntu on an old laptop. I chose Xubuntu because I like the availability of documentation and community support for Ubuntu like distros, but wanted a lower powered alternative for the older device.
It seems to be working well, but I've had a few hiccups trying to update it, and I've heard that once you get into it, Linux distros like Ubuntu are not very user friendly for self-hosting as a beginner.
So is it better on the whole for a beginner to have a popular distro with lots if documentation and step by step guides, or to have a purpose-built OS like TrueNAS that might be more straightforward, but with less support?
If you know how to use containers then go for debian as the server OS and run everything you need as containers.
Debian is community based distro, very stable, major updates every few years, ubuntu and other distros use it as a base.
Get familiar with working on the command line, try nano as an easy text editor und use docker compose.
I did not test TrueNAS, I do know the scale version can run containers too, but I do not know how stable ur usable it is. You should go for the classic linux approach with Debian. Much more fun to learn :)
Nano is useful because it is everywhere.
There are better editors, but being familiar with nano and it's shortcuts means you can edit files pretty much anywhere.
Same with knowing the basics of vim (like being able to edit, exit and save)
Yep, Debian for sure ! 3 years ago I settled for debian on an old spare laptop, It's still cruisen with more than 21 containers !! Sure I had a few fresh installs because skill issues, lack of proper configuration, user mistakes... But it's probably the easiest to maintain and learn as a beginner !
No idea what's your level and how close you're with computers and how much time you have to spare, but don't be afraid to make mistakes and try a few things out.
If you are like me just a plain old geek who knew his way arround computers and used Hamachi back in the days, thinking you were a HAKKER... Get ready to get your ass kicked !
While self-hosting and de-googling is fun, it also has alot of negative things:
Time consuming
Involves ALOT of Searxing/Reading
Debuggin (kinda...)
Learning the basics of at least 1 scripting language (consider bash your ally)
It's an infinite rabbit hole that will suck you in and sometimes get to your nerves...
One of the best advice I could give you along the way is, If you're stuck on a bug or something isn't working as expected in your setup and It seems you couldn't find any answer or similar issues on the web, you absolutly have to take a break, not a 5min cigarette break... A few hours bicycle/sleep break !!!!
The next day you will for sure find a solution !!
Good luck, have fun and don't forget to take time for yourself and people arround you !
I can only second that. Its basically exactly my setup. Debian as stable base and every service as docker via docker compose. This way your system is stable and your services can upgrade as much as they like.
Only difference is that i use micro as editor. But thats just details.
I used to run multiple containers with TrueNAS Scale through their apps system (not as a VM in TrueNAS) and it was very unstable. I constantly had to fix something and the apps had constant updates even though there were no updates to the apps itself. It was really annoying to work with. I switched to Fedora Server and it has been much better since.
Honestly, alpine is a great distro, but not really something I would recommend for a beginner. There is less documentation and troubleshooting guides out there tailored to this distro than for example debian or ubuntu.
I would either recommend using Debian or a derivative of that if they want to get their toes wet. Alternatively a complete solution with GUI tools for if they just want to start using their own stuff now.
Host family media through Jellyfin, etc. This would include tv, music, and possibly books as well. Many of these will be managed through the Arr apps.
Degoogle my phone - I'm beginning by replacing Photos with Immich, but hope to also use Home Assistant, backup other phone data such as messages media, shopping lists, etc. I hope to replace Google storage/backup with Proton Drive.
Seems like a solid plan. I used Nextcloud as a Google Drive/Photos/Calander/Lists replacement, but depending on what you are running as your server it may be a bit too heavy.
I’ve heard that once you get into it, Linux distros like Ubuntu are not very user friendly for self-hosting as a beginner.
Not sure who is saying this. Granted, if your not used to *nix, our ways of doing things can be a bit obtuse from time to time but the Ubuntu based distros are some of the most heavily documented distros available with only Arch being better documented (Don't use Arch unless you've got stock in Bayer. /joking, kinda).
Your current OS choice is maybe not what I would choose, but it is fine. Xubuntu just Ubuntu Server with the XFCE desktop installed. A bit heavy for a server install as a result. One thing I will say is that most server software is setup via the command line and setup via configuration files (These are just regular text files readable by any text editor. I like micro, but anything will work). The desktop environment is just extra weight you don't really need in this application. Doesn't hurt anything, just heavy and not really needed.
So is it better on the whole for a beginner to have a popular distro with lots if documentation and step by step guides, or to have a purpose-built OS like TrueNAS that might be more straightforward, but with less support?
Stick with what you have. Ubuntu is a very well supported server distro, and the XFCE desktop doesn't change that. Things like TrueNAS, UnRAID, and whatever is the flavor of the week tend to cover things up to simplify things. This is fine when they work correctly, the problem comes when things inevitably break. You won't know where to go looking to fix things. Also TrueNAS is a network storage OS, not really suited for what you are trying to do currently, which seems to be hosting services.
It seems to be working well, but I’ve had a few hiccups trying to update it,
What hiccups were you running into? And were you using the GUI tool or apt on the command line?
Rocky now is what Centos used to be, a downstream rebuild of Redhat Enterprise. Cento Stream is now a rolling release and is pretty much RHEL unstable.
What are you trying to do? Debian is pretty solid but you also could go with Rocky Linux or tons of others. Heck, you could even buy a Red hat license if you felt like it for some reason.