In response, I can tell you have have countless threads of never-ending issues with containers.
IMHO, You don’t put a permanent server in a Docker container, itself an abstraction from the host, which was intended only to be used until such time as a native application was available. This adds overhead (even on linux).
Anyone who has success with PMS hasn’t yet been bitten by the limits of the abstraction.
Their day is coming.
To isolate the PMS from the container, I would like you to create the following:
(assuming you have enough local host space for this)
/home/plexdata/Library/Application Support/Plex Media Server
With the docker container stopped, using whatever means is appropriate (tar | tar
works well), clone the container’s PMS installation into this area so it lands in perfect structure.
Now:
sudo chown -R plex:plex /home/plexdata
- Download and install PMS from plex.tv/downloads (64 bit)
sudo systemctl stop plexmediaserver
sudo systemctl edit plexmediaserver
- Create the following override file in the
systemctl
editor session
#
# Exported Container experiment config
#
[Service]
#
Environment="PLEX_MEDIA_SERVER_APPLICATION_SUPPORT_DIR=/home/plexdata/Library/Application Support"
This moves the metadata
If you want to move the transcoder temp directory, ( I don’t know where yours is now)
you can create the temp one in /home/plexdata/tmp_transcoding
If you should do this, also add this to the override file.
Environment="PLEX_MEDIA_SERVER_TEMP_DIR=path-to-temp-dir-here"
Now, you can do the following:
sudo sh
systemctl daemon-reload
systemctl start plexmediaserver
The native host will start up just as if it were the Docker host.
At this point, we are fully native.
If there is a continued problem, troubleshooting will be multi-fold easier because we aren’t abstracting anything from the real host.
- File locks will be native
- Network traffic will be native.