sha256:483107ca6327cc8bdcfe736fb9a49565534522323d3fb7ffb1d748796140d930
2025-06-02 20:18:36 UTC
121 MB
/downloads
GID1000
GPG_KEY7169605F62C751356D054A26A821E680E5FA6305
PATH/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PYTHON_SHA25640f868bcbdeb8149a3149580bb9bfd407b3321cd48f0be631af955ac92c0e041
PYTHON_VERSION3.13.3
STATE_DIR/downloads/.metube
TEMP_DIR/downloads
UID1000
UMASK022
[#000] sha256:fe07684b16b82247c3539ed86a65ff37a76138ec25d380bd80c869a1a4c73236 - 3.0% (3.62 MB)
[#001] sha256:1a268f5de5c7da6e23d399f92f1d7e53249302a9cd95d7e3362b28e155771cc3 - 0.36% (449 KB)
[#002] sha256:92c35caa50445a77090aa8720bfb96a49ebf7df65ca5ba3676947e3a22c4e6e6 - 9.92% (12 MB)
[#003] sha256:e1f6199e8d57c427a92495b77a361516b5d0dbca0ce9052f07c4988a98f44aa0 - 0.0% (250 Bytes)
[#004] sha256:288c7c99a084eebd737bdcd7697c7632f70bc7d10ebdd43d48ea79d0c638ce8a - 0.0% (93 Bytes)
[#005] sha256:ffe94e6228a41dc3152965f994c163c15af85a36de200d5972e2f3942a224dbd - 0.02% (23.1 KB)
[#006] sha256:d2271617192058679ee6f5d3803a60f4efd9b7c230218576f5221db6c34401ad - 86.47% (104 MB)
[#007] sha256:ce19f9feba738f114cd0eb91223a7ad5ee0bfc048ed1e324f56bc6cf0ece10a3 - 0.01% (9.04 KB)
[#008] sha256:7e22ab7b22da754e79baaa1ff130935dfbe1d69320af762c7dcbba41a237589e - 0.22% (273 KB)
ADD alpine-minirootfs-3.22.0-x86_64.tar.gz / # buildkit
2025-05-30 16:20:41 UTC (buildkit.dockerfile.v0)CMD ["/bin/sh"]
2025-05-30 21:12:34 UTC (buildkit.dockerfile.v0)ENV PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
2025-05-30 21:12:34 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c set -eux; apk add --no-cache ca-certificates tzdata ; # buildkit
2025-05-30 21:12:34 UTC (buildkit.dockerfile.v0)ENV GPG_KEY=7169605F62C751356D054A26A821E680E5FA6305
2025-05-30 21:12:34 UTC (buildkit.dockerfile.v0)ENV PYTHON_VERSION=3.13.3
2025-05-30 21:12:34 UTC (buildkit.dockerfile.v0)ENV PYTHON_SHA256=40f868bcbdeb8149a3149580bb9bfd407b3321cd48f0be631af955ac92c0e041
2025-05-30 21:12:34 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-05-30 21:12:34 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-05-30 21:12:34 UTC (buildkit.dockerfile.v0)CMD ["python3"]
2025-06-02 20:17:39 UTC (buildkit.dockerfile.v0)WORKDIR /app
2025-06-02 20:17:39 UTC (buildkit.dockerfile.v0)COPY Pipfile* docker-entrypoint.sh ./ # buildkit
2025-06-02 20:18:16 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-06-02 20:18:16 UTC (buildkit.dockerfile.v0)COPY app ./app # buildkit
2025-06-02 20:18:36 UTC (buildkit.dockerfile.v0)COPY /metube/dist/metube ./ui/dist/metube # buildkit
2025-06-02 20:18:36 UTC (buildkit.dockerfile.v0)ENV UID=1000
2025-06-02 20:18:36 UTC (buildkit.dockerfile.v0)ENV GID=1000
2025-06-02 20:18:36 UTC (buildkit.dockerfile.v0)ENV UMASK=022
2025-06-02 20:18:36 UTC (buildkit.dockerfile.v0)ENV DOWNLOAD_DIR=/downloads
2025-06-02 20:18:36 UTC (buildkit.dockerfile.v0)ENV STATE_DIR=/downloads/.metube
2025-06-02 20:18:36 UTC (buildkit.dockerfile.v0)ENV TEMP_DIR=/downloads
2025-06-02 20:18:36 UTC (buildkit.dockerfile.v0)VOLUME [/downloads]
2025-06-02 20:18:36 UTC (buildkit.dockerfile.v0)EXPOSE map[8081/tcp:{}]
2025-06-02 20:18:36 UTC (buildkit.dockerfile.v0)ENTRYPOINT ["/sbin/tini" "-g" "--" "./docker-entrypoint.sh"]
sha256:47d7244320868d6df11a094889f74076c3a44c2f50d84b5a00ce8edfb61e1b37
2025-06-02 20:23:23 UTC
119 MB
/downloads
GID1000
GPG_KEY7169605F62C751356D054A26A821E680E5FA6305
PATH/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PYTHON_SHA25640f868bcbdeb8149a3149580bb9bfd407b3321cd48f0be631af955ac92c0e041
PYTHON_VERSION3.13.3
STATE_DIR/downloads/.metube
TEMP_DIR/downloads
UID1000
UMASK022
[#000] sha256:d69d4d41cfe2ee680d6972795e2a1eb9e4dc4ec3b3c5e0797c9ab43bb3726fa7 - 3.31% (3.94 MB)
[#001] sha256:af073699363458487c4151d77486824bd6582c1386b74554976345d24bbcd3a5 - 0.37% (451 KB)
[#002] sha256:d5e7307b12a9db8935745a044378fb2d573563ae221f7cb420b30a960f7ac523 - 10.07% (12 MB)
[#003] sha256:57989a86094cefa54ff8bbe72f3ae9baab661be93e0c46ab680baf6961231b39 - 0.0% (250 Bytes)
[#004] sha256:42793018f1dcfeaa8cf9fe861fd9930903ffaa7fcc53207ab934946ac9c0bf7b - 0.0% (92 Bytes)
[#005] sha256:ffe94e6228a41dc3152965f994c163c15af85a36de200d5972e2f3942a224dbd - 0.02% (23.1 KB)
[#006] sha256:f5b5338c74194f1753105fd0deadd5d844c90d0cc1406b7e63243922f716a2b5 - 86.0% (102 MB)
[#007] sha256:af42462c019723fcdc11a8702770c2117764de3153d19fc95026cb9290724d21 - 0.01% (9.04 KB)
[#008] sha256:354fb43c6bd02740b10e997b19bbe9132f079e5a173f1a32fb5b4b1d19c30784 - 0.22% (273 KB)
ADD alpine-minirootfs-3.22.0-aarch64.tar.gz / # buildkit
2025-05-30 16:20:41 UTC (buildkit.dockerfile.v0)CMD ["/bin/sh"]
2025-05-30 21:12:34 UTC (buildkit.dockerfile.v0)ENV PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
2025-05-30 21:12:34 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c set -eux; apk add --no-cache ca-certificates tzdata ; # buildkit
2025-05-30 21:12:34 UTC (buildkit.dockerfile.v0)ENV GPG_KEY=7169605F62C751356D054A26A821E680E5FA6305
2025-05-30 21:12:34 UTC (buildkit.dockerfile.v0)ENV PYTHON_VERSION=3.13.3
2025-05-30 21:12:34 UTC (buildkit.dockerfile.v0)ENV PYTHON_SHA256=40f868bcbdeb8149a3149580bb9bfd407b3321cd48f0be631af955ac92c0e041
2025-05-30 21:12:34 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-05-30 21:12:34 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-05-30 21:12:34 UTC (buildkit.dockerfile.v0)CMD ["python3"]
2025-06-02 20:17:39 UTC (buildkit.dockerfile.v0)WORKDIR /app
2025-06-02 20:17:39 UTC (buildkit.dockerfile.v0)COPY Pipfile* docker-entrypoint.sh ./ # buildkit
2025-06-02 20:21:14 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-06-02 20:21:14 UTC (buildkit.dockerfile.v0)COPY app ./app # buildkit
2025-06-02 20:23:23 UTC (buildkit.dockerfile.v0)COPY /metube/dist/metube ./ui/dist/metube # buildkit
2025-06-02 20:23:23 UTC (buildkit.dockerfile.v0)ENV UID=1000
2025-06-02 20:23:23 UTC (buildkit.dockerfile.v0)ENV GID=1000
2025-06-02 20:23:23 UTC (buildkit.dockerfile.v0)ENV UMASK=022
2025-06-02 20:23:23 UTC (buildkit.dockerfile.v0)ENV DOWNLOAD_DIR=/downloads
2025-06-02 20:23:23 UTC (buildkit.dockerfile.v0)ENV STATE_DIR=/downloads/.metube
2025-06-02 20:23:23 UTC (buildkit.dockerfile.v0)ENV TEMP_DIR=/downloads
2025-06-02 20:23:23 UTC (buildkit.dockerfile.v0)VOLUME [/downloads]
2025-06-02 20:23:23 UTC (buildkit.dockerfile.v0)EXPOSE map[8081/tcp:{}]
2025-06-02 20:23: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.