# syntax=docker/dockerfile:1 ARG RELEASE_VERSION=latest # ---------------- Downloader ---------------- FROM alpine:3.21 AS downloader ARG RELEASE_VERSION RUN apk add --no-cache curl ca-certificates WORKDIR /tmp RUN set -e; \ if [ "$RELEASE_VERSION" = "latest" ]; then \ URL="https://github.com/mhdzumair/MediaFlow-Proxy-Light/releases/latest/download/mediaflow-proxy-light-linux-x86_64"; \ else \ URL="https://github.com/mhdzumair/MediaFlow-Proxy-Light/releases/download/${RELEASE_VERSION}/mediaflow-proxy-light-linux-x86_64"; \ fi; \ curl -fL --retry 3 --retry-delay 2 -o mediaflow-proxy-light "$URL"; \ chmod +x mediaflow-proxy-light # ---------------- Runtime ---------------- FROM debian:bookworm-slim RUN apt-get update && \ apt-get install -y --no-install-recommends \ redis-server \ ca-certificates \ tini && \ rm -rf /var/lib/apt/lists/* WORKDIR /app COPY --from=downloader /tmp/mediaflow-proxy-light /app/mediaflow-proxy-light RUN chmod +x /app/mediaflow-proxy-light # HF Spaces port ENV APP__SERVER__HOST=0.0.0.0 ENV APP__SERVER__PORT=7860 # Redis ENV APP__REDIS__URL=redis://127.0.0.1:6379 ENV RUST_LOG=info COPY start.sh /app/start.sh RUN chmod +x /app/start.sh EXPOSE 7860 ENTRYPOINT ["/usr/bin/tini","--"] CMD ["/app/start.sh"]