Hello people I just got my hands on an old PC, and I took it as a sign to finally start my on server. Right now, I’d mostly be looking into running jellyfin since I’m working on a digital music library. On the technical side, I run Mint on my laptop, so I have basic familiarity with Linux. Are there any guides you recommend that will take me through installation of OS to a functional server? Thank you!
I know Jellyfin/Emby is compatible with music, but I’m advising you now to not try and cram all your media in one software. I recommend Navidrome as a music hoster. The con is that I haven’t written a guide for it, as I run Proxmox it was almost too easy to need one.
As you’re just starting out I’d recommend picking any Linux distro, putting the ISO on a USB drive and booting the server machine from it to install. Well, you know how to install an OS. Next, install Navidrome (guide) via the Linux or Docker guides, modify the config file to point to your music folder and change any setting you like, for example the port, and run it via systemctl or docker.
After that, login via browser with the given admin creds, make a user account for you and anyone else, install slskd for downloading and beets for correctly organising into the music directory, set up a reverse proxy to point to the Navidrome UI or connect via IP from any Subsonic client or web browser.
If you want you can install Proxmox from the start - I found it incredibly handy to make different containers and VMs to handle different projects, and in terms of Navidrome I got the install script from tteck, ran it, and once done I modified the toml variables to what I wanted and restarted the service. Plug & play.
Hey, welcome to the concept of self-hosting! This is where I was 15+ years ago.
Realistically, I’d just recommend installing something and trying it out. You’ll iterate many time before you’ll slowly start to align somewhere I suspect, in terms of software/approaches etc.
If you want the very first steps, then why not simply connect your old PC to a monitor and install a Desktop version of Mint? It’s super-“wrong”, but it’ll get you started. Once you reach a stage of not wanting to waste memory/CPU on a graphical system, you’ll be able to do something like
systemctl disable lightdm.serviceand voila, graphics don’t load on start anymore. Once you get even more confident,apt remove gdm3 xfce4 xfdesktopwill remove any extra disk space (I’m dropping DE names that I approximately remember off the top of my head). With the packages for graphics gone, your system is indistinguishable from a server now.Overall it’s a nice path to walk, or at least it was fun and somewhat educative and very frustrating and giving a sense of control for me personally. Do you have any specific questions?
This is the answer. You probably could learn *nix terminals, networking, hosting, security, and a myriad of other skills all at once if you really had to focus on it–but more often, that will just result in half-started projects and systems which never come together. Dipping your toes in first, and then gradually migrating as you build up your knowledge is the best way to not be overwhelmed, burnt out, or frozen from decision overload.
One of the nicest things about Linux is you can run most any software written for Linux on most any distro (although some may require more work than others). Picking a beginner friendly distro like Mint, with helper tools and a gui, and installing Jellyfin on it will give you a place to start. You can gradually learn the console and install other services and build out organically. Rather than hopping straight into some Enterprise Linux.
spoiler

If you just want something simple that does the job, you can try a turnkey solution like YunoHost. There’s several other ones out there. Some with containers, some with more or less pre-packaged software… If you want to learn more during the process, maybe don’t and do it yourself because these things don’t teach you a lot. There’s some resources like the awesome-selfhosted list in the sidebar of this community. But I think for installing services you’d mainly look at the specific documentation of the specific service you’re just about to tackle. And maybe read up on Docker containers etc to judge whether you want to do it that way.
CasaOS or YunoHost are great places to start and hold your hand the whole way, while allowing you to tip toe into more advanced setups later on as you learn.




