YDH-Scripts/scarrs/Upgrade-Sonarr.sh

66 lines
1.5 KiB
Bash

#!/bin/bash
system="sonarr"
CreateContainer () {
local ver=$1
local serv=$2
local container="docker.io/linuxserver/$serv:latest" # :latest used to autimatically override older version in local DOCKERFILE, this way we don't need to delete locally pulled containers
local name="$serv-$ver"
local pod="$(echo $serv | sed -e 's/\b\(.\)/\u\1/g')"
local env="/opt/arr/any.env"
if $debug; then
echo "service: $container"
echo "L $serv"
echo "ver: $ver"
echo "name: $name"
echo "pod: $pod"
echo "env: $env"
fi
podman pull $container
podman create \
--name=$name \
--pod=$pod \
--env-file=$env \
--restart=always \
$container
echo $name
}
GetNewVer () {
serv="$1"
json="$(curl https://api.linuxserver.io/api/v1/images | jq --arg name $serv '.data.repositories.linuxserver[] | select(.name==$name)')"
ver="$(echo $json | jq .version | awk -F'"' '{print $2}' | awk -F'.' '{print $1 "." $2 "." $3}')"
echo $ver
}
GetOldVer () {
serv=$1
currentPod=$(podman ps | grep $serv | awk '{print $NF}')
echo $currentPod
}
RemoveOldContainer () {
local container=$1
podman stop $container
podman rm $container
}
StartNewcontainer () {
local container=$1
podman start $container
}
main () {
newver="$(GetNewVer)"
OldContainer="$(GetOldVer $system)"
newcontainer="$(CreateContainer $newver $system)"
RemoveOldContainer $OldContainer
StartNewcontainer $newcontainer
}
main