Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- mkdir -p $HOME/.config/{radarr,sonarr,cloudplow,prowlarr,jellyfin}
- ## To update uncomment following line
- #rm -rf $HOME/.bin
- ## change version no to update SABNZBD and JELLYFIN
- SABNZBD_VERSION="3.5.0"
- JELLYFIN_VERSION="10.7.7"
- ## to update ASPDOTNET find new url at https://dotnet.microsoft.com/en-us/download/dotnet/5.0
- ASPDOTNET_URL="https://download.visualstudio.microsoft.com/download/pr/f56adf04-e4a8-48bf-b2e2-722e7206a4f2/7f40d4ebeff281120ba76e7b091356b0/aspnetcore-runtime-5.0.14-linux-x64.tar.gz"
- RADARR_PORT=
- SONARR_PORT=
- SABNZBD_PORT=
- PROWLARR_PORT=
- JELLYFIN_PORT=
- ## install cloudplow
- installdir="$HOME/.bin/cloudplow"
- datadir="$HOME/.config/cloudplow"
- python3 -m venv ${installdir}
- cd ${installdir}
- git clone https://github.com/l3uddz/cloudplow.git
- source ${installdir}/bin/activate
- python -m pip install -U pip
- python3 -m pip install -r ${installdir}/cloudplow/requirements.txt
- deactivate
- ## install sabnzbd
- installdir="$HOME/.bin/sabnzbd"
- datadir="$HOME/.config/sabnzbd"
- python3 -m venv ${installdir}
- cd ${installdir}
- wget "https://github.com/sabnzbd/sabnzbd/releases/download/${SABNZBD_VERSION}/SABnzbd-${SABNZBD_VERSION}-src.tar.gz"
- tar -xf "SABnzbd-${SABNZBD_VERSION}-src.tar.gz"
- rm "SABnzbd-${SABNZBD_VERSION}-src.tar.gz"
- source ${installdir}/bin/activate
- python -m pip install -U pip
- python3 -m pip install -r ${installdir}/SABnzbd-${SABNZBD_VERSION}/requirements.txt
- deactivate
- ln -sf ${installdir}/SABnzbd-${SABNZBD_VERSION}/SABnzbd.py ${installdir}/sabnzbd
- ## install radarr
- app="radarr"
- installdir="$HOME/.bin/"
- datadir="$HOME/.config/${app}"
- branch="master"
- ARCH=$(dpkg --print-architecture)
- # get arch
- dlbase="https://$app.servarr.com/v1/update/$branch/updatefile?os=linux&runtime=netcore"
- case "$ARCH" in
- "amd64") DLURL="${dlbase}&arch=x64" ;;
- "armhf") DLURL="${dlbase}&arch=arm" ;;
- "arm64") DLURL="${dlbase}&arch=arm64" ;;
- *)
- echo "Arch not supported"
- exit 1
- ;;
- esac
- echo ""
- echo "Downloading..."
- cd ${installdir}
- wget --content-disposition "$DLURL"
- tar -xvzf ${app^}.*.tar.gz
- rm ${app^}.*.tar.gz
- echo ""
- echo "Installation files downloaded and extracted"
- touch "$datadir"/update_required
- echo "RADARR Installed"
- ## install prowlarr
- app="prowlarr"
- installdir="$HOME/.bin/"
- datadir="$HOME/.config/${app}"
- branch="develop"
- ARCH=$(dpkg --print-architecture)
- # get arch
- dlbase="https://$app.servarr.com/v1/update/$branch/updatefile?os=linux&runtime=netcore"
- case "$ARCH" in
- "amd64") DLURL="${dlbase}&arch=x64" ;;
- "armhf") DLURL="${dlbase}&arch=arm" ;;
- "arm64") DLURL="${dlbase}&arch=arm64" ;;
- *)
- echo "Arch not supported"
- exit 1
- ;;
- esac
- echo ""
- echo "Downloading..."
- cd ${installdir}
- wget --content-disposition "$DLURL"
- tar -xvzf ${app^}.*.tar.gz
- rm ${app^}.*.tar.gz
- echo ""
- echo "Installation files downloaded and extracted"
- touch "$datadir"/update_required
- echo "PROWLARR Installed"
- ## install sonarr
- app="sonarr"
- installdir="$HOME/.bin/"
- datadir="$HOME/.config/${app}"
- branch="main"
- ARCH=$(dpkg --print-architecture)
- # get arch
- dlbase="https://services.$app.tv/v1/download/$branch/latest?version=3&os=linux&runtime=netcore"
- ARCH=$(dpkg --print-architecture)
- case "$ARCH" in
- "amd64") DLURL="${dlbase}&arch=x64" ;;
- "armhf") DLURL="${dlbase}&arch=arm" ;;
- "arm64") DLURL="${dlbase}&arch=arm64" ;;
- *)
- echo "Arch not supported"
- exit 1
- ;;
- esac
- echo ""
- echo "Downloading..."
- cd ${installdir}
- wget --content-disposition "$DLURL"
- tar -xvzf ${app^}.*.tar.gz
- rm ${app^}.*.tar.gz
- echo ""
- echo "Installation files downloaded and extracted"
- touch "$datadir"/update_required
- echo "SONARR Installed"
- ## Jellyfin
- ## installing aspnetcore
- echo "downloading aspnetcore v5.0.14"
- echo "find latest link from https://dotnet.microsoft.com/en-us/download/dotnet/5.0"
- installdir="$HOME/.bin/dotnet"
- mkdir -p ${installdir}
- cd ${installdir}
- wget https://download.visualstudio.microsoft.com/download/pr/f56adf04-e4a8-48bf-b2e2-722e7206a4f2/7f40d4ebeff281120ba76e7b091356b0/aspnetcore-runtime-5.0.14-linux-x64.tar.gz
- tar -xvzf *.tar.gz
- rm *.tar.gz
- echo "export DOTNET_ROOT=$HOME/.bin/dotnet" >> $HOME/.bashrc
- export DOTNET_ROOT=$HOME/.bin/dotnet
- ## installing jellyfin
- app="jellyfin"
- installdir="$HOME/.bin/"
- datadir="$HOME/.config/${app}"
- cd ${installdir}
- wget "https://repo.jellyfin.org/releases/server/portable/stable/combined/${app}_${JELLYFIN_VERSION}.tar.gz"
- tar -xvzf ${app}_${JELLYFIN_VERSION}.tar.gz
- rm ${app}_${JELLYFIN_VERSION}.tar.gz
- mv ${app}_${JELLYFIN_VERSION} ${app}
- cd
- cat << 'EOF' >> $HOME/.bashrc
- alias jellyfin='tmux new-session -d -s "jellyfin" "export DOTNET_ROOT=~/.bin/dotnet && export JELLYFIN_DATA_DIR=~/.config/jellyfin && JELLYFIN_LOG_DIR=~/.config/jellyfin/log && nice -n 19 sh -c ~/.bin/jellyfin/jellyfin"'
- alias sonarr='tmux new-session -d -s "sonarr" "mono ~/.bin/Sonarr/Sonarr.exe --data=~/.config/sonarr; exec $SHELL"'
- alias radarr='tmux new-session -d -s "radarr" "~/.bin/Radarr/Radarr -nobrowser -data=~/.config/radarr; exec $SHELL"'
- alias prowlarr='tmux new-session -d -s "prowlarr" -n "prowlarr" "~/.bin/Prowlarr/Prowlarr -nobrowser -data=~/.config/prowlarr; exec $SHELL"'
- alias cloudplow='tmux new-session -d -s "cloudplow" "source ~/.bin/cloudplow/bin/activate && python3 ~/.bin/cloudplow/cloudplow/cloudplow.py run --config=~/.config/cloudplow/config.json --loglevel=DEBUG --cachefile=~/.config/cloudplow/cache.db --logfile=~/.config/cloudplow/cloudplow.log"'
- alias sabnzbd='tmux new-session -d -s "sabnzbd" "source ~/.bin/sabnzbd/bin/activate && /usr/bin/nice -n 19 python3 ~/.bin/sabnzbd/sabnzbd/SABnzbd.py -b 0 -f ~/.config/sabnzbd/sabnzbd.ini"'
- EOF
- USERNAME=$(whoami)
- cat << EOF > $HOME/.lighttpd/custom
- $HTTP["url"] =~ "^/sonarr($|/)" {
- proxy.header = ( "map-urlpath" => (
- "/sonarr-hd" => "/public-$USERNAME/sonarr-hd"
- ) )
- proxy.server = ( "" => ( (
- "host" => "127.0.0.1",
- "port" => $SONARR_PORT
- ) ) )
- }
- $HTTP["url"] =~ "^/radarr($|/)" {
- proxy.header = ( "map-urlpath" => (
- "/radarr-hd" => "/public-$USERNAME/radarr-hd"
- ) )
- proxy.server = ( "" => ( (
- "host" => "127.0.0.1",
- "port" => $RADARR_PORT
- ) ) )
- }
- $HTTP["url"] =~ "^/sabnzbd($|/)" {
- proxy.header = ( "map-urlpath" => (
- "/sabnzbd" => "/public-$USERNAME/sabnzbd"
- ) )
- proxy.server = ( "" => ( (
- "host" => "127.0.0.1",
- "port" => $SABNZBD_PORT
- ) ) )
- }
- $HTTP["url"] =~ "^/prowlarr($|/)" {
- proxy.server = ( "" => ( (
- "host" => "127.0.0.1",
- "port" => $PROWLARR_PORT
- ) ) ),
- proxy.header = ( "map-urlpath" => (
- "/prowlarr" => "/public-$USERNAME/prowlarr"
- ) )
- }
- $HTTP["url"] =~ "^/jellyfin($|/)" {
- proxy.header = ( "map-urlpath" => (
- "/jellyfin" => "/public-$USERNAME/jellyfin"
- ) )
- proxy.server = ( "" => ( (
- "host" => "127.0.0.1",
- "port" => $JELLYFIN_PORT
- ) ) )
- }
- EOF
Advertisement
Add Comment
Please, Sign In to add comment