I’ve been running jellyfin server on win10 but just got my hands on an old laptop that I turned into a ubuntu server.
my question is, is there any advantage on running jellyfin in a docker container?
I suppose it might be easier to get it up running, but might be more wasteful?
Also since it is all in containers, would be easier to troubleshoot or to just kill it and start anew.
I’ve done both bare metal and docker. I find containers much easier to manage, troubleshoot and deploy
Docker containers usually have a negligible performance overhead compared to bare metal. Certainly it won’t make or break jellyfin usability whether it is running in a container or not.
Some further advantages in addition to the ones you mentioned:
- trivially easy to up and downgrade versions (in case of a broken release for example)
- nearly 0 chance of incompatibilities stemming from your other installed packages or versions
- If your server is open to the public internet and you get hacked due to a flaw in jellyfin, any attacker finds himself inside the container. One typically mounts all media as read only into the container - so at that point all they can do is mess with your playback history and steal your home videos but a ransomware attack against your actual data is off the table.
edit: obviously you should still practice good security practices like requiring HTTPS, geoblocking etc. if you are open to the internet. Luckily there’s a fantastic container which pairs perfectly with the (imho preferrable) linuxserver/jellyfin container which provides this: linuxserver/swag. Just FYI
perfect! thanks!
one question regarding media folder, do I have to set it in the docker configuration (docker-compose) beforehand or I could use only the GUI to select the directories?
In case I must set it beforehand, would it work If I add symbolic links to that folder?
The main thing I like about containers is portability. Backup/copy your mounted folder with all the application’s data to any other system, point a new container of the same app to it and you’re up and running.
All the other advantages mentioned already are a really nice bonus.
Containers are nice because it’s harder for the container to leave behind files scattered across the filesystem. It’s also generally easier to upgrade, since your package manager is likely to only have a single version.