68 lines
1.3 KiB
Bash
68 lines
1.3 KiB
Bash
#! /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
|