FROM golang:1.27.1-alpine AS build WORKDIR /src COPY go.mod go.sum ./ RUN go mod download COPY cmd ./cmd COPY internal ./internal RUN CGO_ENABLED=0 go build -trimpath -ldflags="-s -w" -o /worker ./cmd/worker FROM python:3.13-slim ARG YT_DLP_VERSION=2026.08.19 RUN apt-get update \ && apt-get install -y --no-install-recommends ca-certificates ffmpeg tzdata \ && pip install --no-cache-dir "yt-dlp[default]==${YT_DLP_VERSION}" \ && rm -rf /var/lib/apt/lists/* WORKDIR /app COPY --from=build /worker /app/worker ENV HOME=/tmp \ XDG_CACHE_HOME=/tmp/yt-dlp-cache USER 65532:65532 ENTRYPOINT ["/app/worker"]