this post was submitted on 29 Apr 2026
43 points (95.7% liked)

Linux

65045 readers
258 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 7 years ago
MODERATORS
 

Hey, folks I'm moving my main PC to linux soon, and for that I have settled on Mint. However, I also plan to build a homelab pc for the first time to selfhost some services, mainly Jellyfinn, some game servers, and possibly next cloud, but I'm unsure which distro to go with for that.

I have some experience running debian headless (on an orange pi) and I can use ssh and the cli just fine, however, I also want the server pc to (maybe) serve as a moonlight client in my living room, so I was leaning towards something that is not headless, and I am unsure if I should also go with Mint for that or if something else might be more suitable.

you are viewing a single comment's thread
view the rest of the comments
[–] Nibodhika@lemmy.world 4 points 3 days ago

Everyone who said proxmox didn't read your post to the end. Proxmox is great for people who want a machine to just self-host things and don't care about how things work. You don't seem like that sort of person, and you also mentioned Moonlight which will be annoying to do on proxmox as it's not intended for that use case.

Every system capable of being used as a Moonlight client can run self-hosted services, but the other way around is not true. So it's better to start with the Moonlight part.

So, with that in mind I imagine you want this machine to be plugged to a TV in the living room or something similar, so it needs to have a GUI, and the GUI probably needs to be something you can navigate with a controller (although the new Steam controller probably increases that definition dramatically).

You will already have one system with a GUI, so it's easier to use the same thing. Really, don't overthink this, if it's good for general use it's good for self-hosting, and you don't want to have to learn how to solve the same problem in multiple ways because of different distros. In the future considering different distros makes sense, but when you're just getting started nailing the basics is easier with consistency across systems. Think about it this way, if you were learning how to write mixing cursive and print at the same time would be harder than choosing one and then learning the other.

But why proxmox is great? It's because it makes it easy and gives you a GUI to add services. How hard is it to do the same on Linux using docker? Ssh into the server, edit a small text file and run a single command, all of which should be easy for you since you've probably done this in the past, but for most people that is very hard and that is where proxmox shines.

Don't believe me? You said Jellyfin, this is the whole Jellyfin file with comments:

# Services that this file creates
services:
  # Name of the service, it can be whatever you want
  jellyfin:
    # Image this server runs, this is what tells what the service is
    image: lscr.io/linuxserver/jellyfin:latest
    # Volumes to mount. In the format <local>:<inside the image>
    # So this will mount the ./jellyfin folder inside /config for the image
    # some services require specific folders inside of them, e.g. /config to store jellyfin's configs, otherwise the folder would get lost with every restart of the service 
    volumes:
      - ./jellyfin:/config
    # Rarely needed, but this gives hardware access to the image. Specifically access to the /dev/dri device
    # Jellyfin specifically benefits from this for transcoding 
    devices:
      - /dev/dri:/dev/dri
    # This shows what ports you want to expose, again in the format <local>:<inside the image>
    # So if you want Jellyfin on port 8080 on your machine you don't need to change settings, just do 8080:8096
    ports:
      - 8096:8096
      - 8920:8920
      - 7359:7359/udp
    # This tells docker to restart the service if it crashes, unless you've stopped it
    restart: unless-stopped

That's it, and this is one of the most complicated ones out there, here's a simple one:

services:
  radarr:
      image: lscr.io/linuxserver/radarr:latest
      volumes:
        - ./radarr:/config

Of course there's more to those files, and lots of extra configurations to be used, but the core is very simple and the rest is just needed for special cases.