I would like to use the docker image of Plex on my DS218+ in order to have it auto-restart on crashes. Was wondering if it will still have hardware transcoding using Quick Sync. Also would like to know if there any disadvantages to using docker besides the obvious marginal increase in CPU/Memory usage.
If you use Docker:
- Youāll have to make HW transcoding work yourself and only you can support it. Operation in Docker is not guaranteed because youāll have to make the same corresponding modifications in DSM which I make for you in the regular app.
- If you remove the image, all the metadata will be gone.
- If you want to transfer / backup, youāll have to perform a full container export
If you use the native app,
- I take care of HW permissions during installation
- If you change PMS version, your metadata survives. It resides in the
Plex
share. - You can backup and even transfer your metadata to a new installation by making a ZIP of the
Library
directory in thePlex
share.
Can you explain point 1 in more detail? Is there any guidance at all?
Expanding on my point 1 above:
- Synology uses
udev
to control device permissions. - Synology requires Plex to run as an unprivileged user. This is why user
plex
is created and why I setup the permissions in the installer forudev
- You would need to create and install, reinstalling again after most DSM updates, the
udev
rules yourself. - There is no official āguidanceā on this because Docker is an abstraction (being a container) layer.
- The āfreedomā provided by docker is āhost independenceā.
- Hardware transcoding is a āhost-dependentā capability.
I do not mean this as harsh in any way towards anyone.
āNothing is freeā. If one wants the freedom of being host independent (nature of Docker), one must be willing to do the work needed to change the containerās āhost-independentā status to āhost-dependentā status (e.g. hardware transcoding tied in) because not all Intel CPUs support Intel Quick Sync video.
Thank you for explaining this. I had been having hiccups with running and streaming/transcoding 4k media on a Plex Docker. Definitely going to switch to the native application. Whats the best way to move a docker library, cache, etc⦠to the native app?
IIRC, the /config directory inside the Docker container is where all your metadata and Plexās Library directory is located.
before moving
In Docker
- Turn off Empty Trash
- Turn off Automatically Scan
- Turn off anything else you have which is āautomaticā
On Synology
- Install 64-bit PMS from plex.tv/downloads
- Create a tar file from the shell level inside the docker container and have it written to a location you can access from outside the container in FileStation
- Control Panel - Shared Folders - EDIT the Plex share - Permissions - give your username R/W permission
- Stop Plex
- Open the Plex share in filestation
- Rename Library to Library.old
- Extract the tar file to place Library in the Plex share. (taking the place of the default one)
- Right-click Library - Properties - Permissions
- Give user plex in group users full ownership of Library. Also check the box to āinclude this folder, all subfolders, and filesā (or similar words ā forget atm)
- When complete, make certain Docker is stopped
- Package Center - Start PMS
- In browser: http://ip.addr.of.syno:32400/web and you should now have a working Dashboard
For each Library section:
- Edit the Folders list
- ADD the new locations as seen from the Native app
- Scan files
- Observe your media now showing with duplicates. This is expected and normal.
- When all media accounted for (all have dups)
- Edit again and remove the original location
- Scan one more time and observe the duplicate indicator being removed.
- Empty Trash
- Clean Bundles
- Move to next Library section , repeating until done
When all are complete, enable all previously disabled automatic settings.
Review all new native app features (Show Advanced where applicable)
Addendum:
Make the tar file AFTER you change the settings.
This will put your Synology in the proper state when it starts up
ChuckPA can you please explain how to create a tar file inside the docker container (Point 2.) in more details? I am unfortunately not familiar with using shell.
Thank you! Matus
The trick I never mastered, and donāt know how it can be (which is why I donāt use docker), is to do this when Plex is stopped (Container not running). There must be a workaround.
- Launching /bin/sh into the container.
-
cd /config
(I think) -
tar cf /path/of/one/of/your/mapped/directories/PlexLibrary.tar .
(Trailing dot significant here) - exit the shell
Now, from back in the real Linux environment, grab PlexLibrary.tar
It gets complicated on Synology and Iāve never figured out how to manage my way through their maze of overlaid directories without making a typing error and getting lost.