52 lines
1022 B
Bash
52 lines
1022 B
Bash
#! /bin/bash
|
|
|
|
main() {
|
|
set -eo pipefail
|
|
|
|
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 LATEST | awk '{print $NF}')"
|
|
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
|