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.
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
+1 for Docker if not for anything except the ability to easily upgrade and downgrade.
I generally grab my containers and specify a specific version number instead of latest. This allows me to have Jellyfin-10.8.1 (or whatever) and quickly go to Jellyfin-10.9.1 for testing and if there is any problem, just stop the new container and restart the old one.
This also makes it really easy to backup the /config directory if I want as well.
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?
Unfortunately I don't use a GUI to manage my docker compose config so I don't know, sorry. Symlinks do work as long as you also mount the mount point to which the symlink points.
Ah, right. Jellyfin running inside the container won't know about anything happening outside of the container including any bare metal file system particulars, so you'll have to manage mounts in the docker-compose file. AFAIK The official docker compose tutorial is pretty good but let me know if you need help!