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