YDH-Scripts/scarrs/Upgrade-Sonarr.sh

64 lines
1.4 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 .data.repositories.linuxserver[] | select(.name==$serv))"
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 () {
container=$1
podman rm $container
}
StartNewcontainer () {
container=$1
podman start $container
}
main () {
OldContainer=$(GetOldVer $system)
newcontainer=$(CreateContainer $(GetNewVer) $system)
RemoveOldContainer $OldContainer
StartNewcontainer $newcontainer
}
main