sha256:85bef02837d34c0978c0abda0f6d617c8107845608315f7cf83de0669c288f51
2026-09-24 11:34:15 UTC
1.15 GB
0.0.0.0:8088
BUILD_SHAe4fb671f91d3604797075768a80d5ae20c77a3c1
PATH/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PIPER_BIN/opt/redyrect/piper/piper
PIPER_DEFAULT_VOICEen_US-libritts_r-medium
PIPER_LENGTH_SCALE1.1
PIPER_VOICES_DIR/opt/redyrect/piper/voices
RUST_LOGinfo
WEB_DIST/opt/redyrect/web/dist
WHISPER_MODEL_PATH/opt/redyrect/models/ggml-base.en.bin
[#000] sha256:bd36565c0fdebaf0f3af5c3b4ce610ca085ced32e9e9da850d95912f5f18f47b - 2.45% (28.8 MB)
[#001] sha256:d217f82b3e2980f6bea0489c4151463ed4c28cba43904a88b3bf7f2a65335e1e - 4.02% (47.3 MB)
[#002] sha256:98ca6f4efbb958be798ab53a63b54167fb5f847cf15b0e4ee2745d4e5b91ca8d - 91.9% (1.06 GB)
[#003] sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 - 0.0% (32 Bytes)
[#004] sha256:acfd2d059a4c4626cda681ac6817feb3bee952b6a3584b074d7e17bf925e4025 - 1.35% (15.9 MB)
[#005] sha256:c14ebd5cb79c99d823d23c56cf3d478e4ff3c8b00f8b25ff9dd6e8df3694ae3a - 0.21% (2.48 MB)
[#006] sha256:096fe85d94beb508b9a8a4b1367b92f8404d909e50fa849e419d8b5a9fac8d60 - 0.07% (789 KB)
# debian.sh --arch 'arm64' out/ 'trixie' '@1789689600'
2026-09-21 15:24:34 UTC (buildkit.dockerfile.v0)ARG POSTGRES_MAJOR=16
2026-09-21 15:24:34 UTC (buildkit.dockerfile.v0)RUN |1 POSTGRES_MAJOR=16 /bin/sh -c apt-get update && apt-get install -y --no-install-recommends ca-certificates gnupg wget && wget -qO- https://www.postgresql.org/media/keys/ACCC4CF8.asc | gpg --dearmor -o /usr/share/keyrings/pgdg.gpg && echo "deb [signed-by=/usr/share/keyrings/pgdg.gpg] https://apt.postgresql.org/pub/repos/apt trixie-pgdg main" > /etc/apt/sources.list.d/pgdg.list && apt-get update && apt-get install -y --no-install-recommends postgresql-client-${POSTGRES_MAJOR} ghostscript libtiff-tools libgomp1 gzip bash tini && apt-get purge -y gnupg && rm -rf /var/lib/apt/lists/* # buildkit
2026-09-21 15:24:34 UTC (buildkit.dockerfile.v0)ARG PIPER_VOICES= en_US-libritts_r-medium en_US-amy-medium en_US-lessac-high en_US-hfc_female-medium en_US-kristin-medium en_US-ryan-high en_US-joe-medium en_US-norman-medium en_US-hfc_male-medium en_GB-jenny_dioco-medium en_GB-alba-medium en_GB-cori-high en_GB-alan-medium en_GB-northern_english_male-medium
2026-09-21 15:24:34 UTC (buildkit.dockerfile.v0)ARG TARGETARCH
2026-09-21 15:25:42 UTC (buildkit.dockerfile.v0)RUN |3 POSTGRES_MAJOR=16 PIPER_VOICES= en_US-libritts_r-medium en_US-amy-medium en_US-lessac-high en_US-hfc_female-medium en_US-kristin-medium en_US-ryan-high en_US-joe-medium en_US-norman-medium en_US-hfc_male-medium en_GB-jenny_dioco-medium en_GB-alba-medium en_GB-cori-high en_GB-alan-medium en_GB-northern_english_male-medium TARGETARCH=arm64 /bin/sh -c set -eu; case "$TARGETARCH" in arm64) PIPER_ARCH=aarch64 ;; amd64) PIPER_ARCH=x86_64 ;; *) echo "unsupported TARGETARCH: $TARGETARCH" >&2; exit 1 ;; esac; mkdir -p /opt/redyrect/models /opt/redyrect/piper/voices; wget -qO /opt/redyrect/models/ggml-base.en.bin https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-base.en.bin; wget -qO /tmp/piper.tar.gz "https://github.com/rhasspy/piper/releases/download/2023.11.14-2/piper_linux_${PIPER_ARCH}.tar.gz"; tar -xzf /tmp/piper.tar.gz -C /opt/redyrect/piper --strip-components=1; rm /tmp/piper.tar.gz; for id in $PIPER_VOICES; do locale=$(echo "$id" | cut -d- -f1); quality=$(echo "$id" | rev | cut -d- -f1 | rev); voice=$(echo "$id" | sed -e "s/^${locale}-//" -e "s/-${quality}$//"); lang=$(echo "$locale" | cut -d_ -f1); base="https://huggingface.co/rhasspy/piper-voices/resolve/main/${lang}/${locale}/${voice}/${quality}/${id}"; echo "fetching $id"; wget -qO "/opt/redyrect/piper/voices/${id}.onnx" "${base}.onnx"; wget -qO "/opt/redyrect/piper/voices/${id}.onnx.json" "${base}.onnx.json"; done; apt-get purge -y wget; rm -rf /var/lib/apt/lists/* # buildkit
2026-09-24 11:34:15 UTC (buildkit.dockerfile.v0)ARG BUILD_SHA=unknown
2026-09-24 11:34:15 UTC (buildkit.dockerfile.v0)LABEL org.opencontainers.image.revision=e4fb671f91d3604797075768a80d5ae20c77a3c1
2026-09-24 11:34:15 UTC (buildkit.dockerfile.v0)ENV BUILD_SHA=e4fb671f91d3604797075768a80d5ae20c77a3c1
2026-09-24 11:34:15 UTC (buildkit.dockerfile.v0)WORKDIR /opt/redyrect
2026-09-24 11:34:15 UTC (buildkit.dockerfile.v0)COPY /build/target/release/server /usr/local/bin/server # buildkit
2026-09-24 11:34:15 UTC (buildkit.dockerfile.v0)COPY /build/target/release/xtask /usr/local/bin/xtask # buildkit
2026-09-24 11:34:15 UTC (buildkit.dockerfile.v0)COPY /web/dist /opt/redyrect/web/dist # buildkit
2026-09-24 11:34:15 UTC (buildkit.dockerfile.v0)ENV WEB_DIST=/opt/redyrect/web/dist API_BIND=0.0.0.0:8088 WHISPER_MODEL_PATH=/opt/redyrect/models/ggml-base.en.bin PIPER_BIN=/opt/redyrect/piper/piper PIPER_VOICES_DIR=/opt/redyrect/piper/voices PIPER_DEFAULT_VOICE=en_US-libritts_r-medium PIPER_LENGTH_SCALE=1.1 RUST_LOG=info
2026-09-24 11:34:15 UTC (buildkit.dockerfile.v0)EXPOSE map[8088/tcp:{} 8186/tcp:{}]
2026-09-24 11:34:15 UTC (buildkit.dockerfile.v0)ENTRYPOINT ["/usr/bin/tini" "--" "/usr/local/bin/server"]
Please be careful as this will not just delete the reference but also the actual content!
For example when you have latest and v1.2.3 both pointing to the same image
the deletion of latest will also permanently remove v1.2.3.