I want to make a server for hosting media through Jellyfin, and maybe some Nextcloud functionality. I prefer to use containers, but something like TrueNAS’ extensions/plugins sound good as well. This is my first server, so I don’t know what to choose. My possible options are:
- Debian
- Ubuntu
- Fedora
- TrueNAS Scale Which one should I choose? I am fine with using either Docker or Podman. (Edit: The server will be running on an old laptop with a single drive slot.)
in the end it doesn’t realy matter because you plan on running the services in containers. that beeing said, have you thought about arch?
My motto is “Debian for servers, Arch for workstations”.
Debian or Fedora
Debian if you want something easy and stable, Fedora if you want latest updates and are comfortable with occasional SELinux settings, TrueNAS if you don’t want to spend any time at all setting up disks
Ubuntu if you want infinite dependency hell and 5 minute boot times
Everybody is so quick to suggest Debian (and it’s a fine choice), but Alpine is great for such things, as well. It’s blazing fast, frequently updated, has most packages you could ever want in a server environment (not that it matters if you’re planning on using containers). I’ve been using Alpine for years as my docker host, and not once have I thought “man, I wish it was debian instead”.
I’ve been using Debian as my main server OS for a long time, but yeah I’ve started using Alpine for lightweight hosts for a single app/docker lately. Especially on proxmox with the pve-helper-scripts you can spin up an Alpine container or VM with Docker in a few seconds.
frequently updated
Not something I’d want on my server :) Partly joking, their lifecycle makes sense if you stay on the major.minor release. Though I find 2 years security support is a bit short - Debian LTS is usually around 5 years, not an excuse to wait for the last moment to upgrade but I find it more comfortable than just 2 years.
One thing to watch for is that alpine uses
musl
as it libc, and many programs expect glibc so you might run into obscure bugs. I find it good as base image for OCI images (again there are edge cases), but wouldn’t use it for a general purpose server.
- What’s the hardware?
- Debian, imho
I love how every answer so far is Debian.
Debian is the correct answer.
I’m using Debian, with Docker and running Jellyfin, Nextcloud, Navidrome and Wireguard on Containers on my old laptop. So that would be my suggestion.
You could install CasaOS and/or Portainer, on top of Debian if you want an easier way to manage your server and containers.
TrueNAS did make it easy for me to manage my home lab, but I’m more of a software engineer than a devops. Debian if you’re comfortable with managing that.
TrueNAS Scale is based on Debian 😁
I would only recommend TrueNAS Scale if you want an easy way to manage a ZFS pool. I wouldn’t use it for anything related to containers or logic as it’s very inflexible and only supports specific usecases through its weird app system. Debian is my usual choice for basically everything, but it will be fully DIY. OpenMediaVault is a good turnkey option based on Debian that’s similar to TrueNAS Scale, except it allows you to run plain Docker and other custom usecases. I also like Proxmox (based on Debian) a lot but it’s a bit too advanced if you don’t need its hypervisor functionality.
OMV actually removed their portainer implementation, so if you want to run docker you just have to do it like any other distro.
OMV actually removed their portainer implementation
Actually they didn’t…You should update your information.
https://wiki.omv-extras.org/doku.php?id=omv6:docker_in_omv
Literally a screenshot from their UI:
Edit:
Oh I didn’t realize. I wonder why they would do that? Either way it’s not a huge deal - the main problem with TrueNAS Scale is that you actively cannot install Docker onto it because it will conflict with the normal TrueNAS Scale app system. There are technically ways to get Docker working on a TrueNAS Scale system but they’re unsupported and likely to break frequently on updates. Debian and OpenMediaVault should behave similarly in terms of getting Docker set up.
OP is saying wrong information. OMV6 still has Portainer implementation but they moved the setup. OP is probably not aware of it.
https://lemmy.dbzer0.com/comment/4506142Debian and OpenMediaVault should behave similarly in terms of getting Docker set up.
It is. At my time of setup it was just following the instructions from the docker wiki and then I could install the portainer plugin.
Debian’s great for this.
I’m also running NextCloud (the official AIO Docker image) on Debian. Great for that too.
Debian
As someone who doesn’t know as much about the differences, why?
Say debian vs ubuntu
Debian is (rightfully) known for being lightweight and very stable. Particularly with older hardware, while still being quite compatible with newer hardware. Their long-running release cycles tend to not break whenever updates do roll out. Ubuntu is Debian based as well, its focus however is on user friendliness and usability, especially on the GUI front. Ubuntu server is perfectly fine, but it’s heavy handed compared to a minimal Debian installation with just a handful of packages selected purposefully by the user for the task it is intended for. There have also been more vocal complaints about whatever Canonical is trying to do with snaps/snap store.
Most beginners with Linux I would more encourage to try Debian for its stability and speed because it’s a great platform to learn Linux on as well as experiment with whatever goal they have by way of packages and projects available all over the open source side of the web.
I agree w what others have said. Just some personal background: started with Ubuntu (well technically I started with Suse, then then Ubuntu). But I found on the server, Ubuntu required a lot of manual upkeep. Debian was just always worked, never had to think twice about it.
Honestly, I would say because you just have less struggle. I had just a lot more problems when I was using Ubuntu instead of Debian. But I thinks it’s mostly personal preference
There’s no reason to use Ubuntu for this scenario. Debian will be cleaner, simpler and easier to support long term. Ubuntu complicates things and there are no benefits to compensate that for OP’s use case.
I use Ubuntu with no complaints, but Debian is probably better, like others are saying. I wouldn’t use Fedora for this.
Been running the docker on unraid for years in a HP slimline. Rock solid.
Debian, Ubuntu and Fedora should be good (in that order); I’m not very aware on truenas to give an opinion, but it seems it will work just as well from other comments.
I personally use Fedora, and it’s been a solid experience too, with the only gripe bring SELinux. I required a fix for SELinux, but it has worked flawlessly since.
However SELinux might make it annoying to work with containers, so you could consider either switching it off, using another distro or using appropriate configurations to work with it correctly.
Why Ubuntu over Fedora?
No reason other than the fact that you need extra steps to get Jellyfin working in Fedora.
If you have the patience and time, as I mentioned, you can still use Jellyfin in Fedora.
From your list, I would go with Debian. Fedora is amazing but doesn’t have LTS, so you’ll need to update it manually quite often. You can use a script for automatic updates, but I rarely had it working smoothly. Ubuntu is just a joke with repository hell. I wouldn’t recommend it to anyone but grandma or a child for the desktop, because of its simplicity. TrueNAS never tried…🤷
I would also look into Alpine and some Arch-based distros.
And yes, use containers, this will save you time eventually.
The only real requirement you have for the Jellyfin server is ffmpeg… But this thing runs everywhere
I tried truenas and was at first enamored but felt quite limited when it came to using docker compose. There are no official ways for using it. Additionally because it uses kubernetes under the hood it’s not as easy to go under the hood to make it work, as it requires knowledge of that in addition to docker. There is an unofficial docker compose package but there is almost no documentation that I could find and it seems to be largely unmaintained nowadays.
The other OS are good candidates, though through my research, if you are after reliability, people seem to prefer Debian with its more robust validation of updates.
I’m here mostly because I’m setting up my own homelab and I’m preparing for making use of Alpine Linux, which has no desktop environment which makes it particularly fast to boot. Additionally it is very robust, has decent documentation and allows for quite some customization but requires to learn a bit about how to make it work. With its barebone structure, it is more secure as it has a smaller attack surface and you only install what you need. Perhaps an alternative for you to consider?
Edit: to keep some sanity while needing to manage your homelab, make sure to put some weight on an os you are familiar with. I have juggled for months between OSs to find what does what I want but it has been a long battle of learning everything from scratch every time. Having tried proxmox, truenas, xcpng, and now hopefully settling with Alpine and zfs. Go the more sane way, any of those first three will work just fine.