FROM golang:1.24-alpine AS build WORKDIR /src COPY go.mod go.sum ./ RUN go mod download COPY . . RUN CGO_ENABLED=0 go build -o /levyraati . FROM alpine:3.21 # yt-dlp rots against YouTube, so it is installed unpinned at build time and updated by rebuilding. RUN apk add --no-cache ffmpeg python3 py3-pip ca-certificates \ && pip install --break-system-packages --no-cache-dir -U yt-dlp COPY --from=build /levyraati /usr/local/bin/levyraati ENV STORAGE_DIR=/storage EXPOSE 8080 ENTRYPOINT ["levyraati"]