2025-07-31 19:50:35 UTC
133 MB
/downloads
GID1000
GPG_KEY7169605F62C751356D054A26A821E680E5FA6305
METUBE_VERSION2025.07.31
PATH/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PYTHON_SHA25693e583f243454e6e9e4588ca2c2662206ad961659863277afcdb96801647d640
PYTHON_VERSION3.13.5
STATE_DIR/downloads/.metube
TEMP_DIR/downloads
UID1000
UMASK022
[#000] sha256:9824c27679d3b27c5e1cb00a73adb6f4f8d556994111c12db3c5d61a0c843df8 - 2.72% (3.62 MB)
[#001] sha256:d670f447b17c6913f6891c0b5c4e98829e79b8eec4f39b3b6438fa9e12a1fbb9 - 0.32% (437 KB)
[#002] sha256:3d20e089b191841d47188d1c0eb7831d40c0f4c1fea2aba0ceac344883ba1c8b - 8.98% (12 MB)
[#003] sha256:934ed7c6b3aa75551e550f21b21450f492fe2a02b1bddccdb5adbc0e074554ea - 0.0% (249 Bytes)
[#004] sha256:c822dcf3b7e7202a3c06df475f820926529ac16390c22b8b3c165586957005c5 - 0.0% (93 Bytes)
[#005] sha256:213b89500bd9f18e0c28413650d178bdc47111b5b20d3f34b04217380a3cd8d3 - 0.03% (39.1 KB)
[#006] sha256:d1e1192aa0213f7516aad679152e3a1cddaf3573c2c23f05dd719b812c9d59f4 - 87.74% (117 MB)
[#007] sha256:718840e2b9d93612b09182a556939dca44cd953c6e030b30e570c78796f5660a - 0.01% (9.88 KB)
[#008] sha256:7bbd5085097d26a2732ab9cd5fd7a33123bcb17d9225d61c680788d2251cadd4 - 0.2% (277 KB)
ADD alpine-minirootfs-3.22.1-x86_64.tar.gz / # buildkit
2025-06-11 21:49:27 UTC (buildkit.dockerfile.v0)CMD ["/bin/sh"]
2025-06-11 21:49:27 UTC (buildkit.dockerfile.v0)ENV PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
2025-06-11 21:49:27 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c set -eux; apk add --no-cache ca-certificates tzdata ; # buildkit
2025-06-11 21:49:27 UTC (buildkit.dockerfile.v0)ENV GPG_KEY=7169605F62C751356D054A26A821E680E5FA6305
2025-06-11 21:49:27 UTC (buildkit.dockerfile.v0)ENV PYTHON_VERSION=3.13.5
2025-06-11 21:49:27 UTC (buildkit.dockerfile.v0)ENV PYTHON_SHA256=93e583f243454e6e9e4588ca2c2662206ad961659863277afcdb96801647d640
2025-06-11 21:49:27 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c set -eux; apk add --no-cache --virtual .build-deps gnupg tar xz bluez-dev bzip2-dev dpkg-dev dpkg findutils gcc gdbm-dev libc-dev libffi-dev libnsl-dev libtirpc-dev linux-headers make ncurses-dev openssl-dev pax-utils readline-dev sqlite-dev tcl-dev tk tk-dev util-linux-dev xz-dev zlib-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-option-checking=fatal --enable-shared $(test "$gnuArch" != 'riscv64-linux-musl' && echo '--with-lto') --with-ensurepip ; nproc="$(nproc)"; EXTRA_CFLAGS="-DTHREAD_STACK_SIZE=0x100000"; LDFLAGS="${LDFLAGS:--Wl},--strip-all"; arch="$(apk --print-arch)"; case "$arch" in x86_64|aarch64) EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer"; ;; x86) ;; *) 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 '{}' + ; find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec scanelf --needed --nobanner --format '%n#p' '{}' ';' | tr ',' '\n' | sort -u | awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' | xargs -rt apk add --no-network --virtual .python-rundeps ; apk del --no-network .build-deps; export PYTHONDONTWRITEBYTECODE=1; python3 --version; pip3 --version # buildkit
2025-06-11 21:49:27 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
2025-06-11 21:49:27 UTC (buildkit.dockerfile.v0)CMD ["python3"]
2025-07-31 19:49:36 UTC (buildkit.dockerfile.v0)WORKDIR /app
2025-07-31 19:49:36 UTC (buildkit.dockerfile.v0)COPY Pipfile* docker-entrypoint.sh ./ # buildkit
2025-07-31 19:50:15 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c sed -i 's/\r$//g' docker-entrypoint.sh && chmod +x docker-entrypoint.sh && apk add --update ffmpeg aria2 coreutils shadow su-exec curl tini && apk add --update --virtual .build-deps gcc g++ musl-dev && pip install --no-cache-dir pipenv && pipenv install --system --deploy --clear && pip uninstall pipenv -y && apk del .build-deps && rm -rf /var/cache/apk/* && mkdir /.cache && chmod 777 /.cache # buildkit
2025-07-31 19:50:15 UTC (buildkit.dockerfile.v0)COPY app ./app # buildkit
2025-07-31 19:50:35 UTC (buildkit.dockerfile.v0)COPY /metube/dist/metube ./ui/dist/metube # buildkit
2025-07-31 19:50:35 UTC (buildkit.dockerfile.v0)ENV UID=1000
2025-07-31 19:50:35 UTC (buildkit.dockerfile.v0)ENV GID=1000
2025-07-31 19:50:35 UTC (buildkit.dockerfile.v0)ENV UMASK=022
2025-07-31 19:50:35 UTC (buildkit.dockerfile.v0)ENV DOWNLOAD_DIR=/downloads
2025-07-31 19:50:35 UTC (buildkit.dockerfile.v0)ENV STATE_DIR=/downloads/.metube
2025-07-31 19:50:35 UTC (buildkit.dockerfile.v0)ENV TEMP_DIR=/downloads
2025-07-31 19:50:35 UTC (buildkit.dockerfile.v0)VOLUME [/downloads]
2025-07-31 19:50:35 UTC (buildkit.dockerfile.v0)EXPOSE map[8081/tcp:{}]
2025-07-31 19:50:35 UTC (buildkit.dockerfile.v0)ARG VERSION=2025.07.31
2025-07-31 19:50:35 UTC (buildkit.dockerfile.v0)ENV METUBE_VERSION=2025.07.31
2025-07-31 19:50:35 UTC (buildkit.dockerfile.v0)ENTRYPOINT ["/sbin/tini" "-g" "--" "./docker-entrypoint.sh"]
2025-07-31 19:55:23 UTC
132 MB
/downloads
GID1000
GPG_KEY7169605F62C751356D054A26A821E680E5FA6305
METUBE_VERSION2025.07.31
PATH/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PYTHON_SHA25693e583f243454e6e9e4588ca2c2662206ad961659863277afcdb96801647d640
PYTHON_VERSION3.13.5
STATE_DIR/downloads/.metube
TEMP_DIR/downloads
UID1000
UMASK022
[#000] sha256:6e174226ea690ced550e5641249a412cdbefd2d09871f3e64ab52137a54ba606 - 2.99% (3.94 MB)
[#001] sha256:d125fdbed4e4ca1d8631d4c952dfbc9fd0aded64865d69eb3c9951e98d6c76fb - 0.33% (439 KB)
[#002] sha256:bcd636e59cfbeb2967d10c7fe5f443b4d16c981fbd523ffee59799ffcaaa8c58 - 9.1% (12 MB)
[#003] sha256:2829f301ad519e4a03916d33dfe9077d0c9828693fdac899af12841fa06a3593 - 0.0% (248 Bytes)
[#004] sha256:c3d36cba3b03447d7d1e41f3dd00d4653c29ae330ad932ca529fc2379f1e9c55 - 0.0% (93 Bytes)
[#005] sha256:77d5a53d1a1a728761e5cffb5bdfef552348adaa93089f2c17e5cdd6b069755a - 0.03% (39.1 KB)
[#006] sha256:c85fd0593c1a10402b5997860996fb8f6633b4b002dbf63378a8a0db1e5ab493 - 87.34% (115 MB)
[#007] sha256:7b90d1519e2b5d8fdeb17709f526e4ab2d105b851406262c9e6f5e615d0140a3 - 0.01% (9.88 KB)
[#008] sha256:4ebbcc8162b23894a229a4b8e9c43b35f04c093e3a160f1dd5d05ccb9304e545 - 0.21% (277 KB)
ADD alpine-minirootfs-3.22.1-aarch64.tar.gz / # buildkit
2025-06-11 21:49:27 UTC (buildkit.dockerfile.v0)CMD ["/bin/sh"]
2025-06-11 21:49:27 UTC (buildkit.dockerfile.v0)ENV PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
2025-06-11 21:49:27 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c set -eux; apk add --no-cache ca-certificates tzdata ; # buildkit
2025-06-11 21:49:27 UTC (buildkit.dockerfile.v0)ENV GPG_KEY=7169605F62C751356D054A26A821E680E5FA6305
2025-06-11 21:49:27 UTC (buildkit.dockerfile.v0)ENV PYTHON_VERSION=3.13.5
2025-06-11 21:49:27 UTC (buildkit.dockerfile.v0)ENV PYTHON_SHA256=93e583f243454e6e9e4588ca2c2662206ad961659863277afcdb96801647d640
2025-06-11 21:49:27 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c set -eux; apk add --no-cache --virtual .build-deps gnupg tar xz bluez-dev bzip2-dev dpkg-dev dpkg findutils gcc gdbm-dev libc-dev libffi-dev libnsl-dev libtirpc-dev linux-headers make ncurses-dev openssl-dev pax-utils readline-dev sqlite-dev tcl-dev tk tk-dev util-linux-dev xz-dev zlib-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-option-checking=fatal --enable-shared $(test "$gnuArch" != 'riscv64-linux-musl' && echo '--with-lto') --with-ensurepip ; nproc="$(nproc)"; EXTRA_CFLAGS="-DTHREAD_STACK_SIZE=0x100000"; LDFLAGS="${LDFLAGS:--Wl},--strip-all"; arch="$(apk --print-arch)"; case "$arch" in x86_64|aarch64) EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer"; ;; x86) ;; *) 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 '{}' + ; find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec scanelf --needed --nobanner --format '%n#p' '{}' ';' | tr ',' '\n' | sort -u | awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' | xargs -rt apk add --no-network --virtual .python-rundeps ; apk del --no-network .build-deps; export PYTHONDONTWRITEBYTECODE=1; python3 --version; pip3 --version # buildkit
2025-06-11 21:49:27 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
2025-06-11 21:49:27 UTC (buildkit.dockerfile.v0)CMD ["python3"]
2025-07-31 19:49:37 UTC (buildkit.dockerfile.v0)WORKDIR /app
2025-07-31 19:49:37 UTC (buildkit.dockerfile.v0)COPY Pipfile* docker-entrypoint.sh ./ # buildkit
2025-07-31 19:53:36 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c sed -i 's/\r$//g' docker-entrypoint.sh && chmod +x docker-entrypoint.sh && apk add --update ffmpeg aria2 coreutils shadow su-exec curl tini && apk add --update --virtual .build-deps gcc g++ musl-dev && pip install --no-cache-dir pipenv && pipenv install --system --deploy --clear && pip uninstall pipenv -y && apk del .build-deps && rm -rf /var/cache/apk/* && mkdir /.cache && chmod 777 /.cache # buildkit
2025-07-31 19:53:36 UTC (buildkit.dockerfile.v0)COPY app ./app # buildkit
2025-07-31 19:55:23 UTC (buildkit.dockerfile.v0)COPY /metube/dist/metube ./ui/dist/metube # buildkit
2025-07-31 19:55:23 UTC (buildkit.dockerfile.v0)ENV UID=1000
2025-07-31 19:55:23 UTC (buildkit.dockerfile.v0)ENV GID=1000
2025-07-31 19:55:23 UTC (buildkit.dockerfile.v0)ENV UMASK=022
2025-07-31 19:55:23 UTC (buildkit.dockerfile.v0)ENV DOWNLOAD_DIR=/downloads
2025-07-31 19:55:23 UTC (buildkit.dockerfile.v0)ENV STATE_DIR=/downloads/.metube
2025-07-31 19:55:23 UTC (buildkit.dockerfile.v0)ENV TEMP_DIR=/downloads
2025-07-31 19:55:23 UTC (buildkit.dockerfile.v0)VOLUME [/downloads]
2025-07-31 19:55:23 UTC (buildkit.dockerfile.v0)EXPOSE map[8081/tcp:{}]
2025-07-31 19:55:23 UTC (buildkit.dockerfile.v0)ARG VERSION=2025.07.31
2025-07-31 19:55:23 UTC (buildkit.dockerfile.v0)ENV METUBE_VERSION=2025.07.31
2025-07-31 19:55:23 UTC (buildkit.dockerfile.v0)ENTRYPOINT ["/sbin/tini" "-g" "--" "./docker-entrypoint.sh"]
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.