chore: use rust-ffmpeg docker as base for build

This commit is contained in:
2025-06-21 21:19:08 +01:00
parent 20a52222e2
commit 1173f0937e
2 changed files with 8 additions and 37 deletions

View File

@ -5,5 +5,7 @@ Dockerfile
docker-compose.yml
.dockerignore
.gitignore
ui_src/.node_modules
docs/
docs/
**/dist
**/node_modules

View File

@ -1,40 +1,9 @@
ARG IMAGE=rust:bookworm
ARG FEATURES
FROM $IMAGE AS build
WORKDIR /app/src
COPY src src
COPY migrations migrations
COPY Cargo.lock Cargo.lock
COPY Cargo.toml Cargo.toml
ENV FFMPEG_DIR=/app/ffmpeg
RUN apt update && \
apt install -y \
build-essential \
libx264-dev \
libx265-dev \
libwebp-dev \
libvpx-dev \
nasm \
libclang-dev \
protobuf-compiler && \
rm -rf /var/lib/apt/lists/*
RUN git clone --single-branch --branch release/7.1 https://git.v0l.io/ffmpeg/FFmpeg.git && \
cd FFmpeg && \
./configure \
--prefix=${FFMPEG_DIR} \
--disable-programs \
--disable-doc \
--disable-network \
--enable-gpl \
--enable-libx264 \
--enable-libx265 \
--enable-libwebp \
--enable-libvpx \
--disable-static \
--disable-postproc \
--enable-shared && \
make -j$(nproc) install
FROM voidic/rust-ffmpeg AS build
WORKDIR /src
COPY . .
RUN cargo install --path . --root /app/build --features "${FEATURES}"
FROM node:bookworm AS ui_builder
@ -52,6 +21,6 @@ RUN apt update && \
rm -rf /var/lib/apt/lists/*
COPY --from=build /app/build .
COPY --from=ui_builder /app/src/dist ui
COPY --from=build /app/ffmpeg/lib/ /lib
COPY --from=build /app/src/ffmpeg/lib/ /lib
RUN ./bin/route96 --version
ENTRYPOINT ["./bin/route96"]