Add Axum backend experiment
This commit is contained in:
22
alt/rust/Dockerfile
Normal file
22
alt/rust/Dockerfile
Normal file
@@ -0,0 +1,22 @@
|
||||
# Build from the repository root: docker build -f alt/rust/Dockerfile -t ytplayer-rust .
|
||||
FROM rust:1-bookworm AS builder
|
||||
WORKDIR /build
|
||||
COPY alt/rust/Cargo.toml alt/rust/Cargo.lock ./
|
||||
COPY alt/rust/src ./src
|
||||
RUN --mount=type=cache,target=/usr/local/cargo/registry \
|
||||
--mount=type=cache,target=/usr/local/cargo/git \
|
||||
--mount=type=cache,target=/build/target \
|
||||
cargo build --release && cp target/release/ytplayer-rust-backend /tmp/ytplayer-rust-backend
|
||||
|
||||
FROM debian:bookworm-slim
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends ca-certificates curl ffmpeg python3 python3-pip \
|
||||
&& pip3 install --break-system-packages --no-cache-dir yt-dlp \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
WORKDIR /app
|
||||
COPY --from=builder /tmp/ytplayer-rust-backend /usr/local/bin/ytplayer-rust-backend
|
||||
COPY frontend/ /app/public/
|
||||
RUN mkdir -p /app/data/media
|
||||
ENV PORT=3000 PUBLIC_DIR=/app/public DB_PATH=/app/data/ytplayer.db MEDIA_DIR=/app/data/media \
|
||||
MEDIA_CACHE_MAX_BYTES=10737418240 YTDLP_PATH=/usr/local/bin/yt-dlp FFMPEG_PATH=/usr/bin/ffmpeg FFPROBE_PATH=/usr/bin/ffprobe
|
||||
EXPOSE 3000
|
||||
ENTRYPOINT ["/usr/local/bin/ytplayer-rust-backend"]
|
||||
Reference in New Issue
Block a user