I have an Intel NUC running plex media server on ubuntu headless server. It’s running beautifully, and barely uses the nuc’s resources. The videos are stored on a synology ds923+ NAS.
I’m thinking of adding a couple of new services to the NUC and would like to move to a dockerised setup. This would involve moving the plexmediaserver into a docker.
Is there a good way to do this without having to recreate and rescan all the plex video libraries?
You can just copy over the Library folder, that should do it. Then set up the plex Docker to use bind mounts instead of volumes and place your old library into that bind mount.
I usually do
~/docker/plex/Library
and have the Docker compose file in the~/docker/plex
folderCool thanks.
If you use hardware transcoding or similar features, you’ll have to find out how to pass the necessary devices through into the docker container!
This tutorial does this (if I read the compose fole right). https://drfrankenstein.co.uk/2021/12/06/plex-in-docker-on-a-synology-nas-hardware-transcoding/
Not sure if it is any good, I haven’t tried it.
It should be possible. Something like this:
1. Backup your Plex database located at /var/lib/plexmediaserver/Library/Application Support/Plex Media Server/. 2. Install Docker on your NUC. 3. Pull the Plex Docker image using docker pull plexinc/pms-docker. 4. Run the Plex Docker container, pointing it to your Plex database and media files. Example command:
docker run
-d
–name plex
–network=host
-e PLEX_CLAIM=“<YOUR_PLEX_CLAIM>”
-e ADVERTISE_IP=“http://<YOUR-SERVER-IP>:32400/”
-v <PATH_TO_PLEX_DB>:/config
-v <PATH_TO_MEDIA>:/data
plexinc/pms-docker4. Replace <YOUR_PLEX_CLAIM>, <YOUR-SERVER-IP>, <PATH_TO_PLEX_DB>, and <PATH_TO_MEDIA> accordingly.
Make sure the Synology NAS is mounted on the host and passed as a volume to the Docker container. This should maintain your existing Plex libraries.
I accomplished this and found it was pretty easy. Like everyone else said, just point the volumes to the right directories. Backup your Plex data (not the media) a few times in case you screw up and it starts to index existing files as if it were old files.
Probably the hardest part for me was ‘claiming’ the server using their startup token. And even then that was fairly easy.
You’re hosting on Ubuntu so this isn’t a problem, but PMS basically requires its own IP on your intranet (not the Docker internal subnet) so Mac’s Docker implementation fails to provide this capability.
I run everything but Plex in docker on a NUC. Plex runs right on my Synology as a package. If you go this route you should know the version in Synology is quite a few releases back, but you can easily do a manual install in package center to get the latest Plex version.
I originally migrated plex away from the NAS, because I wanted to upgrade to a non intel based NAS (ds923+ is a ryzen based setup. So no hardware transcoding). I’m super happy with the NAS , and by moving plex to the NUC I have freed my self from Synology NAS chip restrictions.
Also plex works better than it ever has on a synology.
If you’re planning to mount the data directories on the host for your docker setup it should be relatively straight forward I think, docker volumes a little less so. Thinking through it, you’ll need to run the container first time with the volumes mounted wherever you like so the container will populate the host mounted data directory with the folder structure, initial database, config file(s) logs, cache, etc. Then it should be as simple as backing up the initial data files just in case, swapping in a copy of the database you’ve got already got running, the config .xml? I believe, the cache directory, and the logs if you’d like. It’s been a while since I’ve had Plex deployed so I could certainly be missing something though.
Edit: create -> run
I am far from an expert, but if you just point your volumes to the right directories, it will be like nothing ever happened.