#! /bin/bash main() { set -eo pipefail if ! which pip3; then if which apk; then apk update && apk add py3-pip else apt install -y pip3 fi fi cd_work_d ytdlp2STRM_d=./ytdlp2STRM ensure_ytdlp2STRM_git "$ytdlp2STRM_d" head_ts="$(cd "$ytdlp2STRM_d"; git log -n 1 --format=%as)" echo head_ts=$head_ts yt_dlp_latest="$( pip3 index versions yt-dlp \ | grep '^Available.versions:' \ | tr ' ' '\n' \ | grep -v 'Available.versions:' \ | sort -n \ | tail -n 1 \ | tr -d ',' )" echo yt_dlp_latest=$yt_dlp_latest img=registry-app.inhome.blapointe.com:5001/bel/ytdlp2strm tag=${head_ts}-${yt_dlp_latest} if docker pull $img:$tag; then exit 0 fi cd "$ytdlp2STRM_d" docker build -t "$img:$tag" . docker tag "$img:$tag" "$img:latest" $DEBUG docker push "$img:$tag" $DEBUG docker push "$img:latest" } cd_work_d() { d="$PWD" mkdir -p ./work.d cd ./work.d cleanup() { cd "$d" $DEBUG rm -rf ./work.d || true } trap cleanup EXIT } ensure_ytdlp2STRM_git() { if [ ! -d "$1" ]; then git clone --depth=1 \ https://github.com/fe80Grau/ytdlp2STRM.git \ "$1" fi } if [ "$0" == "$BASH_SOURCE" ]; then main "$@" fi