Files
mediamanager/defaults.inc
2024-10-15 13:06:47 -05:00

188 lines
5.6 KiB
Bash
Executable File

#!/usr/bin/env bash
VERS='3.10.2-09302024'
MMFOLDER="/opt/idssys/mediamanager"
TMPFOLDER="${MMFOLDER}/.tmp"
LOGFOLDER="${MMFOLDER}/logs"
[ ! -d ${TMPFOLDER} ] && mkdir ${TMPFOLDER}
[ ! -d ${LOGFOLDER} ] && mkdir ${LOGFOLDER}
MMSRV=$(/bin/ip -o -4 addr list eth0 | awk '{print $4}' | cut -d/ -f1)
AVAILSERVICES=bazarr,jackett,lidarr,ombi,snap.overseerr.daemon,prowlarr,qbittorrent,radarr,radarr3d,readarr,sonarr,snap.tautulli.tautulli
UPDATESERVICES=bazarr,jackett,lidarr,ombi,organizr,prowlarr,qbittorrent,radarr,readarr,sonarr
BETA_SERVICES=" readarr "
MM_LOGFILE=${LOGFOLDER}/logfile
MM_OUTPUT_LOGFILE=${LOGFOLDER}/outputs.check.log
MM_BACKUP_FOLDER='/opt/!MM-Service-Backups'
([ -z ${MM_VPN_RESTART+x} ] || [ ${MM_VPN_RESTART} -gt 85800 ]) && MM_VPN_RESTART=85800
[ ! -f ${MM_LOGFILE} ] && touch ${MM_LOGFILE}
[ ! -f ${MM_OUTPUT_LOGFILE} ] && touch ${MM_OUTPUT_LOGFILE}
[ ! -d ${MM_BACKUP_FOLDER} ] && mkdir ${MM_BACKUP_FOLDER}
IFS=,
ADD_ROUTES=(${ADDROUTES})
AVAIL_SERVICES=(${AVAILSERVICES})
UPDATE_SERVICES=(${UPDATESERVICES})
SERVICES_CHECK=(${SERVICESCHECK})
unset IFS
noheader=' check noup update update-organizr cron '
allowrun=' status update stop vpninfo '
declare -A MM_SERVICES
MM_SERVICES['openvpn']='OpenVPN (TorGuard VPN Tunnel)'
MM_SERVICES['wireguard']='WireGuard (TorGuard VPN Tunnel)'
MM_SERVICES['bazarr']='Bazarr (Subtitle Manager)'
MM_SERVICES['jackett']='Jackett (Torrent Indexing Manager)'
MM_SERVICES['lidarr']='Lidarr (Music Manager)'
MM_SERVICES['ombi']='Ombi (Download Requester)'
MM_SERVICES['snap.overseerr.daemon']='Overseerr (Download Requester)'
MM_SERVICES['qbittorrent']='qBittorrent (Torrent Downloader)'
MM_SERVICES['prowlarr']='Prowlarr (Torrent Indexing Manager)'
MM_SERVICES['radarr']='Radarr (Movies Manager)'
MM_SERVICES['radarr3d']='Radarr3D (3D Movies Manager)'
MM_SERVICES['readarr']='Readarr (Books Manager)'
MM_SERVICES['sonarr']='Sonarr (TV Shows Manager)'
MM_SERVICES['snap.tautulli.tautulli']='Tautulli (Plex Stats)'
declare -A MM_SERVICE_PORTS
MM_SERVICE_PORTS['ombi']='5000'
MM_SERVICE_PORTS['radarr']='5555'
MM_SERVICE_PORTS['radarr3d']='5556'
MM_SERVICE_PORTS['sonarr']='5656'
MM_SERVICE_PORTS['qbittorrent']='5858'
MM_SERVICE_PORTS['snap.tautulli.tautulli']='8181'
MM_SERVICE_PORTS['snap.overseerr.daemon']='5055'
MM_SERVICE_PORTS['lidarr']='8686'
MM_SERVICE_PORTS['jackett']='9117'
MM_SERVICE_PORTS['bazarr']='6767'
MM_SERVICE_PORTS['prowlarr']='9696'
MM_SERVICE_PORTS['readarr']='8787'
declare -A MM_SERVICE_CFG
MM_SERVICE_CFG['ombi']='/etc/Ombi'
MM_SERVICE_CFG['radarr']='/home/user/.config/Radarr'
MM_SERVICE_CFG['radarr3d']='/home/user/.config/Radarr3D'
MM_SERVICE_CFG['sonarr']='/home/user/.config/Sonarr'
MM_SERVICE_CFG['qbittorrent']='/home/user/.config/qBittorrent'
MM_SERVICE_CFG['snap.tautulli.tautulli']='/root/snap/tautulli'
MM_SERVICE_CFG['lidarr']='/home/user/.config/Lidarr'
MM_SERVICE_CFG['jackett']='/home/user/.config/Jackett'
MM_SERVICE_CFG['prowlarr']='/home/user/.config/Prowlarr'
MM_SERVICE_CFG['readarr']='/home/user/.config/Readarr'
MM_SERVICE_CFG['bazarr']=''
declare -A MM_SERVICE_APP
MM_SERVICE_APP['qbittorrent']='none'
MM_SERVICE_APP['radarr3d']='none'
MM_SERVICE_APP['sonarr']='/usr/lib/sonarr/bin'
MM_SERVICE_APP['snap.tautulli.tautulli']='/snap/tautulli/current'
declare -A MM_UPDATE_REPO
#MM_UPDATE_REPO['ombi']='Ombi-app'
MM_UPDATE_REPO['ombi']='systemd'
MM_UPDATE_REPO['radarr']='radarr'
# MM_UPDATE_REPO['sonarr']='sonarr'
MM_UPDATE_REPO['sonarr']='systemd'
MM_UPDATE_REPO['lidarr']='lidarr'
MM_UPDATE_REPO['jackett']='jackett'
MM_UPDATE_REPO['bazarr']='morpheus65535'
MM_UPDATE_REPO['organizr']='git'
MM_UPDATE_REPO['qbittorrent']='systemd'
MM_UPDATE_REPO['prowlarr']='prowlarr'
MM_UPDATE_REPO['readarr']='readarr'
declare -A MM_UPDATE_REPO_GREP
MM_UPDATE_REPO_GREP['ombi']='linux-x64'
MM_UPDATE_REPO_GREP['radarr']='linux-core-x64'
MM_UPDATE_REPO_GREP['sonarr']='linux-core-x64'
MM_UPDATE_REPO_GREP['lidarr']='linux-core-x64'
MM_UPDATE_REPO_GREP['jackett']='LinuxAMDx64'
MM_UPDATE_REPO_GREP['bazarr']='zip'
MM_UPDATE_REPO_GREP['prowlarr']='linux-core-x64'
MM_UPDATE_REPO_GREP['readarr']='linux-core-x64'
if [ "${VPN_INTERFACE}" = "tun0" ]; then #openvpn
VPN_START=(/bin/systemctl start openvpn)
VPN_STOP=(/bin/systemctl stop openvpn)
else #default wireguard
VPN_START=(sudo /usr/bin/wg-quick up ${VPN_INTERFACE})
VPN_STOP=(sudo /usr/bin/wg-quick down ${VPN_INTERFACE})
fi
DEBUGLOGSTOP(){
chktmend=`date +%s`
# chktm=$((chktmend-chktmstart))
# echo "$(date) - ${mmsv} Runtime: ${chktm}s" >> ${MM_LOGFILE}
}
MMUPDATECHECK(){
if curl -m 15 -s --head --request GET https://git.schroedercity.com | grep "HTTP/2 200" > /dev/null; then
cd /opt/idssys/mediamanager
if [ "`git log --pretty=%H ...refs/heads/master^ | head -n 1`" != "`git ls-remote origin -h refs/heads/master |cut -f1`" ]; then
touch ${TMPFOLDER}/update.available
else
/bin/rm -f ${TMPFOLDER}/update.available
fi
else
/bin/rm -f ${TMPFOLDER}/update.available
fi
}
SENDNOTICE(){
[ "${EMAIL_NOTICE}" != "" ] && echo -e "${2}\n\n$(date)" | mail -s "${1}" ${EMAIL_NOTICE}
[ "${PUSHOVER_APP_TOKEN}" != "" ] && PUSH_TO_MOBILE "${2}
$(date)" "${1}" ${3}
}
uptime_minutes() {
set `uptime -p`
local minutes=0
shift
while [ -n "$1" ]; do
case $2 in
day*)
((minutes+=$1*1440));;
hour*)
((minutes+=$1*60));;
minute*)
((minutes+=$1));;
esac
shift
shift
done
echo $minutes
}
declare -A SYSTEMD_CONF
SYSTEMD_CONF['prowlarr']="[Unit]
Description=Prowlarr Daemon
After=syslog.target network.target
[Service]
User=user
Group=users
Type=simple
ExecStart=/opt/Prowlarr/Prowlarr -nobrowser -data=/home/user/.config/Prowlarr/
TimeoutStopSec=20
KillMode=process
Restart=on-failure
[Install]
WantedBy=multi-user.target
"