FROM golang:1.26.4-alpine3.23 AS builder WORKDIR /src ARG HTTP_PROXY ARG HTTPS_PROXY ENV HTTP_PROXY=${HTTP_PROXY} ENV HTTPS_PROXY=${HTTPS_PROXY} COPY go.mod go.sum ./ RUN go mod download COPY . . RUN go build -o /usr/local/bin/uptodown-bot ./cmd/bot/ FROM alpine:3.23 RUN apk add --no-cache ffmpeg yt-dlp ca-certificates tzdata py3-pip curl # Install yt-dlp plugins (add more as needed). # PIP_BREAK_SYSTEM_PACKAGES bypasses PEP 668 — safe in Docker. RUN PIP_BREAK_SYSTEM_PACKAGES=1 pip3 install --root-user-action=ignore --no-cache-dir hanime-plugin # Install Deno JS runtime (required by some yt-dlp plugins) RUN curl -fsSL https://deno.land/install.sh | sh ENV PATH="/root/.deno/bin:${PATH}" # Verify Deno is available RUN deno --version WORKDIR /data COPY --from=builder /usr/local/bin/uptodown-bot /usr/local/bin/uptodown-bot VOLUME ["/data"] CMD ["uptodown-bot"]