diff --git a/.dockerignore b/.dockerignore index a66c033..c5739b5 100644 --- a/.dockerignore +++ b/.dockerignore @@ -5,5 +5,7 @@ Dockerfile docker-compose.yml .dockerignore .gitignore -ui_src/.node_modules -docs/ \ No newline at end of file + +docs/ +**/dist +**/node_modules \ No newline at end of file diff --git a/Dockerfile b/Dockerfile index 62a20ee..557df45 100644 --- a/Dockerfile +++ b/Dockerfile @@ -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"] \ No newline at end of file