this post was submitted on 04 Sep 2024
85 points (95.7% liked)

Selfhosted

40746 readers
347 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 2 years ago
MODERATORS
 

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:

  1. 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.
  2. 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?

all 25 comments
sorted by: hot top controversial new old
[–] Mango 78 points 3 months ago
[–] zipping2583 44 points 3 months ago (5 children)

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 :)

[–] [email protected] 12 points 3 months ago

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.

[–] [email protected] 7 points 3 months ago* (last edited 3 months ago)

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 !

[–] [email protected] 4 points 3 months ago

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.

[–] [email protected] 3 points 3 months ago (1 children)

Agree, except for nano. Micro has a much better interface and even has mouse integration.

[–] [email protected] 11 points 3 months ago

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)

[–] Bimbleby 1 points 3 months ago

Got the same setup, but I connect to my server with vscode through SSH and edit files there.

Much more user friendly as a primary Windows guy.

[–] [email protected] 8 points 3 months ago
[–] [email protected] 7 points 3 months ago
  1. 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.
  2. 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?

[–] [email protected] 7 points 3 months ago (2 children)

On a PC? Anything except ChromeOS or Android, I suppose.

I like CentOS, or rather Alma or Rocky now. Very stable, very easy to manage, lots of community support.

[–] [email protected] 3 points 3 months ago

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.

[–] eruchitanda 3 points 3 months ago

OP, CentOS and CentOS Steam are two *very* different beasts, you don't want Stream.

I wouldn't go for CentOS either because you'll have to replace it anyway.

I'm mentioning that because you can download the old CentOS, but like the commenter above me said, you can do Alma or Rocky.

I would go for Debian, but that's a personal preference.

[–] [email protected] 3 points 3 months ago

Xubuntu is more than fine. Tbh it doesn’t hugely matter which distro you use for this type of thing

[–] [email protected] 2 points 3 months ago

I'm a beginner currently doing exactly the same thing, plus a but more.

For the server I'm using Proxmox as a hypervisor, which let's me experiment with various OS's as I choose. For my phone, I have a pixel with GrapheneOS, which I love.

[–] [email protected] 1 points 3 months ago

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.

[–] [email protected] 1 points 3 months ago (1 children)

If it's just a server, Alpine and docker will do most things with good reliability and security.

Otherwise I've actually always used void and arch. While those aren't typical choices for a server, it shows that it's hard to go wrong.

Choose a distribution that appeals to you and it'll work great.

For this use case, alpine sounds good.

[–] [email protected] 5 points 3 months ago (1 children)

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.

[–] [email protected] 2 points 3 months ago

Yeah I hear that, good point.

Arch has great documentation but also a bit more config.

I would vote for Fedora over debian though. Debian packages are so far out of date that it becomes a pain and copr works quite well.