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
folderIf 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 think this should work? I used this method when migrating my plex server to a lxc container.
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.