From e7a7d5fdb466fc08d558df71b9a44160f57d2df3 Mon Sep 17 00:00:00 2001 From: Hitonabi Date: Fri, 24 Jul 2026 13:54:37 +0200 Subject: [PATCH] build(worker): MakeMKV-Download mit Retry + dokumentierter Lokal-Mirror-Ausweg MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- docker/worker/Dockerfile | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/docker/worker/Dockerfile b/docker/worker/Dockerfile index 039f647..3b1ed28 100644 --- a/docker/worker/Dockerfile +++ b/docker/worker/Dockerfile @@ -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://: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