build(worker): lokale MakeMKV-Tarballs (vendor/) schlagen den Download
Ampel / ampel (push) Successful in 34s

Cloudflare drosselt BuildKit-Downloads von makemkv.com hartnaeckig (24.07.
viermal, auch MIT --retry-all-errors, waehrend dieselben URLs ausserhalb
des Builds laden). Dauerhafter Ausweg statt Mirror-Hack: Tarballs einmal
nach docker/worker/vendor/ legen (untracked, .gitignore) — der Build nutzt
sie dann direkt und faellt sonst auf curl+Retry zurueck.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Hitonabi
2026-07-24 14:26:24 +02:00
parent 8eb5653848
commit 325d95af6f
3 changed files with 21 additions and 7 deletions
+17 -7
View File
@@ -42,13 +42,23 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
WORKDIR /build
# --retry-all-errors: makemkv.com drosselt hinter Cloudflare zeitweise auch
# einzelne GETs (24.07. zweimal mitten am Tag, HEAD ging, GET nicht) — fünf
# Versuche mit Backoff überstehen das, statt den ganzen Build zu killen.
RUN curl -fsSL --retry 5 --retry-delay 15 --retry-all-errors \
-o oss.tar.gz "${MAKEMKV_URL_BASE}/makemkv-oss-${MAKEMKV_VERSION}.tar.gz" \
&& curl -fsSL --retry 5 --retry-delay 15 --retry-all-errors \
-o bin.tar.gz "${MAKEMKV_URL_BASE}/makemkv-bin-${MAKEMKV_VERSION}.tar.gz" \
# Download mit doppeltem Netz (Cloudflare drosselt BuildKit-Downloads
# hartnäckig — 24.07. viermal, auch MIT --retry-all-errors):
# 1. Liegen die Tarballs lokal in docker/worker/vendor/ (untracked), werden
# SIE genutzt — einmal von Hand hinlegen, nie wieder Download-Roulette.
# 2. Sonst curl mit Retries gegen MAKEMKV_URL_BASE.
COPY docker/worker/vendor/ ./vendor/
RUN if [ -s "vendor/makemkv-oss-${MAKEMKV_VERSION}.tar.gz" ] \
&& [ -s "vendor/makemkv-bin-${MAKEMKV_VERSION}.tar.gz" ]; then \
echo "Nutze lokale Tarballs aus vendor/"; \
cp "vendor/makemkv-oss-${MAKEMKV_VERSION}.tar.gz" oss.tar.gz; \
cp "vendor/makemkv-bin-${MAKEMKV_VERSION}.tar.gz" bin.tar.gz; \
else \
curl -fsSL --retry 5 --retry-delay 15 --retry-all-errors \
-o oss.tar.gz "${MAKEMKV_URL_BASE}/makemkv-oss-${MAKEMKV_VERSION}.tar.gz" \
&& curl -fsSL --retry 5 --retry-delay 15 --retry-all-errors \
-o bin.tar.gz "${MAKEMKV_URL_BASE}/makemkv-bin-${MAKEMKV_VERSION}.tar.gz"; \
fi \
&& sha256sum oss.tar.gz bin.tar.gz \
&& tar xzf oss.tar.gz \
&& tar xzf bin.tar.gz
+1
View File
@@ -0,0 +1 @@
*.tar.gz
+3
View File
@@ -0,0 +1,3 @@
# MakeMKV-Tarballs hier ablegen (makemkv-oss-X.tar.gz + makemkv-bin-X.tar.gz),
# wenn Cloudflare die Build-Downloads drosselt — der Build nutzt sie dann
# statt des Downloads. Bleiben untracked (siehe .gitignore).