Jump to content
Sign in to follow this  

Up-to-date Plex docker install help needed

4 posts in this topic Last Reply

Recommended Posts

I apologize if this is posted elsewhere.  If it is, I couldn't find it.  I have searched quite a bit here, and on the Plex forums looking for current install guidance.  Unfortunately, everything I have found is based on older versions of Plex and Unraid, and I can’t be certain what carries forward to the newer versions.  I am brand new to Unraid. My server is only a week old, and I am still transferring data to the server. So far the file server part is working great so I don't want to screw up anything while adding apps.


To start, I have Plex installed and it seems to be functioning correctly.  Still, I would like some confirmation that my config choices are correct.  I also have a couple of questions about things I do not understand.


I actually installed Plex twice using the Plexinc Official Repo.  During the install I was required to provide two Host Paths in order to complete the installation.  The paths are “Host Path 2: Container Path: /transcode” and “Host Path 3: Container Path: /data”. As I’ll explain below, my initial setup, although apparently functional, did not seem to be correct so I removed the app, and installed it again with different settings.


For the first install I interpreted the two path options as transcode folder location and appdata location.  As such, entered /mnt/disk3/transcode for transcode, and /mnt/cache/appdata/Plex for the data location. After the install was complete I fired up plex.  I could see the server, but I could not any local shares to the library.  I googled how to add media to plex unraid, and found a video that advised adding a path to the media shares. I did this, and I was able to add folders to my test library. Upon actually playing a video, transcode folders were created in Disk3/transcode as expected.  However, I discovered that no data was stored in /cache/appdata/plex. Instead, the installer had created a /appdata/PlexMediaServer folder, which was where information was being stored. This discrepancy got me wondering what I might have done wrong. So I did some more searching.


I found a Sept. 2017 post on the plex forum that gave me a little more direction regarding the two required host paths.  It indicated /transcode for the first host path, and /mnt/user for the second. With these settings I was able to access the media and access the local shares to add media to plex.  However, these settings still leave me with a few questions.


I cannot figure out where the /transcode is located on the disk.  I cannot find the folder using krusader. I have seen several posts from 2015/16 that advised using RAM for transcoding, but one of the later posts I read said that this is no longer supported.  If /transcode is not in RAM, then where is the folder located?


I’d like to know because I prefer to not use the SSD cache pool for plex transcoding.  Sure it is fast, but it is also needless wear on the SSDs. I would prefer to use one of the storage pool hard drives over the cache pool.


I've considered adding a dedicated scratch drive so I don’t have to use the SSDs or the Parity disk.  For purely temp data like on the fly transcoding, this seems perfectly acceptable. Any concerns with this idea?


The second question is likely because of my unfamiliarity with unraid and docker file structures.  There is probably a perfectly good explanation, but like I said I am a newbie.  When I go to /mnt in krusader the folder is empty. This alone confuses me because when I open any drive using the folder icons next to the drives on the Main tab, the path at the top of the page says /mnt/disk#.  As if this wasn’t confusing enough, when editing the host path in the plex docker configuration, and I select /mnt there is a full selection of disk options plus a user folder that contains all of the shares.  Why doesn’t the /mnt folder look the same in krusader? Are the dockers using a different file system?


Thanks for any assistance.


Share this post

Link to post
1 hour ago, jkBuckethead said:

Are the dockers using a different file system?

Yes. Think of a docker like a miniature VM, it's pretty much a whole OS all to itself. The only paths that are available inside the docker are ones that you specify in the container mapping. Host = unraid side maps to Container = docker side. So if you have /mnt/user mapped to /media in Krusader, then all your user shares will show up in /media in Krusader. The individual disks are /mnt/diskX and /mnt/cache, so if you don't have them mapped, they won't show inside Krusader.


If you don't have a good understanding of the difference between user shares and disks, I wouldn't try to work with disks individually, just focus on user shares.





Share this post

Link to post
On 9/30/2018 at 7:02 PM, jkBuckethead said:

I cannot figure out where the /transcode is located on the disk.  I cannot find the folder using krusader. I have seen several posts from 2015/16 that advised using RAM for transcoding, but one of the later posts I read said that this is no longer supported.  If /transcode is not in RAM, then where is the folder located? 


NOTE:  I understand this is more detail than you need as it involves things you have already done and have working.  I am including this detail in case it is useful for others in the future.


I don't use the Plexinc Plex docker as I prefer LSIO dockers whenever possible.  However, I understand LSIO consulted with Plex to help Plex setup their docker so, there are likely many similarities.


I think most of your confusion stems from the fact that you may not fully understand docker volume mappings which are used to map docker container paths to host paths.


I see jonathanm answered your question about why things appear differently in Krusader.  Again, the disconnect has to do with the way you may have mapped things on the container side (docker) vs. the host side (unRAID file system).


You will be better off focusing on dealing with user shares rather than disk shares and never, ever confuse the two in Krusader, MC, etc. Moving files between disk and user shares could (and often does) result in data loss.  Always work disk to disk or user to user share and do not mix the two.


FYI - I, and many others, have Plex set to transcode in RAM.  Yes, Plex once stated officially that they would no longer support RAM transcodes, but, I don't know if they ever really followed through on that as it works fine.


Here are the steps for mapping a container path to a host path for transcoding purposes and then specifying the container path in the Plex server transcoder settings.


/tmp is RAM on the unRAID server.  It is not part of the unRAID user shares/disk shares file system.


In my case I have /transcode mapped to /tmp


Edit Plex docker settings and do the following:


1 - Edit the appropriate host path variable (or add a new one) for your transcode mapping.


2 - Enter the desired container path name, edit the configuration and enter a host path of /tmp if you want to transcode to RAM.  This is a docker volume mapping where you are associating a container path (/transcode) with a host path (a physical location in the unRAID file system), which in this case, happens to be a location that exists only in RAM and is not part of the unRAID user/disk shares.




3 - Click Save button in Edit Configuration.


4 - Click Apply button in Docker Edit screen.


5. Open Plex docker WebUI


6. Click on Settings


7. Select Server Settings


8. Select Transcoder


9. Enter the name of the container path you specified in step two as the Transcoder temporary directory




This tells Plex to transcode videos to the /tmp directory on the host which is in RAM.  This could also be done to a directory on your cache drive by specifying the Host Path as something like /mnt/user/cache/plex/transcode in step two.  The important thing is that in Plex transcode settings you specify the name of the Container path variable as the Transcoder location.


10. Click Save Changes button


Now lets look at mapping media locations on the unRAID server to Plex Libraries.


The concept is the same, you map a container path that exists only within the docker config to a physical host path in the unRAID filesystem.


Here are my media mappings in Plex:




In the case of movies, the docker container path is /movies which is mapped to the physical share path of /mnt/user/Movies (the Movies share in unRAID)


Open the Plex UI and go to the Libraries section and add a Movies Library.  When adding the folder, select the name of the docker container path you created for Movies (/movies) and click add.  This tells Plex to look for movie media in the physical host path mapped to /movies which is /mnt/user/Movies


Repeat for other media container/hosts paths you may have.




Note that in the above screenshot of host path configuration, I also have a /config mapping which specifies where the Plex docker config files will be physically located.  In my case that is /mnt/user/appdata/Plex which is on the cache drive. 


The recommendation is to specify /mnt/cache/appdata/Plex instead if you want docker config files stored in appdata on cache.  I have never had the issues others have had with using the user mapping as apposed to cache so I have never bothered to change Plex and other dockers mapped this way.


If I browse my cache drive, I find all the Plex docker/config files being stored in the appdata/Plex folder.


Once you wrap your head around how docker volume mapping works, it is really quite easy to configure dockers properly


Edited by Hoopster

Share this post

Link to post

Thanks for the comments.  I do half of this stuff just because I want to learn how to do it.  This is why I am okay with experimenting, but I do it cautiously and seek assistance when needed.  Both your comments have helped me set up Plex, and better understand how Docker interacts with Unraid.

Share this post

Link to post

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this