2016-06-30 22:59:35 +01:00
|
|
|
|
#!/usr/bin/with-contenv bash
|
2016-01-18 09:46:00 +00:00
|
|
|
|
|
|
|
|
|
|
# opt out for autoupdates
|
|
|
|
|
|
[ "$ADVANCED_DISABLEUPDATES" ] && exit 0
|
|
|
|
|
|
|
2016-07-02 20:15:50 +01:00
|
|
|
|
# set header for no preferences/token message
|
|
|
|
|
|
[[ -e /tmp/no-token.nfo ]] && rm /tmp/no-token.nfo
|
|
|
|
|
|
NOTOKEN_SET='/tmp/no-token.nfo'
|
|
|
|
|
|
cat > "${NOTOKEN_SET}" <<-EOFTOKEN
|
2015-12-26 10:17:22 +01:00
|
|
|
|
|
2015-08-28 12:36:53 +02:00
|
|
|
|
|
2016-07-02 20:15:50 +01:00
|
|
|
|
#####################################################
|
2016-07-02 20:28:43 +01:00
|
|
|
|
# Login via the webui at http://<ip>:32400/web #
|
|
|
|
|
|
# and restart the docker, because there was no #
|
2016-07-02 20:15:50 +01:00
|
|
|
|
EOFTOKEN
|
2016-03-30 10:20:52 +02:00
|
|
|
|
|
2016-07-02 20:15:50 +01:00
|
|
|
|
# if preferences files doesn't exist, exit out
|
|
|
|
|
|
if [ ! -e "/config/Library/Application Support/Plex Media Server/Preferences.xml" ]; then
|
|
|
|
|
|
cat >> "${NOTOKEN_SET}" <<-EOFTOKEN
|
|
|
|
|
|
# preference file found, possibly first startup. #
|
|
|
|
|
|
#####################################################
|
2016-03-30 10:20:52 +02:00
|
|
|
|
|
|
|
|
|
|
|
2016-07-02 20:15:50 +01:00
|
|
|
|
EOFTOKEN
|
|
|
|
|
|
less /tmp/no-token.nfo
|
|
|
|
|
|
exit 0
|
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
# attempt to read plex token
|
|
|
|
|
|
PLEX_TOKEN=$( sed -n 's/.*PlexOnlineToken="//p' \
|
|
|
|
|
|
"/config/Library/Application Support/Plex Media Server/Preferences.xml" \
|
|
|
|
|
|
| sed "s/\".*//")
|
2016-05-23 05:17:14 -07:00
|
|
|
|
|
2016-07-02 20:15:50 +01:00
|
|
|
|
# if plex token isn't found, exit out
|
|
|
|
|
|
if [ -z "$PLEX_TOKEN" ]; then
|
|
|
|
|
|
cat >> "${NOTOKEN_SET}" <<-EOFTOKEN
|
2016-07-02 20:28:43 +01:00
|
|
|
|
# plex token found in the preference file #
|
2016-07-02 20:15:50 +01:00
|
|
|
|
#####################################################
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
EOFTOKEN
|
|
|
|
|
|
less /tmp/no-token.nfo
|
|
|
|
|
|
exit 0
|
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
# determine installed version of plex
|
|
|
|
|
|
INSTALLED=$(dpkg-query -W -f='${Version}' plexmediaserver)
|
2015-08-28 12:36:53 +02:00
|
|
|
|
|
2016-03-30 10:20:52 +02:00
|
|
|
|
|
2016-07-02 20:15:50 +01:00
|
|
|
|
# start update routine
|
|
|
|
|
|
|
|
|
|
|
|
[ "$PLEXPASS" ] && echo "PLEXPASS is deprecated, please use VERSION"
|
|
|
|
|
|
|
|
|
|
|
|
if [[ -z $VERSION && "$PLEXPASS" == "1" || $VERSION = "plexpass" ]]; then echo "VERSION=plexpass is depricated please use version latest"; fi
|
|
|
|
|
|
|
2016-04-07 08:40:31 +02:00
|
|
|
|
if [[ "$VERSION" = latest || "$VERSION" = plexpass ]]; then
|
2016-05-19 22:37:32 +02:00
|
|
|
|
VERSION=$(curl -s "https://plex.tv/downloads/latest/1?channel=8&build=linux-ubuntu-x86_64&distro=ubuntu&X-Plex-Token=$PLEX_TOKEN"| cut -d "/" -f 5 )
|
2016-03-30 10:20:52 +02:00
|
|
|
|
echo "Target version: $VERSION set by: latest\plexpass"
|
2016-05-19 22:37:32 +02:00
|
|
|
|
elif [[ "$VERSION" = public ]]; then
|
|
|
|
|
|
VERSION=$(curl -s "https://plex.tv/downloads/latest/1?channel=8&build=linux-ubuntu-x86_64&distro=ubuntu&X-Plex-Token="| cut -d "/" -f 5 )
|
|
|
|
|
|
echo "Target version: $VERSION set by: public"
|
2016-04-07 08:51:10 +02:00
|
|
|
|
elif [[ -z "$VERSION" ]]; then
|
2016-04-07 08:51:22 +02:00
|
|
|
|
echo "Target version: Version not set, Defaulting to supplied version"
|
2015-08-28 12:36:53 +02:00
|
|
|
|
else
|
2016-03-30 10:20:52 +02:00
|
|
|
|
echo "Target version: $VERSION set by: manually"
|
2015-05-10 10:50:00 +02:00
|
|
|
|
fi
|
2015-08-28 12:36:53 +02:00
|
|
|
|
|
|
|
|
|
|
last=130
|
2016-03-04 00:35:25 -05:00
|
|
|
|
if [[ "$VERSION" == "" ]]; then
|
|
|
|
|
|
echo "ERROR: No version found, running installed version $INSTALLED"
|
|
|
|
|
|
elif [[ "$VERSION" != "$INSTALLED" ]]; then
|
2015-11-13 11:19:07 +00:00
|
|
|
|
echo "Upgrading from version: $INSTALLED to version: $VERSION"
|
2015-09-24 09:25:27 +02:00
|
|
|
|
while [[ $last -ne "0" ]]; do
|
|
|
|
|
|
rm -f /tmp/plexmediaserver_*.deb
|
2015-11-12 15:15:29 -06:00
|
|
|
|
wget -P /tmp "https://downloads.plex.tv/plex-media-server/$VERSION/plexmediaserver_${VERSION}_amd64.deb"
|
2015-09-24 09:25:27 +02:00
|
|
|
|
last=$?
|
2015-08-28 12:46:13 +02:00
|
|
|
|
done
|
2015-08-28 13:59:01 +02:00
|
|
|
|
apt-get remove --purge -y plexmediaserver
|
2016-03-30 10:31:32 +02:00
|
|
|
|
dpkg -i /tmp/plexmediaserver_"${VERSION}"_amd64.deb
|
2015-08-28 12:46:13 +02:00
|
|
|
|
else
|
2015-09-24 09:25:27 +02:00
|
|
|
|
echo "No need to update!"
|
2015-08-28 12:46:13 +02:00
|
|
|
|
fi
|
2016-07-02 20:15:50 +01:00
|
|
|
|
|
2015-09-01 10:10:21 +02:00
|
|
|
|
cp -v /defaults/plexmediaserver /etc/default/plexmediaserver
|
2016-06-30 22:59:35 +01:00
|
|
|
|
|