build(worker): MakeMKV-Download mit Retry + dokumentierter Lokal-Mirror-Ausweg
Ampel / ampel (push) Successful in 31s

Cloudflare drosselte am 24.07. wiederholt GENAU die BuildKit-Downloads
(ausserhalb des Builds gingen dieselben URLs mit 200 durch) — drei
Deploy-Anlaeufe starben an curl exit 22. Zwei Gegenmittel:
- curl --retry 5 --retry-delay 15 --retry-all-errors im Download-RUN
  (curl-Doku; --retry-all-errors wiederholt auch bei 4xx/5xx)
- Lokal-Mirror-Rezept im Kommentar: Tarballs von Hand laden, per
  nginx:alpine servieren, MAKEMKV_URL_BASE aufs LAN zeigen — so wurde
  der 1.18.4-Build auf der VM letztlich gebaut.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Hitonabi
2026-07-24 13:54:37 +02:00
parent c9270d08e1
commit e7a7d5fdb4
+13 -4
View File
@@ -20,8 +20,12 @@ FROM python:3.12-slim-bookworm AS makemkv-build
# Version zählt, weil sie die neueste AACS-Schlüssel-Datenbank mitbringt —
# 1.17.7 kannte z. B. den Key der Summer-Wars-UHD (MKB v82) nicht.
# MAKEMKV_URL_BASE ist übersteuerbar (Build-Arg): /download hat nur die
# aktuelle Version, /download/old die älteren; bei Cloudflare-525 einen
# Wayback-Snapshot eintragen.
# aktuelle Version, /download/old die älteren. Wenn Cloudflare BuildKit-
# Downloads drosselt (24.07.: außerhalb des Builds ging alles, im Build
# konsequent HTTP-Fehler), Tarballs von Hand laden und lokal servieren:
# mkdir ~/makemkv-mirror && curl -o … && docker run -d --name makemkv-mirror \
# -p 8099:80 -v ~/makemkv-mirror:/usr/share/nginx/html:ro nginx:alpine
# docker compose build --build-arg MAKEMKV_URL_BASE=http://<host-ip>:8099 worker
ARG MAKEMKV_VERSION=1.18.4
ARG MAKEMKV_URL_BASE=https://www.makemkv.com/download
@@ -38,8 +42,13 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
WORKDIR /build
RUN curl -fsSL -o oss.tar.gz "${MAKEMKV_URL_BASE}/makemkv-oss-${MAKEMKV_VERSION}.tar.gz" \
&& curl -fsSL -o bin.tar.gz "${MAKEMKV_URL_BASE}/makemkv-bin-${MAKEMKV_VERSION}.tar.gz" \
# --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" \
&& sha256sum oss.tar.gz bin.tar.gz \
&& tar xzf oss.tar.gz \
&& tar xzf bin.tar.gz