import
This commit is contained in:
60
sabnzbd.sh
Normal file
60
sabnzbd.sh
Normal file
@@ -0,0 +1,60 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
#
|
||||
# Display settings on standard out.
|
||||
#
|
||||
|
||||
USER="sabnzbd"
|
||||
|
||||
echo "SABnzbd settings"
|
||||
echo "================"
|
||||
echo
|
||||
echo " User: ${USER}"
|
||||
echo " UID: ${SABNZBD_UID:=666}"
|
||||
echo " GID: ${SABNZBD_GID:=666}"
|
||||
echo
|
||||
echo " Config: ${CONFIG:=/datadir/config.ini}"
|
||||
echo
|
||||
|
||||
#
|
||||
# Change UID / GID of SABnzbd user.
|
||||
#
|
||||
|
||||
printf "Updating UID / GID... "
|
||||
[[ $(id -u ${USER}) == ${SABNZBD_UID} ]] || usermod -o -u ${SABNZBD_UID} ${USER}
|
||||
[[ $(id -g ${USER}) == ${SABNZBD_GID} ]] || groupmod -o -g ${SABNZBD_GID} ${USER}
|
||||
echo "[DONE]"
|
||||
|
||||
#
|
||||
# Set directory permissions.
|
||||
#
|
||||
|
||||
printf "Set permissions... "
|
||||
touch ${CONFIG}
|
||||
chown -R ${USER}: /sabnzbd
|
||||
function check_dir {
|
||||
[ "$(stat -c '%u %g' $1)" == "${SABNZBD_UID} ${SABNZBD_GID}" ] || chown ${USER}: $1
|
||||
}
|
||||
check_dir /datadir
|
||||
check_dir /media
|
||||
check_dir $(dirname ${CONFIG})
|
||||
echo "[DONE]"
|
||||
|
||||
#
|
||||
# Because SABnzbd runs in a container we've to make sure we've a proper
|
||||
# listener on 0.0.0.0. We also have to deal with the port which by default is
|
||||
# 8080 but can be changed by the user.
|
||||
#
|
||||
|
||||
printf "Get listener port... "
|
||||
PORT=$(sed -n '/^port *=/{s/port *= *//p;q}' ${CONFIG})
|
||||
LISTENER="-s 0.0.0.0:${PORT:=8080}"
|
||||
echo "[${PORT}]"
|
||||
|
||||
#
|
||||
# Finally, start SABnzbd.
|
||||
#
|
||||
|
||||
echo "Starting SABnzbd..."
|
||||
exec su -pc "./SABnzbd.py -b 0 -f ${CONFIG} ${LISTENER}" ${USER}
|
||||
Reference in New Issue
Block a user