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"]
