--- start_pms +++ /usr/bin/start_pms @@ -1,36 +1,39 @@ #!/bin/sh -#change these parameters in /etc/default/plexmediaserver -export PLEX_MEDIA_SERVER_MAX_PLUGIN_PROCS=6 -export PLEX_MEDIA_SERVER_HOME=/usr/lib/plexmediaserver -export PLEX_MEDIA_SERVER_MAX_STACK_SIZE=3000 -export PLEX_MEDIA_SERVER_TMPDIR=/tmp -export PLEX_MEDIA_SERVER_APPLICATION_SUPPORT_DIR="${HOME}/Library/Application Support" -if [ -f /etc/default/locale ]; then - export LANG="`cat /etc/default/locale|awk -F '=' '/LANG=/{print $2}'|sed 's/"//g'`" - export LC_ALL="$LANG" -fi - -test -f /etc/default/plexmediaserver && . /etc/default/plexmediaserver +# Default values +export PLEX_MEDIA_SERVER_MAX_PLUGIN_PROCS="${PLEX_MEDIA_SERVER_MAX_PLUGIN_PROCS:-6}" +export PLEX_MEDIA_SERVER_HOME="${PLEX_MEDIA_SERVER_HOME:-/usr/lib/plexmediaserver}" +export PLEX_MEDIA_SERVER_MAX_STACK_SIZE="${PLEX_MEDIA_SERVER_MAX_STACK_SIZE:-3000}" +export PLEX_MEDIA_SERVER_TMPDIR="${PLEX_MEDIA_SERVER_TMPDIR:-/tmp}" +export PLEX_MEDIA_SERVER_APPLICATION_SUPPORT_DIR="${PLEX_MEDIA_SERVER_APPLICATION_SUPPORT_DIR:-/config}" +export PLEX_MEDIA_SERVER_CONFIG_DIR="${PLEX_MEDIA_SERVER_APPLICATION_SUPPORT_DIR}/Plex Media Server" if [ ! -d "$PLEX_MEDIA_SERVER_APPLICATION_SUPPORT_DIR" ] then - mkdir -p "$PLEX_MEDIA_SERVER_APPLICATION_SUPPORT_DIR" + mkdir -p "$PLEX_MEDIA_SERVER_APPLICATION_SUPPORT_DIR" && \ + chown $UID:$GID "$PLEX_MEDIA_SERVER_APPLICATION_SUPPORT_DIR" if [ ! $? -eq 0 ] then echo "WARNING COULDN'T CREATE $PLEX_MEDIA_SERVER_APPLICATION_SUPPORT_DIR, MAKE SURE I HAVE PERMISSON TO DO THAT!" exit 1 fi fi +if su-exec $UID:$GID [ ! -w "$PLEX_MEDIA_SERVER_CONFIG_DIR" ] +then + echo "ERROR: CANNOT WRITE IN $PLEX_MEDIA_SERVER_CONFIG_DIR, MAKE SURE I HAVE PERMISSION TO DO THAT!" + exit 2 +fi -export LD_LIBRARY_PATH="${PLEX_MEDIA_SERVER_HOME}" +export LD_LIBRARY_PATH="${PLEX_MEDIA_SERVER_HOME}:$LD_LIBRARY_PATH" export TMPDIR="${PLEX_MEDIA_SERVER_TMPDIR}" -echo $PLEX_MEDIA_SERVER_MAX_PLUGIN_PROCS $PLEX_MEDIA_SERVER_MAX_STACK_SIZE $PLEX_MEDIA_SERVER_APPLICATION_SUPPORT_DIR - -ulimit -s $PLEX_MAX_STACK_SIZE - -# Add sleep - Possible fix for start on boot. -sleep 3 +# Allow Plex group to write to tmpdir +chgrp $GID "$TMPDIR" +chmod g+rwx "$TMPDIR" + +PIDFILE="${PLEX_MEDIA_SERVER_CONFIG_DIR}/plexmediaserver.pid" +if [ -f "$PIDFILE" ]; then + rm -f "$PIDFILE" +fi -(cd /usr/lib/plexmediaserver; ./Plex\ Media\ Server) +exec su-exec $UID:$GID "$PLEX_MEDIA_SERVER_HOME/Plex Media Server"