Jellyfin Forum
Jellyfin and Docker Set-Up - Printable Version

+- Jellyfin Forum (https://forum.jellyfin.org)
+-- Forum: Support (https://forum.jellyfin.org/f-support)
+--- Forum: Troubleshooting (https://forum.jellyfin.org/f-troubleshooting)
+--- Thread: Jellyfin and Docker Set-Up (/t-jellyfin-and-docker-set-up)



Jellyfin and Docker Set-Up - johnbilboa - 2025-03-24

Hi

I'm a complete newbie to Docker and Jellyfin and Ive hit a problem which I cant find any solution when it comes to setting up Jellyfin.

My set up is that I'm running Jellyfin in a Docker container with a Linux Mint O/S. I also have Portainer up and running as a front end to Docker.
Using Portainer I loaded jellyfin/jellyfin from Docker Hub  and mapped port 8096 to port 8096 (Host/Container)

The Jellyfin container is running ok and I can access it via Firefox at port 8096 and I followed the set up instructions.

I'm trying to load up my music by creating a media library from files stored on my pc- the same pc that's running docker but I cant find a file path to my music. I get invalid path messages. The only 3 top level paths displayed injellyfin to choose from are

 /
/cache
/config

I understand from my research that I probably need to to map my local files into the jellyfin container using a "bind mount". Maybe I also need some additional set up info with the config and cache ?

I've tried finding out how to do this , what code to paste etc. from everywhere including the Jellyfin /Docker set up notes but I cant find anything that works.
Its now driving me slightly mad so I would really appreciate a step by step guide including what I need to enter into Portainer or the Linux Console to get set up properly.

Thanks in advance.
John


RE: Jellyfin and Docker Set-Up - TheDreadPirate - 2025-03-24

Did you map the music folder into the docker container? Additionally, did you mount /config and /cache to a folder on the host?


RE: Jellyfin and Docker Set-Up - johnbilboa - 2025-03-24

Hi Thanks for the reply
I don't believe Ive done any of this - just what I outlined.
Could you explain what I need to do please as I'm a real beginner.
Thanks


RE: Jellyfin and Docker Set-Up - TheDreadPirate - 2025-03-24

In Docker you are creating a self contained environment. The container is only aware of things external to it when you "map" that external folder/device/network to it.

If you did not configure a "host to container" mapping, the container is not aware of it. Additionally, since you did not configure a mapping from a folder on your host to "/config" in the container, if you were to update the container you would lose all your data. You need to go into the config for Jellyfin in portainer UI and map a folder on your host for both /config and /cache as well as map your media.

I use docker compose, but I think it kind of shows what I am talking about. The directory to the left of the colon is the path host, the path on the right is how it is mapped into the container.

Code:
volumes:
      - ./jellyfin-prod-data/config:/config
      - ./jellyfin-prod-data/cache:/cache
      - /media/storage2/tempLibrary:/media/tempLibrary:ro
      - /media/library:/media/library

The path you map on the right, the "container side", is arbitrary except for /config and /cache. You can map your media any which way you want.

Your library is in /mnt/movies and /mnt/tv? You can map that into the container as simply /movies and /tv.

Code:
/mnt/movies:/movies
/mnt/tv:/tv

The portainer UI will provide a similar distinction between host and container paths.


RE: Jellyfin and Docker Set-Up - johnbilboa - 2025-03-24

Hi

I understand what you say about mapping . Thank you.
What I still struggle with is what to put in Portainer as a path
Firstly when I created the Jellyfin container in Portainer the pull from the docker hub  automatically created two volumes with a target path of /config and /cache.
For example for  /congig portainer has infilled this info in the volume it added. (The volumes are being used by Jellyfin according to Portainer).

Mount path /var/lib/docker/volumes/d87243e6e6638a455451003d70609dff1f48fa3590479f582f1e2f2bb3a2b164/_data
Driver local

and

Containers using volume
Container Name Mounted At Read-only
Jellyfin /config false

Did it get this from my host? Is this all that's needed to map these two or do I need additional volumes. I'm not really up with Linux as to how to find the right config and cache files on my pc file system. There seems to be loads of them when I do a file system search.

For my music files I have this as the file path on my local host (pc)

home/johnbilboa/Music/My Music Collection

and then a folder for each letter of the alphabet and within each letter a folder for each artist and then for each artist a folder for each album.

Sorry if I appear a bit dim, but I don't understand from your example what file paths I'm supposed to put in Portainer for the volume path (which I assume is the host) and what to put in the the container path which I guess would be the music file path in jellyfin.
Could you confirm these please and then I'll try to  map these and see if it works.

Also Ive only mapped one port (8096) in the jellyfin container. Do I need to map any others to be able to use the jellyfin client on other devices?
Do I need any other ports open/mapped for a reverse proxy if I install one in another container?
Thanks
John


RE: Jellyfin and Docker Set-Up - TheDreadPirate - 2025-03-25

(2025-03-24, 11:47 PM)johnbilboa Wrote: Hi

I understand what you say about mapping . Thank you.
What I still struggle with is what to put in Portainer as a path
Firstly when I created the Jellyfin container in Portainer the pull from the docker hub  automatically created two volumes with a target path of /config and /cache.
For example for  /congig portainer has infilled this info in the volume it added. (The volumes are being used by Jellyfin according to Portainer).

Mount path /var/lib/docker/volumes/d87243e6e6638a455451003d70609dff1f48fa3590479f582f1e2f2bb3a2b164/_data
Driver local

and

Containers using volume
Container Name Mounted At Read-only
Jellyfin /config false

Did it get this from my host? Is this all that's needed to map these two or do I need additional volumes. I'm not really up with Linux as to how to find the right config and cache files on my pc file system. There seems to be loads of them when I do a file system search.

The path portainer provided is a docker managed volume that SHOULD retain your jellyfin data if Jellyfin were to be upgraded.  But it is generally recommended to provide your own folder for /config that you control. 

I put all the data for my docker containers in "/docker/<insert app name>", one folder for each app I run in Docker.  But it doesn't have to be anywhere specific.  Just put it somewhere you have read/write access to and, preferably, on a SSD.

(2025-03-24, 11:47 PM)johnbilboa Wrote: For my music files I have this as the file path on my local host (pc)

home/johnbilboa/Music/My Music Collection

and then a folder for each letter of the alphabet and within each letter a folder for each artist and then for each artist a folder for each album.

Sorry if I appear a bit dim, but I don't understand from your example what file paths I'm supposed to put in Portainer for the volume path (which I assume is the host) and what to put in the the container path which I guess would be the music file path in jellyfin.
Could you confirm these please and then I'll try to  map these and see if it works.

Also Ive only mapped one port (8096) in the jellyfin container. Do I need to map any others to be able to use the jellyfin client on other devices?
Do I need any other ports open/mapped for a reverse proxy if I install one in another container?
Thanks
John

The only paths that MUST be set to a specific value is the container path /config and /cache.  The host side of those mappings can be, as I stated above, anywhere you have control over.

For your music, that is entirely arbitrary for the container side.  But whatever you put on the container side of that mapping is how it will appear when you add it to a library in the Jellyfin UI.