41 lines
679 B
Docker
41 lines
679 B
Docker
FROM rust:1.93.1-alpine3.23 AS builder
|
|
|
|
WORKDIR build
|
|
|
|
COPY . .
|
|
|
|
RUN \
|
|
mkdir release
|
|
|
|
RUN --mount=type=cache,target=/build/target \
|
|
cargo build --workspace --release && \
|
|
cp target/release/master release && \
|
|
cp target/release/worker release
|
|
|
|
|
|
|
|
FROM alpine:3.23 AS master
|
|
|
|
WORKDIR /app
|
|
|
|
COPY --from=builder /build/release/master .
|
|
|
|
CMD ["/app/master"]
|
|
|
|
|
|
|
|
FROM alpine:3.23 AS worker
|
|
|
|
RUN \
|
|
apk add --no-cache python3 ffmpeg deno
|
|
|
|
RUN \
|
|
wget https://github.com/yt-dlp/yt-dlp/releases/download/2026.02.21/yt-dlp -O /usr/local/bin/yt-dlp && \
|
|
chmod +x /usr/local/bin/yt-dlp
|
|
|
|
WORKDIR /app
|
|
|
|
COPY --from=builder /build/release/worker .
|
|
|
|
CMD ["/app/worker"]
|