diff --git a/Dockerfile b/Dockerfile index 22e66f30..690d855d 100644 --- a/Dockerfile +++ b/Dockerfile @@ -58,32 +58,14 @@ COPY --chown=app:app ./app /app/app COPY --chown=app:app --from=node_builder /app/exported /app/ui/exported COPY --chown=app:app --from=python_builder /opt/python /opt/python COPY --from=ghcr.io/arabcoders/alpine-mp4box /usr/bin/mp4box /usr/bin/mp4box +COPY --from=ghcr.io/arabcoders/jellyfin-ffmpeg /usr/bin/ffmpeg /usr/bin/ffmpeg +COPY --from=ghcr.io/arabcoders/jellyfin-ffmpeg /usr/bin/ffprobe /usr/bin/ffprobe COPY --chown=app:app ./healthcheck.sh /usr/local/bin/healthcheck ENV PATH="/opt/python/bin:$PATH" -RUN chown -R app:app /config /downloads && chmod +x /usr/local/bin/healthcheck /usr/bin/mp4box - -# Install Jellyfin portable ffmpeg (per-arch) -ARG JELLYFIN_FFMPEG_VERSION=7.1.1-7 -RUN set -eux \ - && arch="$(dpkg --print-architecture)" \ - && case "$arch" in \ - amd64) jf_arch="linux64" ;; \ - arm64) jf_arch="linuxarm64" ;; \ - *) echo "Unsupported architecture: $arch" >&2; exit 1 ;; \ - esac \ - && url="https://github.com/jellyfin/jellyfin-ffmpeg/releases/download/v${JELLYFIN_FFMPEG_VERSION}/jellyfin-ffmpeg_${JELLYFIN_FFMPEG_VERSION}_portable_${jf_arch}-gpl.tar.xz" \ - && echo "Downloading $url" \ - && curl -fsSL "$url" -o /tmp/jf-ffmpeg.tar.xz - -RUN mkdir -p /tmp/jf-ffmpeg && tar -xJf /tmp/jf-ffmpeg.tar.xz -C /tmp/jf-ffmpeg \ - && ls -la /tmp/jf-ffmpeg \ - && install -m 0755 /tmp/jf-ffmpeg/ffmpeg /usr/bin/ffmpeg \ - && install -m 0755 /tmp/jf-ffmpeg/ffprobe /usr/bin/ffprobe \ - && /usr/bin/ffmpeg -version >/dev/null \ - && /usr/bin/ffprobe -version >/dev/null \ - && rm -rf /tmp/jf-ffmpeg.tar.xz /tmp/jf-ffmpeg +RUN chown -R app:app /config /downloads && \ + chmod +x /usr/local/bin/healthcheck /usr/bin/mp4box /usr/bin/ffmpeg /usr/bin/ffprobe VOLUME /config VOLUME /downloads