I have a Podman container with Jellyfin running in it. It runs fine without SELinux, but it always crashes whenever SELinux is enabled. This will be an instance that will only be accessible in my private network.
Should I:
- figure out how to use SELinux with Podman
- uninstall SELinux
- use a different server distro (Debian, Ubuntu)
If I should figure out SELinux, please point me to some resources as I could not find anything easy enough for me through a simple Google search.
Write your own selinux module with audit2allow.
I’m not at work so I can’t find the guides I use but this looks similar https://danwalsh.livejournal.com/24750.html
Just make sure to mount your volumes with the :z or :Z flags. I have disabled SELinux on servers in the past, but never when I’ve just used podman containers, since “it just works” with SELinux. Literally never had any problems with containers and SELinux.
You can also set SELinux to permissive mode. https://docs.fedoraproject.org/en-US/quick-docs/selinux-changing-states-and-modes/#_changing_to_permissive_mode
This way it is basically disabled, but you can reenable it without any problems.
Try mounting volumes with :z at the end.
But it is pretty easy to turn SELinux into permissive mode or disable it all together via the config file.
Z or z. Depends on the scenario
Personally I would lean towards finding out why its borking with SELinux and fixing that. It really shouldn’t be too hard. As others have mentioned it may be as simple as how you are mounting volumes into your containers - or it could be changing the SELinux context type for some files.
SELinux is one of the first things I disable. It causes way more problems than it solves.
All my workloads are containerised so I’ll trust the security of that machinery to sandbox them instead