I’m the proud owner of a Plex Pass and maintainer of one of the most loved Dockerized versions of Plex. People expressed the wish to get the premium version and to support upgrading.
I could retrieve the latest PlexPass binary link and hardcode it and that may end up being similar to http://shell.ninthgate.se/packages/debian repository which has PlexPass binaries without requiring users to provide their Plex user/pass in order to download. I didn’t check if the binary runs for users without PlexPass but it would clearly be marked for PlexPass users only.
There is also the last resort option: Downloading latest version on start after users provided user/pass. The main issue is that I designed my Dockerized image to work as any user, especially non-root users; which means no update possible.
One of the primary points of docker is to version the container itself. It makes no sense to update within the container - just replace it with a newer image. Remote storage would be really important here to keep custom configs across updates.
I agree with kjenney69, and i use a modified docker file based on yours for me, but i download latest plex pass version. As configuration is stored on host by mounting an host volume, i stop, remove and start container, so latest version is downloaded and … already configured !
But we can make a sh script that store actual version (or by checking conf) and query special url to compare version, if result is greater, stop container, rm it and restart it with run. So upgraded. Why not make a cron in addition !
Lack of control if there is a delay in the upgrade
Security is a lot lower as users have to trust one more party (that I probably don’t know myself directly)
What I can do is locally get the PlexPass URL, and hardcode it on the PlexPass branch. This would still show to users that it comes from the official site and be an automated build.
@Jig_Saw Thanks it was already suggested and I made my PlexPass download in a similar way (but using higher level libraries). Saddly this still leaves only two options as I noted: Either I run it locally to get the latest URL using my login/password and hardcode it each time, or I need to have the Docker container binary run initially as root. I’ll probably go for the second options but haven’t finished that fully. Should be available soon though.
@Wernight : First Option is not … a option in my mind, i know that i’m actually using it for mine fork to have quick plex pass version of your image (it’s just my goal).
But, it’s a bad thing to depend on 3rd party website/service to get it, if you shutdown this, so many users will be orphan by not capable of restarting their container (unable to retrieve plex pass version). Maybe you can create a fallback to Plex Public…
Yes, use root at start will be better, no problem container switch user after operations.
To optimize your work, i’ve these suggestions:
Possibility to choose Public or Plex Pass (latest version) by using a param (with default value to public).
Possibility to choose a Plex specific version by entering version (short or long) to a param (with fallback)
Retrieving Plex Pass version on our own (by container using a shell script which use our credentials).
Rework image to include a bash script, not all commands in Docker File.
Upgrade based image to latest ubuntu (15.10)
And best at the end, if you want to resolve “Settings Tab” problem, bash script could check if Preferences.xml exist, if so add or edit allowedNetworks with 0.0.0.0 or common local docker adresses, write a allowed_networks_set blank file to not overwrite config of user in case of restart.