diff --git a/Dockerfile b/Dockerfile index 08cfa3a9a930ba718be15852c700ea1af9b661bd..034c4d58bef789765f6ef1d85863da5d052e49a7 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,44 +1,4 @@ -FROM debian:bookworm-slim AS ffmpeg - -RUN export DEBIAN_FRONTEND=noninteractive \ - && apt-get -qq update \ - && apt-get -qq install --no-install-recommends \ - build-essential \ - git \ - pkg-config \ - yasm \ - ca-certificates \ - gcc \ - python3-dev \ - && rm -rf /var/lib/apt/lists/* - -RUN git clone https://github.com/FFmpeg/FFmpeg.git --depth 1 --branch n6.1.1 --single-branch /FFmpeg-6.1.1 - -WORKDIR /FFmpeg-6.1.1 - -RUN PATH="$HOME/bin:$PATH" PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" ./configure \ - --prefix="$HOME/ffmpeg_build" \ - --pkg-config-flags="--static" \ - --extra-cflags="-I$HOME/ffmpeg_build/include" \ - --extra-ldflags="-L$HOME/ffmpeg_build/lib" \ - --extra-libs="-lpthread -lm" \ - --ld="g++" \ - --bindir="$HOME/bin" \ - --disable-doc \ - --disable-htmlpages \ - --disable-podpages \ - --disable-txtpages \ - --disable-network \ - --disable-autodetect \ - --disable-hwaccels \ - --disable-ffprobe \ - --disable-ffplay \ - --enable-filter=copy \ - --enable-protocol=file \ - --enable-small && \ - PATH="$HOME/bin:$PATH" make -j$(nproc) && \ - make install && \ - hash -r +FROM onerahmet/ffmpeg:n7.1 AS ffmpeg FROM swaggerapi/swagger-ui:v5.9.1 AS swagger-ui @@ -61,8 +21,7 @@ ENV PATH="${PATH}:${POETRY_VENV}/bin" WORKDIR /app COPY . /app -COPY --from=ffmpeg /FFmpeg-6.1.1 /FFmpeg-6.1.1 -COPY --from=ffmpeg /root/bin/ffmpeg /usr/local/bin/ffmpeg +COPY --from=ffmpeg /usr/local/bin/ffmpeg /usr/local/bin/ffmpeg COPY --from=swagger-ui /usr/share/nginx/html/swagger-ui.css swagger-ui-assets/swagger-ui.css COPY --from=swagger-ui /usr/share/nginx/html/swagger-ui-bundle.js swagger-ui-assets/swagger-ui-bundle.js diff --git a/Dockerfile.gpu b/Dockerfile.gpu index 709681f3da6ac3357a924d660253d2e807338a0d..1bb5bd13796fe5710b452d9ef3480a98702239d1 100644 --- a/Dockerfile.gpu +++ b/Dockerfile.gpu @@ -1,42 +1,4 @@ -FROM debian:bookworm-slim AS ffmpeg - -RUN export DEBIAN_FRONTEND=noninteractive \ - && apt-get -qq update \ - && apt-get -qq install --no-install-recommends \ - build-essential \ - git \ - pkg-config \ - yasm \ - ca-certificates \ - && rm -rf /var/lib/apt/lists/* - -RUN git clone https://github.com/FFmpeg/FFmpeg.git --depth 1 --branch n6.1.1 --single-branch /FFmpeg-6.1.1 - -WORKDIR /FFmpeg-6.1.1 - -RUN PATH="$HOME/bin:$PATH" PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" ./configure \ - --prefix="$HOME/ffmpeg_build" \ - --pkg-config-flags="--static" \ - --extra-cflags="-I$HOME/ffmpeg_build/include" \ - --extra-ldflags="-L$HOME/ffmpeg_build/lib" \ - --extra-libs="-lpthread -lm" \ - --ld="g++" \ - --bindir="$HOME/bin" \ - --disable-doc \ - --disable-htmlpages \ - --disable-podpages \ - --disable-txtpages \ - --disable-network \ - --disable-autodetect \ - --disable-hwaccels \ - --disable-ffprobe \ - --disable-ffplay \ - --enable-filter=copy \ - --enable-protocol=file \ - --enable-small && \ - PATH="$HOME/bin:$PATH" make -j$(nproc) && \ - make install && \ - hash -r +FROM onerahmet/ffmpeg:n7.1 AS ffmpeg FROM swaggerapi/swagger-ui:v5.9.1 AS swagger-ui @@ -78,8 +40,7 @@ RUN poetry config virtualenvs.in-project true RUN poetry install --no-root COPY . . -COPY --from=ffmpeg /FFmpeg-6.1.1 /FFmpeg-6.1.1 -COPY --from=ffmpeg /root/bin/ffmpeg /usr/local/bin/ffmpeg +COPY --from=ffmpeg /usr/local/bin/ffmpeg /usr/local/bin/ffmpeg COPY --from=swagger-ui /usr/share/nginx/html/swagger-ui.css swagger-ui-assets/swagger-ui.css COPY --from=swagger-ui /usr/share/nginx/html/swagger-ui-bundle.js swagger-ui-assets/swagger-ui-bundle.js