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.)
Debian
Based on that generic request, you’re just going to get everyone’s personal favourite server OS here. You’ll need to give more details to get something tailored to your needs.
True, but everyone’s favorite so far is debian
- What’s the hardware?
- Debian, imho
I love how every answer so far is Debian.
Debian is the correct answer.
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.I upgrade as soon as new versions come out, I like living on the edge :) if something goes wrong, there are backups.
As for musl, I haven’t mentioned it since OP wants to run containers - and in that case, musl doesn’t matter. And for running programs natively, many are available as packages (with any musl incompatibilities already resolved). But yeah, if you venture outside these limits, you can definitely run into issues with musl.
Proxmox. I’ve been using it and deployed jellyfin in a container, they have a bunch of one-click deployments and it’s great. Or you can just use a VM to group Docker containers together. Having a beautiful web interface is huge, Plus being able to access that interface from anywhere via WireGuard/Tailscale is great.
If you do choose to go down this route, there is a “no-nag proxmox” script somewhere, and it will disable some warnings and give you deeper customization options. Well worth a look!
I’ve never used Proxmox, but have a Docker setup on Ubuntu Server with Jellyfin, Nextcloud, Immich, and a bunch of other smaller things. I still don’t understand why use Proxmox over Docker. What does it give you that Docker doesn’t?
Proxmox is completely different from Docker. Proxmox is focused on VMs, and to a lesser extent LXC containers. If you think you will have a need to run VMs (for example, a Windows VM for a game server that doesn’t support Linux) Proxmox is great for that.
I run Docker on a dedicated VM inside Proxmox, and then I spin up other specialized VMs on the same system when needed. The Docker VM only does Docker and nothing else at all.
I run proxmox, then an alpine VM which has all my docker containers.
I do this so that I have the flexibility to run more vms if needed
I would like to recommend an Ubuntu Server LTS which is almost as solid as Debian in my opinion but with many useful features like nonfree drivers accessible right away and newer packages.
nonfree drivers accessible right away
Non-free firmware is included in the Debian installer since Bookworm.
It doesn’t matter what your host os is, if you’re using docker. Choose whichever one you like more
Debian’s great for this.
I’m also running NextCloud (the official AIO Docker image) on Debian. Great for that too.
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.
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
Never not going to mention NixOS. :)
You just need to set
services.jellyfin.enable = true;
in your system configuration and that’s it. It’s not containers, but it’s better than containers.I haven’t had the time to look into NixOS… but damn that’s just fucking magical…
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.
I’m running Fedora Server + Cosmos Cloud. Freaking awesome. Fedora Server comes bundled with Cockpit, which makes admin work much easier, and Cosmos Cloud makes Docker very easy, and automates your security.
Whatever you’re most comfortable with. It’s a simple enough ask that you can do it in Ubuntu server or Debian quite easily.
I would recommend at least using docker but you don’t have to.
Truenas isn’t very forgiving with drive configuration. I really like it but it isn’t great for randomly adding drives here and there. Unraid might be a better choice for home usage. I have never had good luck with their built in app stuff but I’ve also never really tried past it not doing what I want.
I run truenas with a ubuntu server vm and docker some stuff in that. I also run proxmox on another server and a dev server running Ubuntu server that I docker things on.
deleted by creator