Tag

jxxghp/moviepilot-v2:2.9.20
Content Digest: sha256:a00eb36f975e616fbf400108a4afca5220e3e0d73741a4256a3df8f6436828df
Manifests
Details
Content Digest

sha256:188ef3fc9e752d9171b3701fae5da95a5fd3a09fb52434359a4d0183592cdbd4

Created

2026-03-27 10:08:07 UTC

Size

535 MB


Labels
  • org.opencontainers.image.created
    2026-03-27T10:07:11.224Z
  • org.opencontainers.image.description
    NAS媒体库自动化管理工具
  • org.opencontainers.image.licenses
    GPL-3.0
  • org.opencontainers.image.revision
    c3e96ae73f0552671131ec61563a9953ea8ba97a
  • org.opencontainers.image.source
    https://github.com/jxxghp/MoviePilot
  • org.opencontainers.image.title
    MoviePilot
  • org.opencontainers.image.url
    https://github.com/jxxghp/MoviePilot
  • org.opencontainers.image.version
    2.9.20

Environment
CONFIG_DIR

/config

DISPLAY

:987

GPG_KEY

7169605F62C751356D054A26A821E680E5FA6305

HOME

/moviepilot

LANG

C.UTF-8

LD_PRELOAD

/usr/local/lib/libjemalloc.so

PATH

/opt/venv/bin:/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

PGID

0

PUID

0

PYTHON_SHA256

c08bc65a81971c1dd5783182826503369466c7e67374d1646519adf05207b684

PYTHON_VERSION

3.12.13

TERM

xterm

TZ

Asia/Shanghai

UMASK

000

VENV_PATH

/opt/venv


Layers

[#000] sha256:6db0909c4473287ed4d1f950d26b8bc5b7b4206d365a0e7740cb89e46979153e - 5.04% (26.9 MB)

[#001] sha256:6022a808df723cd1294f8b11f5abac4dbde9fcec33b667a72976930a92f76b63 - 0.63% (3.35 MB)

[#002] sha256:848e9844b9c8205d41247b4b825ed4958a64af27f51e40cadf732d4e74d0b989 - 2.44% (13 MB)

[#003] sha256:df3a362e17594b64274046278282d9c526513026a5bdec7b9377e7694967b1da - 0.0% (249 Bytes)

[#004] sha256:b71c2c243433432464f2e17554c90f8be820fe03302f6041f6dcb578655858a6 - 37.51% (200 MB)

[#005] sha256:2bfafe21cfea5daad2b1eff77392068353db0f50fbc1740c576cf58cd8aacd06 - 37.46% (200 MB)

[#006] sha256:6a1326c560fcb3f16031486242f157b5770ec4a02b1474468b4626d4f764032f - 10.9% (58.3 MB)

[#007] sha256:3d7c27ea2abbb5af5294c00d7a14ea7c75516d96cf1bd70ff2e069c381cf62d8 - 0.0% (91 Bytes)

[#008] sha256:8e0e6c65ca064d18d1266040709ec61b92e7bf93876f43b5d304d5d98f82bfb6 - 0.88% (4.68 MB)

[#009] sha256:2f84bfe11ad55ee74cefb4be868cd0e32888e74637a090cde5879a2ced05b212 - 4.98% (26.6 MB)

[#010] sha256:aa7dca10aada765f10d9c05f173bcd6a265187de18ea9b956ecc7bc2ff214b9c - 0.18% (972 KB)


History
2026-03-16 00:00:00 UTC (debuerreotype 0.17)

# debian.sh --arch 'amd64' out/ 'bookworm' '@1773619200'

2026-03-16 23:01:22 UTC (buildkit.dockerfile.v0)

ENV PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

2026-03-16 23:01:22 UTC (buildkit.dockerfile.v0)

ENV LANG=C.UTF-8

2026-03-16 23:01:22 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; apt-get update; apt-get install -y --no-install-recommends ca-certificates netbase tzdata ; rm -rf /var/lib/apt/lists/* # buildkit

2026-03-16 23:01:22 UTC (buildkit.dockerfile.v0)

ENV GPG_KEY=7169605F62C751356D054A26A821E680E5FA6305

2026-03-16 23:01:22 UTC (buildkit.dockerfile.v0)

ENV PYTHON_VERSION=3.12.13

2026-03-16 23:01:22 UTC (buildkit.dockerfile.v0)

ENV PYTHON_SHA256=c08bc65a81971c1dd5783182826503369466c7e67374d1646519adf05207b684

2026-03-16 23:10:38 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; savedAptMark="$(apt-mark showmanual)"; apt-get update; apt-get install -y --no-install-recommends dpkg-dev gcc gnupg libbluetooth-dev libbz2-dev libc6-dev libdb-dev libffi-dev libgdbm-dev liblzma-dev libncursesw5-dev libreadline-dev libsqlite3-dev libssl-dev make tk-dev uuid-dev wget xz-utils zlib1g-dev ; wget -O python.tar.xz "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz"; echo "$PYTHON_SHA256 *python.tar.xz" | sha256sum -c -; wget -O python.tar.xz.asc "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz.asc"; GNUPGHOME="$(mktemp -d)"; export GNUPGHOME; gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys "$GPG_KEY"; gpg --batch --verify python.tar.xz.asc python.tar.xz; gpgconf --kill all; rm -rf "$GNUPGHOME" python.tar.xz.asc; mkdir -p /usr/src/python; tar --extract --directory /usr/src/python --strip-components=1 --file python.tar.xz; rm python.tar.xz; cd /usr/src/python; gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; ./configure --build="$gnuArch" --enable-loadable-sqlite-extensions --enable-optimizations --enable-option-checking=fatal --enable-shared $(test "${gnuArch%%-*}" != 'riscv64' && echo '--with-lto') --with-ensurepip ; nproc="$(nproc)"; EXTRA_CFLAGS="$(dpkg-buildflags --get CFLAGS)"; LDFLAGS="$(dpkg-buildflags --get LDFLAGS)"; LDFLAGS="${LDFLAGS:-} -Wl,--strip-all"; arch="$(dpkg --print-architecture)"; arch="${arch##*-}"; case "$arch" in amd64|arm64) EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer"; ;; i386) ;; *) EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer"; ;; esac; make -j "$nproc" "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" "LDFLAGS=${LDFLAGS:-}" ; rm python; make -j "$nproc" "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" "LDFLAGS=${LDFLAGS:-} -Wl,-rpath='\$\$ORIGIN/../lib'" python ; make install; cd /; rm -rf /usr/src/python; find /usr/local -depth \( \( -type d -a \( -name test -o -name tests -o -name idle_test \) \) -o \( -type f -a \( -name '*.pyc' -o -name '*.pyo' -o -name 'libpython*.a' \) \) \) -exec rm -rf '{}' + ; ldconfig; apt-mark auto '.*' > /dev/null; apt-mark manual $savedAptMark; find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); printf "*%s\n", so }' | sort -u | xargs -rt dpkg-query --search | awk 'sub(":$", "", $1) { print $1 }' | sort -u | xargs -r apt-mark manual ; apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; rm -rf /var/lib/apt/lists/*; export PYTHONDONTWRITEBYTECODE=1; python3 --version; pip3 --version # buildkit

2026-03-16 23:10:38 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; for src in idle3 pip3 pydoc3 python3 python3-config; do dst="$(echo "$src" | tr -d 3)"; [ -s "/usr/local/bin/$src" ]; [ ! -e "/usr/local/bin/$dst" ]; ln -svT "$src" "/usr/local/bin/$dst"; done # buildkit

2026-03-16 23:10:38 UTC (buildkit.dockerfile.v0)

CMD ["python3"]

2026-03-24 13:24:11 UTC (buildkit.dockerfile.v0)

ENV LANG=C.UTF-8 TZ=Asia/Shanghai VENV_PATH=/opt/venv

2026-03-24 13:24:11 UTC (buildkit.dockerfile.v0)

ENV PATH=/opt/venv/bin:/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

2026-03-24 13:24:11 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c apt-get update && apt-get install -y --no-install-recommends build-essential curl busybox jq wget # buildkit

2026-03-24 13:24:11 UTC (buildkit.dockerfile.v0)

ENV LD_PRELOAD=/usr/local/lib/libjemalloc.so

2026-03-24 13:25:47 UTC (buildkit.dockerfile.v0)

COPY --chmod=777 /opt/venv /opt/venv # buildkit

2026-03-24 13:26:05 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c playwright install-deps chromium && playwright install-deps firefox && apt-get autoremove -y && apt-get clean && rm -rf /tmp/* /var/lib/apt/lists/* /var/tmp/* # buildkit

2026-03-24 13:26:05 UTC (buildkit.dockerfile.v0)

WORKDIR /app

2026-03-27 10:08:04 UTC (buildkit.dockerfile.v0)

COPY /app /app # buildkit

2026-03-27 10:08:05 UTC (buildkit.dockerfile.v0)

COPY /public /public # buildkit

2026-03-27 10:08:07 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c cp -f /app/docker/nginx.common.conf /etc/nginx/common.conf && cp -f /app/docker/nginx.template.conf /etc/nginx/nginx.template.conf && cp -f /app/docker/update.sh /usr/local/bin/mp_update.sh && cp -f /app/docker/entrypoint.sh /entrypoint.sh && cp -f /app/docker/docker_http_proxy.conf /etc/nginx/docker_http_proxy.conf && chmod +x /entrypoint.sh /usr/local/bin/mp_update.sh && mkdir -p ${HOME} && groupadd -r moviepilot -g 918 && useradd -r moviepilot -g moviepilot -d ${HOME} -s /bin/bash -u 918 && python_ver=$(python3 -V | awk '{print $2}') && echo "/app/" > ${VENV_PATH}/lib/python${python_ver%.*}/site-packages/app.pth && echo 'fs.inotify.max_user_watches=5242880' >> /etc/sysctl.conf && echo 'fs.inotify.max_user_instances=5242880' >> /etc/sysctl.conf && echo "zh_CN.UTF-8 UTF-8" >> /etc/locale.gen && locale-gen zh_CN.UTF-8 # buildkit

2026-03-27 10:08:07 UTC (buildkit.dockerfile.v0)

EXPOSE [3000/tcp]

2026-03-27 10:08:07 UTC (buildkit.dockerfile.v0)

VOLUME [/config]

2026-03-27 10:08:07 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["/usr/bin/tini" "-g" "--" "/entrypoint.sh"]

Details
Content Digest

sha256:d20194ac93b266700f3522d3c6834465231f51571b2f2e83efe274df9e2c068c

Created

2026-03-27 10:08:22 UTC

Size

512 MB


Labels
  • org.opencontainers.image.created
    2026-03-27T10:07:11.224Z
  • org.opencontainers.image.description
    NAS媒体库自动化管理工具
  • org.opencontainers.image.licenses
    GPL-3.0
  • org.opencontainers.image.revision
    c3e96ae73f0552671131ec61563a9953ea8ba97a
  • org.opencontainers.image.source
    https://github.com/jxxghp/MoviePilot
  • org.opencontainers.image.title
    MoviePilot
  • org.opencontainers.image.url
    https://github.com/jxxghp/MoviePilot
  • org.opencontainers.image.version
    2.9.20

Environment
CONFIG_DIR

/config

DISPLAY

:987

GPG_KEY

7169605F62C751356D054A26A821E680E5FA6305

HOME

/moviepilot

LANG

C.UTF-8

LD_PRELOAD

/usr/local/lib/libjemalloc.so

PATH

/opt/venv/bin:/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

PGID

0

PUID

0

PYTHON_SHA256

c08bc65a81971c1dd5783182826503369466c7e67374d1646519adf05207b684

PYTHON_VERSION

3.12.13

TERM

xterm

TZ

Asia/Shanghai

UMASK

000

VENV_PATH

/opt/venv


Layers

[#000] sha256:d997cc310c981ac52155d0d9fe28888b261a7746a3877bb0ca848fd1a83d319a - 5.23% (26.8 MB)

[#001] sha256:25b5da5176f7766e96f883c17c9ee8c4410b070aea8a4df83c08997fde41d998 - 0.62% (3.19 MB)

[#002] sha256:a01aafb2de75e48da23942bcb1c38cb4ae54bd39a7b16e60c4298cbd51ef03b7 - 2.53% (13 MB)

[#003] sha256:07c97f47dd043a9a98a98b5d3083535de92106089984211d424cb386135dbac9 - 0.0% (249 Bytes)

[#004] sha256:6f1e9edf3e25cd7bb6a80d0fea00037b84269354794765d19bc1a984ed5e3fc7 - 35.67% (183 MB)

[#005] sha256:86638fdcdb2e1567d6523b136b3e772d4e1b3debb9e1bb61f4116f787f9106ea - 38.31% (196 MB)

[#006] sha256:077688a893e1fccb88099b4c68baee12ee007ca8a86976d23eb722a5c463ea18 - 11.34% (58.1 MB)

[#007] sha256:310801b3f929eec9778a969d4e6c3ea85e67793ab99b66e5402cbf42b70f2176 - 0.0% (93 Bytes)

[#008] sha256:afff6be8b9b7250999d55def2a26d99bd9ce6bd23b845a0ca3f07a220158c90a - 0.91% (4.68 MB)

[#009] sha256:d5d44f74fd5ac753e7490f61a51bcd9098a74758ff74e4b3c2d6665b974a8bfe - 5.19% (26.6 MB)

[#010] sha256:3924ec1a727ad9f8ecf93c42dd0971618a3370e0a3e6479037d96f7b17e124aa - 0.19% (972 KB)


History
2026-03-16 00:00:00 UTC (debuerreotype 0.17)

# debian.sh --arch 'arm64' out/ 'bookworm' '@1773619200'

2026-03-16 23:04:02 UTC (buildkit.dockerfile.v0)

ENV PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

2026-03-16 23:04:02 UTC (buildkit.dockerfile.v0)

ENV LANG=C.UTF-8

2026-03-16 23:04:02 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; apt-get update; apt-get install -y --no-install-recommends ca-certificates netbase tzdata ; rm -rf /var/lib/apt/lists/* # buildkit

2026-03-16 23:04:02 UTC (buildkit.dockerfile.v0)

ENV GPG_KEY=7169605F62C751356D054A26A821E680E5FA6305

2026-03-16 23:04:02 UTC (buildkit.dockerfile.v0)

ENV PYTHON_VERSION=3.12.13

2026-03-16 23:04:02 UTC (buildkit.dockerfile.v0)

ENV PYTHON_SHA256=c08bc65a81971c1dd5783182826503369466c7e67374d1646519adf05207b684

2026-03-16 23:15:37 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; savedAptMark="$(apt-mark showmanual)"; apt-get update; apt-get install -y --no-install-recommends dpkg-dev gcc gnupg libbluetooth-dev libbz2-dev libc6-dev libdb-dev libffi-dev libgdbm-dev liblzma-dev libncursesw5-dev libreadline-dev libsqlite3-dev libssl-dev make tk-dev uuid-dev wget xz-utils zlib1g-dev ; wget -O python.tar.xz "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz"; echo "$PYTHON_SHA256 *python.tar.xz" | sha256sum -c -; wget -O python.tar.xz.asc "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz.asc"; GNUPGHOME="$(mktemp -d)"; export GNUPGHOME; gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys "$GPG_KEY"; gpg --batch --verify python.tar.xz.asc python.tar.xz; gpgconf --kill all; rm -rf "$GNUPGHOME" python.tar.xz.asc; mkdir -p /usr/src/python; tar --extract --directory /usr/src/python --strip-components=1 --file python.tar.xz; rm python.tar.xz; cd /usr/src/python; gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; ./configure --build="$gnuArch" --enable-loadable-sqlite-extensions --enable-optimizations --enable-option-checking=fatal --enable-shared $(test "${gnuArch%%-*}" != 'riscv64' && echo '--with-lto') --with-ensurepip ; nproc="$(nproc)"; EXTRA_CFLAGS="$(dpkg-buildflags --get CFLAGS)"; LDFLAGS="$(dpkg-buildflags --get LDFLAGS)"; LDFLAGS="${LDFLAGS:-} -Wl,--strip-all"; arch="$(dpkg --print-architecture)"; arch="${arch##*-}"; case "$arch" in amd64|arm64) EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer"; ;; i386) ;; *) EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer"; ;; esac; make -j "$nproc" "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" "LDFLAGS=${LDFLAGS:-}" ; rm python; make -j "$nproc" "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" "LDFLAGS=${LDFLAGS:-} -Wl,-rpath='\$\$ORIGIN/../lib'" python ; make install; cd /; rm -rf /usr/src/python; find /usr/local -depth \( \( -type d -a \( -name test -o -name tests -o -name idle_test \) \) -o \( -type f -a \( -name '*.pyc' -o -name '*.pyo' -o -name 'libpython*.a' \) \) \) -exec rm -rf '{}' + ; ldconfig; apt-mark auto '.*' > /dev/null; apt-mark manual $savedAptMark; find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); printf "*%s\n", so }' | sort -u | xargs -rt dpkg-query --search | awk 'sub(":$", "", $1) { print $1 }' | sort -u | xargs -r apt-mark manual ; apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; rm -rf /var/lib/apt/lists/*; export PYTHONDONTWRITEBYTECODE=1; python3 --version; pip3 --version # buildkit

2026-03-16 23:15:37 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; for src in idle3 pip3 pydoc3 python3 python3-config; do dst="$(echo "$src" | tr -d 3)"; [ -s "/usr/local/bin/$src" ]; [ ! -e "/usr/local/bin/$dst" ]; ln -svT "$src" "/usr/local/bin/$dst"; done # buildkit

2026-03-16 23:15:37 UTC (buildkit.dockerfile.v0)

CMD ["python3"]

2026-03-24 13:28:08 UTC (buildkit.dockerfile.v0)

ENV LANG=C.UTF-8 TZ=Asia/Shanghai VENV_PATH=/opt/venv

2026-03-24 13:28:08 UTC (buildkit.dockerfile.v0)

ENV PATH=/opt/venv/bin:/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

2026-03-24 13:28:08 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c apt-get update && apt-get install -y --no-install-recommends build-essential curl busybox jq wget # buildkit

2026-03-24 13:28:08 UTC (buildkit.dockerfile.v0)

ENV LD_PRELOAD=/usr/local/lib/libjemalloc.so

2026-03-24 13:38:45 UTC (buildkit.dockerfile.v0)

COPY --chmod=777 /opt/venv /opt/venv # buildkit

2026-03-24 13:40:46 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c playwright install-deps chromium && playwright install-deps firefox && apt-get autoremove -y && apt-get clean && rm -rf /tmp/* /var/lib/apt/lists/* /var/tmp/* # buildkit

2026-03-24 13:40:47 UTC (buildkit.dockerfile.v0)

WORKDIR /app

2026-03-27 10:08:11 UTC (buildkit.dockerfile.v0)

COPY /app /app # buildkit

2026-03-27 10:08:12 UTC (buildkit.dockerfile.v0)

COPY /public /public # buildkit

2026-03-27 10:08:22 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c cp -f /app/docker/nginx.common.conf /etc/nginx/common.conf && cp -f /app/docker/nginx.template.conf /etc/nginx/nginx.template.conf && cp -f /app/docker/update.sh /usr/local/bin/mp_update.sh && cp -f /app/docker/entrypoint.sh /entrypoint.sh && cp -f /app/docker/docker_http_proxy.conf /etc/nginx/docker_http_proxy.conf && chmod +x /entrypoint.sh /usr/local/bin/mp_update.sh && mkdir -p ${HOME} && groupadd -r moviepilot -g 918 && useradd -r moviepilot -g moviepilot -d ${HOME} -s /bin/bash -u 918 && python_ver=$(python3 -V | awk '{print $2}') && echo "/app/" > ${VENV_PATH}/lib/python${python_ver%.*}/site-packages/app.pth && echo 'fs.inotify.max_user_watches=5242880' >> /etc/sysctl.conf && echo 'fs.inotify.max_user_instances=5242880' >> /etc/sysctl.conf && echo "zh_CN.UTF-8 UTF-8" >> /etc/locale.gen && locale-gen zh_CN.UTF-8 # buildkit

2026-03-27 10:08:22 UTC (buildkit.dockerfile.v0)

EXPOSE [3000/tcp]

2026-03-27 10:08:22 UTC (buildkit.dockerfile.v0)

VOLUME [/config]

2026-03-27 10:08:22 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["/usr/bin/tini" "-g" "--" "/entrypoint.sh"]

Danger Zone
Delete Tag

Please be careful as this will not just delete the reference but also the actual content!

For example when you have latest and v1.2.3 both pointing to the same image
the deletion of latest will also permanently remove v1.2.3.