Namespace
alexta69
Image / Tag
metube:2026.03.08
Content Digest
sha256:3de82b0a8c1339a501e0b6ac00e8fa65676144c9ef78f7cc0b6003348d01a97f
Details
Created

2026-03-08 20:21:22 UTC

Size

305 MB

Content Digest
Environment
DOWNLOAD_DIR

/downloads

GPG_KEY

7169605F62C751356D054A26A821E680E5FA6305

METUBE_VERSION

2026.03.08

PATH

/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

PGID

1000

PUID

1000

PYTHON_SHA256

2a84cd31dd8d8ea8aaff75de66fc1b4b0127dd5799aa50a64ae9a313885b4593

PYTHON_VERSION

3.13.12

STATE_DIR

/downloads/.metube

TEMP_DIR

/downloads

UMASK

022


Layers

[#000] sha256:206356c42440674ecbdf1070cf70ce8ef7885ac2e5c56f1ecf800b758f6b0419 - 9.3% (28.4 MB)

[#001] sha256:5b39b1ec4b91af5e6d9c06f7b0b91c8f5e71e9928dfdf060a463933b6f334977 - 0.4% (1.23 MB)

[#002] sha256:d9d0732b36a8816f5c14dfb1f2dbc39afbb96f0f946aa580349d6044d4883d61 - 3.69% (11.3 MB)

[#003] sha256:117be4eb1e514eaebf3fd623a1e25ed78fe833cebb4cf7a8e12c351d1f820ead - 0.0% (248 Bytes)

[#004] sha256:d7400ff74fe1551e1d02e40c9a8736e41129a29635a16562edbcd0561afa67a5 - 0.0% (93 Bytes)

[#005] sha256:fe389503a63e36f8d9faa653639cd0f50cdb292436cd1523bbc14e0bc014204e - 0.02% (55.6 KB)

[#006] sha256:1a6fc7c484355fb309cb6db426c4fe08409fe74bdeca36ef272bf75fad13f9d2 - 80.22% (245 MB)

[#007] sha256:f17327ad16dd81a808236c7dd83324558d9576715a91267dc70bb882c3189e60 - 6.27% (19.1 MB)

[#008] sha256:8a100966ed4ae95234c2a11c2947e450c590b8094d511eb2c8d94384277c3fc8 - 0.01% (16.5 KB)

[#009] sha256:d62e568517e3f8a06a71da16478011ed3ceac3f784c0fb808ea71d81f7393fda - 0.09% (292 KB)


History
2026-02-23 00:00:00 UTC (debuerreotype 0.17)

# debian.sh --arch 'amd64' out/ 'trixie' '@1771804800'

2026-02-24 19:38:51 UTC (buildkit.dockerfile.v0)

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

2026-02-24 19:38:51 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; apt-get update; apt-get install -y --no-install-recommends ca-certificates netbase tzdata ; apt-get dist-clean # buildkit

2026-02-24 19:38:51 UTC (buildkit.dockerfile.v0)

ENV GPG_KEY=7169605F62C751356D054A26A821E680E5FA6305

2026-02-24 19:38:51 UTC (buildkit.dockerfile.v0)

ENV PYTHON_VERSION=3.13.12

2026-02-24 19:38:51 UTC (buildkit.dockerfile.v0)

ENV PYTHON_SHA256=2a84cd31dd8d8ea8aaff75de66fc1b4b0127dd5799aa50a64ae9a313885b4593

2026-02-24 19:47:44 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; apt-get dist-clean; export PYTHONDONTWRITEBYTECODE=1; python3 --version; pip3 --version # buildkit

2026-02-24 19:47:44 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-02-24 19:47:44 UTC (buildkit.dockerfile.v0)

CMD ["python3"]

2026-03-08 20:20:15 UTC (buildkit.dockerfile.v0)

WORKDIR /app

2026-03-08 20:20:15 UTC (buildkit.dockerfile.v0)

COPY pyproject.toml uv.lock docker-entrypoint.sh ./ # buildkit

2026-03-08 20:21:20 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c sed -i 's/\r$//g' docker-entrypoint.sh && chmod +x docker-entrypoint.sh && apt-get update && apt-get install -y --no-install-recommends ca-certificates ffmpeg unzip aria2 coreutils gosu curl tini file gdbmtool sqlite3 build-essential && curl -LsSf https://astral.sh/uv/install.sh | UV_INSTALL_DIR=/usr/local/bin sh && UV_PROJECT_ENVIRONMENT=/usr/local uv sync --frozen --no-dev --compile-bytecode && uv cache clean && rm -f /usr/local/bin/uv /usr/local/bin/uvx /usr/local/bin/uvw && curl -fsSL https://deno.land/install.sh | DENO_INSTALL=/usr/local sh -s -- -y v2.7.2 && apt-get purge -y --auto-remove build-essential && rm -rf /var/lib/apt/lists/* && mkdir /.cache && chmod 777 /.cache # buildkit

2026-03-08 20:21:22 UTC (buildkit.dockerfile.v0)

ARG TARGETARCH=amd64

2026-03-08 20:21:22 UTC (buildkit.dockerfile.v0)

RUN |1 TARGETARCH=amd64 /bin/sh -c BGUTIL_TAG="$(curl -Ls -o /dev/null -w '%{url_effective}' https://github.com/jim60105/bgutil-ytdlp-pot-provider-rs/releases/latest | sed 's#.*/tag/##')" && case "$TARGETARCH" in amd64) BGUTIL_ARCH="x86_64" ;; arm64) BGUTIL_ARCH="aarch64" ;; *) echo "Unsupported TARGETARCH: $TARGETARCH" >&2; exit 1 ;; esac && curl -L -o /usr/local/bin/bgutil-pot "https://github.com/jim60105/bgutil-ytdlp-pot-provider-rs/releases/download/${BGUTIL_TAG}/bgutil-pot-linux-${BGUTIL_ARCH}" && chmod +x /usr/local/bin/bgutil-pot && PLUGIN_DIR="$(python3 -c 'import site; print(site.getsitepackages()[0])')" && curl -L -o /tmp/bgutil-ytdlp-pot-provider-rs.zip "https://github.com/jim60105/bgutil-ytdlp-pot-provider-rs/releases/download/${BGUTIL_TAG}/bgutil-ytdlp-pot-provider-rs.zip" && unzip -q /tmp/bgutil-ytdlp-pot-provider-rs.zip -d "${PLUGIN_DIR}" && rm /tmp/bgutil-ytdlp-pot-provider-rs.zip # buildkit

2026-03-08 20:21:22 UTC (buildkit.dockerfile.v0)

COPY app ./app # buildkit

2026-03-08 20:21:22 UTC (buildkit.dockerfile.v0)

COPY /metube/dist/metube ./ui/dist/metube # buildkit

2026-03-08 20:21:22 UTC (buildkit.dockerfile.v0)

ENV PUID=1000

2026-03-08 20:21:22 UTC (buildkit.dockerfile.v0)

ENV PGID=1000

2026-03-08 20:21:22 UTC (buildkit.dockerfile.v0)

ENV UMASK=022

2026-03-08 20:21:22 UTC (buildkit.dockerfile.v0)

ENV DOWNLOAD_DIR=/downloads

2026-03-08 20:21:22 UTC (buildkit.dockerfile.v0)

ENV STATE_DIR=/downloads/.metube

2026-03-08 20:21:22 UTC (buildkit.dockerfile.v0)

ENV TEMP_DIR=/downloads

2026-03-08 20:21:22 UTC (buildkit.dockerfile.v0)

VOLUME [/downloads]

2026-03-08 20:21:22 UTC (buildkit.dockerfile.v0)

EXPOSE [8081/tcp]

2026-03-08 20:21:22 UTC (buildkit.dockerfile.v0)

ARG VERSION=2026.03.08

2026-03-08 20:21:22 UTC (buildkit.dockerfile.v0)

ENV METUBE_VERSION=2026.03.08

2026-03-08 20:21:22 UTC (buildkit.dockerfile.v0)

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

Details
Created

2026-03-08 20:27:16 UTC

Size

300 MB

Content Digest
Environment
DOWNLOAD_DIR

/downloads

GPG_KEY

7169605F62C751356D054A26A821E680E5FA6305

METUBE_VERSION

2026.03.08

PATH

/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

PGID

1000

PUID

1000

PYTHON_SHA256

2a84cd31dd8d8ea8aaff75de66fc1b4b0127dd5799aa50a64ae9a313885b4593

PYTHON_VERSION

3.13.12

STATE_DIR

/downloads/.metube

TEMP_DIR

/downloads

UMASK

022


Layers

[#000] sha256:3b66ab8c894cad95899b704e688938517870850391d1349c862c2b09214acb86 - 9.57% (28.7 MB)

[#001] sha256:46223b887a20603f5355618fa5e3fdcff44dfb75942ae6bc1989dff4c49f2aa3 - 0.4% (1.21 MB)

[#002] sha256:0184ff3bb95900a731b8476928afd09b891e8dd8c0b14300bb40421d7febfc6f - 3.72% (11.2 MB)

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

[#004] sha256:601f34fc5885026f628322abcc8d48c41913e7485ea61a01443ebe8d780ca3d6 - 0.0% (93 Bytes)

[#005] sha256:fe389503a63e36f8d9faa653639cd0f50cdb292436cd1523bbc14e0bc014204e - 0.02% (55.6 KB)

[#006] sha256:cc22f3119dc8df55fe7629526003223a58852dbbadf7ac3b31966abde9b0001e - 79.23% (238 MB)

[#007] sha256:193185e2b9f1ddc0e15973141589c00b6912e58afea2c7b5c5bfa39ecb345f2f - 6.96% (20.9 MB)

[#008] sha256:44339c275d1a6bb10223a404f730a4c8ceb4af7326de9c503846e4b45a51ec7a - 0.01% (16.5 KB)

[#009] sha256:f9340aeab96bfe390f2ca2bd448bdd5cb1e8b0adbb257b2b5a479c364a119802 - 0.09% (292 KB)


History
2026-02-23 00:00:00 UTC (debuerreotype 0.17)

# debian.sh --arch 'arm64' out/ 'trixie' '@1771804800'

2026-02-24 19:44:20 UTC (buildkit.dockerfile.v0)

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

2026-02-24 19:44:20 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; apt-get update; apt-get install -y --no-install-recommends ca-certificates netbase tzdata ; apt-get dist-clean # buildkit

2026-02-24 19:44:20 UTC (buildkit.dockerfile.v0)

ENV GPG_KEY=7169605F62C751356D054A26A821E680E5FA6305

2026-02-24 19:44:20 UTC (buildkit.dockerfile.v0)

ENV PYTHON_VERSION=3.13.12

2026-02-24 19:44:20 UTC (buildkit.dockerfile.v0)

ENV PYTHON_SHA256=2a84cd31dd8d8ea8aaff75de66fc1b4b0127dd5799aa50a64ae9a313885b4593

2026-02-24 19:57:12 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; apt-get dist-clean; export PYTHONDONTWRITEBYTECODE=1; python3 --version; pip3 --version # buildkit

2026-02-24 19:57:12 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-02-24 19:57:12 UTC (buildkit.dockerfile.v0)

CMD ["python3"]

2026-03-08 20:20:14 UTC (buildkit.dockerfile.v0)

WORKDIR /app

2026-03-08 20:20:15 UTC (buildkit.dockerfile.v0)

COPY pyproject.toml uv.lock docker-entrypoint.sh ./ # buildkit

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

RUN /bin/sh -c sed -i 's/\r$//g' docker-entrypoint.sh && chmod +x docker-entrypoint.sh && apt-get update && apt-get install -y --no-install-recommends ca-certificates ffmpeg unzip aria2 coreutils gosu curl tini file gdbmtool sqlite3 build-essential && curl -LsSf https://astral.sh/uv/install.sh | UV_INSTALL_DIR=/usr/local/bin sh && UV_PROJECT_ENVIRONMENT=/usr/local uv sync --frozen --no-dev --compile-bytecode && uv cache clean && rm -f /usr/local/bin/uv /usr/local/bin/uvx /usr/local/bin/uvw && curl -fsSL https://deno.land/install.sh | DENO_INSTALL=/usr/local sh -s -- -y v2.7.2 && apt-get purge -y --auto-remove build-essential && rm -rf /var/lib/apt/lists/* && mkdir /.cache && chmod 777 /.cache # buildkit

2026-03-08 20:27:16 UTC (buildkit.dockerfile.v0)

ARG TARGETARCH=arm64

2026-03-08 20:27:16 UTC (buildkit.dockerfile.v0)

RUN |1 TARGETARCH=arm64 /bin/sh -c BGUTIL_TAG="$(curl -Ls -o /dev/null -w '%{url_effective}' https://github.com/jim60105/bgutil-ytdlp-pot-provider-rs/releases/latest | sed 's#.*/tag/##')" && case "$TARGETARCH" in amd64) BGUTIL_ARCH="x86_64" ;; arm64) BGUTIL_ARCH="aarch64" ;; *) echo "Unsupported TARGETARCH: $TARGETARCH" >&2; exit 1 ;; esac && curl -L -o /usr/local/bin/bgutil-pot "https://github.com/jim60105/bgutil-ytdlp-pot-provider-rs/releases/download/${BGUTIL_TAG}/bgutil-pot-linux-${BGUTIL_ARCH}" && chmod +x /usr/local/bin/bgutil-pot && PLUGIN_DIR="$(python3 -c 'import site; print(site.getsitepackages()[0])')" && curl -L -o /tmp/bgutil-ytdlp-pot-provider-rs.zip "https://github.com/jim60105/bgutil-ytdlp-pot-provider-rs/releases/download/${BGUTIL_TAG}/bgutil-ytdlp-pot-provider-rs.zip" && unzip -q /tmp/bgutil-ytdlp-pot-provider-rs.zip -d "${PLUGIN_DIR}" && rm /tmp/bgutil-ytdlp-pot-provider-rs.zip # buildkit

2026-03-08 20:27:16 UTC (buildkit.dockerfile.v0)

COPY app ./app # buildkit

2026-03-08 20:27:16 UTC (buildkit.dockerfile.v0)

COPY /metube/dist/metube ./ui/dist/metube # buildkit

2026-03-08 20:27:16 UTC (buildkit.dockerfile.v0)

ENV PUID=1000

2026-03-08 20:27:16 UTC (buildkit.dockerfile.v0)

ENV PGID=1000

2026-03-08 20:27:16 UTC (buildkit.dockerfile.v0)

ENV UMASK=022

2026-03-08 20:27:16 UTC (buildkit.dockerfile.v0)

ENV DOWNLOAD_DIR=/downloads

2026-03-08 20:27:16 UTC (buildkit.dockerfile.v0)

ENV STATE_DIR=/downloads/.metube

2026-03-08 20:27:16 UTC (buildkit.dockerfile.v0)

ENV TEMP_DIR=/downloads

2026-03-08 20:27:16 UTC (buildkit.dockerfile.v0)

VOLUME [/downloads]

2026-03-08 20:27:16 UTC (buildkit.dockerfile.v0)

EXPOSE [8081/tcp]

2026-03-08 20:27:16 UTC (buildkit.dockerfile.v0)

ARG VERSION=2026.03.08

2026-03-08 20:27:16 UTC (buildkit.dockerfile.v0)

ENV METUBE_VERSION=2026.03.08

2026-03-08 20:27:16 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["/usr/bin/tini" "-g" "--" "./docker-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.

Delete