Having a very …fun time trying to install Plex Media server on Bazzite. Can anyone explain what the hell I’m even supposed to be trying to do here?
Docker is a useful tool for when you need root on a system but forgot the password.
Install jellyfin, both fbackend and frontend
# pacman -S jellyfin-server jellyfin-webStart jellyfin
# systemctl start jellyfinUsually you’d edit some config file in
/etcfirst but jellyfin is ‘user friendly’ so you log in at http://localhost:8096/ and configure from there.Set the service to automatically start at boot
# systemctl enable jellyfinView logs of the jellyfin service with (use -fu to watch them). Very useful for debugging issues.
# journalctl -u jellyfinThe most common issue is that the jellyfin service will run as its own user which might not have permissions to your archive of media.
Containers
If you’re installing with containers the easiest to set up is with docker-compose. Basically you write a yaml file that defines all the different services, networks, and most importantly: where the containers can access your host system. I’m not going to explain more because there’s excellent documentation and probably tutorials for exactly your case.
Quadlets are like a docker-compose file but split into different files, use podman instead of docker, and are managed by systemd. You write each container, volume, and network as its own file in
/etc/containers/, run# systemctl daemon-reloadand that magically generates.servicefiles and then you can start and manage them like they were a native application.Caveat, I’ve only recently dipped my toes into quadlets but I’m already enamored with them. My only gripe is if you get the quadlet files systax wrong you will see no warnings unless you check journalctl. Docker-compose is definitely easier to set up and I do recommend learning with that first. IMO its easier to learn docker-compose before docker.
Also
Plex

Already have a lifetime Plex Pass and the app is wife-approved. Jellyfin is very much not. Sometimes you have to just meet people where they are instead of seeking perfect FOSS compliance across everything in the house.
No compromise only FOSSYeah I understand. I don’t have experience with Plex but I hope the instructions I gave would still be useful.
You can also install jellyfin as a flatpak.
Plex is bad mmk use jellyfin
Also running the server on bazzite will be hell just use debian
You’re supposed to install Jellyfin instead. 🙂
Absolutely not, sorry. I have a Plex lifetime pass and jellyfin is too jank for wife approval factor.
“Absolutely not, sorry. I have a lifetime supply of cigarettes and my wife likes the smoke scent. Now please tell me how to use a spark rod.”
Jokes aside; Docker is hell. I’ve never even heard of Quadlets. Good luck!
Divorce
moonfin
A Dockerfile setup will greatly ease this process. LinuxServer.io has an extremely simple to use image.
Here is their page on general usage of
docker-compose.Bazzite includes Podman which has full compatibility with Dockerfiles so there isn’t much additional setup other than creating a compose.yaml file, pasting the example config, editing it to match your system, and then running
docker-compose upinside that folder from a Terminal.This bypasses all of the atomic weirdness and vastly simplifies setup, migration, and backups in the future.
I don’t personally use Plex but I use A LOT of Docker on a handful of OSs including NixOS, so I know the frustration of immutable filesystems.
Good luck!
Kubernetes? suuuure
Docker? I hardly know’er.
Check out docker tutorials from simplehomelab. Or just use his script, deployrr. It’ll set everything up for you so you can just choose Plex from a list of available apps.
IT’S $30??? BAHAHAHAHA WHAT!?
You get support or something if you pay for it, but the free version will set up docker for you.
deployrr
Will this work on Bazzite with podman?
docking my apps rn
deleted by creator
I personally use Kodi as Plex is not open source, though there’s also Jellyfin. Let me know if you need help with Docker as I work in the industry
I truly do not understand how to work with Bazzite’s immutable file structure. I get why it’s good, but it also means I can’t just run a command or open a Debbie or Rippum to install software. I also understand that containerizing the media server is better somehow, but I don’t really get the point nor do I get how to actually do any of that. Like, it’s faster than a VM but why is it actually bad practice to just install and run all this stuff “normally” like I can on Windows?
Apparently I’m supposed to use a quadlet for plex?
Presumably I’m also going to have to use containers to set up services like Radarr and Sonarr and Bazarr for automatic torrent and subtitle management?
I truly do not understand how to work with Bazzite’s immutable file structure.
Yep it’s good until it isn’t imo, it’s good for casual users but once you try something with it, it’s a PITA, I personally use CachyOS. Containerizing the media server, in this case, is better insofar they can push an update to the image and instantly update it and all dependencies, it’s a “clean” slate and the program isn’t spread through your filesystem everywhere, it’s configured directly through the yaml file, and it’s replicable so if you send them a bug report they will know you run X version which wont have build differences; though containerization has a small overhead, though if the image is good, it’s largely reliable (I use containers on production servers). Tbh introducing your average Desktop user to running docker/podman containers seems like not a good idea on their part, especially for Desktop apps, I get the dev point though, but it’s in tune with the whole immutability of the systems, while a neat idea for many they personally annoy me
With Plex you’d do something like:
# ~/.config/containers/systemd/plex.container [Container] ContainerName=plex Environment=TZ=Your/TimeZone Environment=PLEX_CLAIM="<claimToken>" Image=docker.io/plexinc/pms-docker AutoUpdate=registry Network=host Volume=/home/user/.config/plex:/config:z Volume=/home/user/.cache/plex-transcode:/transcode:z Volume=/home/user/Movies:/data:z # Remove if you don't want autostart [Install] WantedBy=default.targetThen execute:
systemctl daemon-reload # Autostart Plex at boot, if you want systemctl enable plex.service systemctl start plex.serviceThough FYI I’ve never used Plex, this is mostly me doing it mentally, If you need a good resource there is https://wiki.archlinux.org/title/Podman#Quadlet though it’s dense and informative as usually the ArchWiki is. Let me know if you have any issues

Awesome! I’m gonna give this shot in the morning, thank you!!
No worries :3
It’s so the software you are trying to run isn’t dependant on the file versions your system software is running on. It prevents dependency hell and is a safeguard against breaking your linux install.














