File size: 1,329 Bytes
70a3f1b
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
# 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"]