Namespace
kmyuhkyuk
Image / Tag
unblock-netease-music-enhanced:v0.28.0
Content Digest
sha256:391afbb7c3b786a62dafef89c05e7b5b49904adb8a789466877b37eaf2399f54
Details
Created

2026-08-24 10:28:30 UTC

Size

65.3 MB

Content Digest
Labels
  • org.opencontainers.image.created
    2026-08-24T10:47:05.173Z
  • org.opencontainers.image.description
    Revive unavailable songs for Netease Cloud Music (Refactored & Enhanced version)
  • org.opencontainers.image.licenses
    LGPL-3.0
  • org.opencontainers.image.revision
    46e7769080647c857a5ae188004b7981f0b7cbca
  • org.opencontainers.image.source
    https://github.com/kmyuhkyuk/UnblockNeteaseMusic-server
  • org.opencontainers.image.title
    UnblockNeteaseMusic-server
  • org.opencontainers.image.url
    https://github.com/kmyuhkyuk/UnblockNeteaseMusic-server
  • org.opencontainers.image.version
    latest

Environment
NODE_ENV

production

PATH

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

PYTHON_SHA256

7e32597b99e5d9a39abed35de4693fa169df3e5850d4c334337ffd6a19a36db6

PYTHON_VERSION

3.14.5

SIGN_CERT

/app/server.crt

SIGN_KEY

/app/server.key


Layers

[#000] sha256:84f5eff04246b56d48d1ed6cbd82d6bc7e53f7e790db6a467f92571c69f3289e - 5.57% (3.63 MB)

[#001] sha256:17f7e72420c2ec8ac67966fb4612dc5b68b57230a2613dbcc3b5bc2b55dff12e - 0.66% (444 KB)

[#002] sha256:7fb8804f33d1ecf471765a351923fb93d8183f5ca9daf1e98e2c3c343447c211 - 19.56% (12.8 MB)

[#003] sha256:3d8458e452702fbd8da1f7b3eec8ba10a4b0c4755d0fa409c41fd5440a192966 - 0.0% (247 Bytes)

[#004] sha256:297dcad7c9e9cc9a9b45fed5a8eb4c1c8e1bc37c394ccac1c68177a27220c8b9 - 40.04% (26.1 MB)

[#005] sha256:fda5205acbdf6d1ca581cd46e833cae71d8938bd70786048d45f4a47197211ae - 0.0% (93 Bytes)

[#006] sha256:6aacabcb6c39f60e113834d57ce59daf82788674582b80656bf014ce01437fb1 - 33.98% (22.2 MB)

[#007] sha256:b492ef3e82a52315b52827ad6ca3dd99fdd4d2418066e94a2d08296ec9a15a6f - 0.19% (130 KB)

[#008] sha256:e04c59cbd2641c8731c72082205c64d800a34f9a2d8649a747ee4d13e5c35277 - 0.0% (816 Bytes)

[#009] sha256:0b48226752811fc6e2b9e66c698dc5d578c79da9ca9b40e3721f48c2ca4f879f - 0.0% (397 Bytes)

[#010] sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 - 0.0% (32 Bytes)


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

ADD alpine-minirootfs-3.22.4-x86_64.tar.gz / # buildkit

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

CMD ["/bin/sh"]

2026-05-11 23:06:43 UTC (buildkit.dockerfile.v0)

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

2026-05-11 23:06:43 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; apk add --no-cache ca-certificates tzdata ; # buildkit

2026-05-11 23:06:43 UTC (buildkit.dockerfile.v0)

ENV PYTHON_VERSION=3.14.5

2026-05-11 23:06:43 UTC (buildkit.dockerfile.v0)

ENV PYTHON_SHA256=7e32597b99e5d9a39abed35de4693fa169df3e5850d4c334337ffd6a19a36db6

2026-05-11 23:09:18 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; apk add --no-cache --virtual .build-deps bluez-dev bzip2-dev dpkg-dev dpkg findutils gcc gdbm-dev gnupg libc-dev libffi-dev libnsl-dev libtirpc-dev linux-headers make ncurses-dev openssl-dev pax-utils readline-dev sqlite-dev tar tcl-dev tk tk-dev util-linux-dev xz xz-dev zlib-dev zstd-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 -; 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' && 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

2026-05-11 23:09:18 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-05-11 23:09:18 UTC (buildkit.dockerfile.v0)

CMD ["python3"]

2026-08-16 07:03:38 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c apk add --no-cache nodejs tini procps curl jq # buildkit

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

RUN /bin/sh -c set -ex && mkdir /app # buildkit

2026-08-24 10:28:30 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c apk add --no-cache youtube-dl && wget https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp -O /usr/local/bin/yt-dlp && chmod a+rx /usr/local/bin/yt-dlp && printf '--cache-dir /var/cache/yt-dlp\n--js-runtimes node:/usr/local/bin/node\n' | tee /etc/yt-dlp.conf # buildkit

2026-08-24 10:28:30 UTC (buildkit.dockerfile.v0)

COPY ./precompiled/* /app/ # buildkit

2026-08-24 10:28:30 UTC (buildkit.dockerfile.v0)

COPY ./*.crt /app/ # buildkit

2026-08-24 10:28:30 UTC (buildkit.dockerfile.v0)

COPY ./*.key /app/ # buildkit

2026-08-24 10:28:30 UTC (buildkit.dockerfile.v0)

ENV SIGN_CERT=/app/server.crt

2026-08-24 10:28:30 UTC (buildkit.dockerfile.v0)

ENV SIGN_KEY=/app/server.key

2026-08-24 10:28:30 UTC (buildkit.dockerfile.v0)

ENV NODE_ENV=production

2026-08-24 10:28:30 UTC (buildkit.dockerfile.v0)

WORKDIR /app

2026-08-24 10:28:30 UTC (buildkit.dockerfile.v0)

EXPOSE [8080/tcp 8081/tcp]

2026-08-24 10:28:30 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["node" "app.js"]

Details
Created

2026-08-24 10:28:30 UTC

Size

62.9 MB

Content Digest
Labels
  • org.opencontainers.image.created
    2026-08-24T10:47:05.173Z
  • org.opencontainers.image.description
    Revive unavailable songs for Netease Cloud Music (Refactored & Enhanced version)
  • org.opencontainers.image.licenses
    LGPL-3.0
  • org.opencontainers.image.revision
    46e7769080647c857a5ae188004b7981f0b7cbca
  • org.opencontainers.image.source
    https://github.com/kmyuhkyuk/UnblockNeteaseMusic-server
  • org.opencontainers.image.title
    UnblockNeteaseMusic-server
  • org.opencontainers.image.url
    https://github.com/kmyuhkyuk/UnblockNeteaseMusic-server
  • org.opencontainers.image.version
    latest

Environment
NODE_ENV

production

PATH

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

PYTHON_SHA256

7e32597b99e5d9a39abed35de4693fa169df3e5850d4c334337ffd6a19a36db6

PYTHON_VERSION

3.14.5

SIGN_CERT

/app/server.crt

SIGN_KEY

/app/server.key


Layers

[#000] sha256:08c654e9a4409dbbeb5faba9659360f33dbc6f7a6d79ebebe08f57d22a1b76fc - 5.32% (3.34 MB)

[#001] sha256:4ef864e97c9d5cd82b4fbf501f48c38816dd5e5b85c3a46db536b176dbf72a6e - 0.69% (445 KB)

[#002] sha256:1942518e1ab96a32c30b6f447ed704f61344df29a5b78dcfd83caa6ad22943e8 - 19.68% (12.4 MB)

[#003] sha256:9b2b81e6f285380f750417bfc2ff79c2760413bb1f54c5ce4d0a835b77dae010 - 0.0% (250 Bytes)

[#004] sha256:4f343919c007970ddef9b7de3dfe18ff49a91d8584fc2eb0263f4b491ef890dc - 39.1% (24.6 MB)

[#005] sha256:cd8cf72fd6b20181e5ccf7b022cb65c8c68db94c37b7b75dd4b42467f420fa0c - 0.0% (93 Bytes)

[#006] sha256:fd9184a51044d0042434a2c9734dd65f3168ff664ff2178d34120c002361c902 - 35.0% (22 MB)

[#007] sha256:0af97dd3c775b7ac0d299ce69efb9827230595cdf0e0c902e39fcd5168fc970b - 0.2% (130 KB)

[#008] sha256:c0ac5f4e57c30836b18fe9fe532500c0639e71e8782ba8f0413924bb0379a46b - 0.0% (817 Bytes)

[#009] sha256:163f5b56e37955b2c0f07bf3630f001286fed818251d79b9ef235045c48179f4 - 0.0% (397 Bytes)

[#010] sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 - 0.0% (32 Bytes)


History
2026-04-16 23:53:27 UTC (buildkit.dockerfile.v0)

ADD alpine-minirootfs-3.22.4-armhf.tar.gz / # buildkit

2026-04-16 23:53:27 UTC (buildkit.dockerfile.v0)

CMD ["/bin/sh"]

2026-05-11 23:07:08 UTC (buildkit.dockerfile.v0)

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

2026-05-11 23:07:08 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; apk add --no-cache ca-certificates tzdata ; # buildkit

2026-05-11 23:07:08 UTC (buildkit.dockerfile.v0)

ENV PYTHON_VERSION=3.14.5

2026-05-11 23:07:08 UTC (buildkit.dockerfile.v0)

ENV PYTHON_SHA256=7e32597b99e5d9a39abed35de4693fa169df3e5850d4c334337ffd6a19a36db6

2026-05-11 23:09:53 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; apk add --no-cache --virtual .build-deps bluez-dev bzip2-dev dpkg-dev dpkg findutils gcc gdbm-dev gnupg libc-dev libffi-dev libnsl-dev libtirpc-dev linux-headers make ncurses-dev openssl-dev pax-utils readline-dev sqlite-dev tar tcl-dev tk tk-dev util-linux-dev xz xz-dev zlib-dev zstd-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 -; 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' && 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

2026-05-11 23:09:53 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-05-11 23:09:53 UTC (buildkit.dockerfile.v0)

CMD ["python3"]

2026-08-16 07:03:44 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c apk add --no-cache nodejs tini procps curl jq # buildkit

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

RUN /bin/sh -c set -ex && mkdir /app # buildkit

2026-08-24 10:28:36 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c apk add --no-cache youtube-dl && wget https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp -O /usr/local/bin/yt-dlp && chmod a+rx /usr/local/bin/yt-dlp && printf '--cache-dir /var/cache/yt-dlp\n--js-runtimes node:/usr/local/bin/node\n' | tee /etc/yt-dlp.conf # buildkit

2026-08-24 10:28:36 UTC (buildkit.dockerfile.v0)

COPY ./precompiled/* /app/ # buildkit

2026-08-24 10:28:37 UTC (buildkit.dockerfile.v0)

COPY ./*.crt /app/ # buildkit

2026-08-24 10:28:37 UTC (buildkit.dockerfile.v0)

COPY ./*.key /app/ # buildkit

2026-08-24 10:28:30 UTC (buildkit.dockerfile.v0)

ENV SIGN_CERT=/app/server.crt

2026-08-24 10:28:30 UTC (buildkit.dockerfile.v0)

ENV SIGN_KEY=/app/server.key

2026-08-24 10:28:30 UTC (buildkit.dockerfile.v0)

ENV NODE_ENV=production

2026-08-24 10:28:30 UTC (buildkit.dockerfile.v0)

WORKDIR /app

2026-08-24 10:28:30 UTC (buildkit.dockerfile.v0)

EXPOSE [8080/tcp 8081/tcp]

2026-08-24 10:28:30 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["node" "app.js"]

Details
Created

2026-08-24 10:28:30 UTC

Size

61.8 MB

Content Digest
Labels
  • org.opencontainers.image.created
    2026-08-24T10:47:05.173Z
  • org.opencontainers.image.description
    Revive unavailable songs for Netease Cloud Music (Refactored & Enhanced version)
  • org.opencontainers.image.licenses
    LGPL-3.0
  • org.opencontainers.image.revision
    46e7769080647c857a5ae188004b7981f0b7cbca
  • org.opencontainers.image.source
    https://github.com/kmyuhkyuk/UnblockNeteaseMusic-server
  • org.opencontainers.image.title
    UnblockNeteaseMusic-server
  • org.opencontainers.image.url
    https://github.com/kmyuhkyuk/UnblockNeteaseMusic-server
  • org.opencontainers.image.version
    latest

Environment
NODE_ENV

production

PATH

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

PYTHON_SHA256

7e32597b99e5d9a39abed35de4693fa169df3e5850d4c334337ffd6a19a36db6

PYTHON_VERSION

3.14.5

SIGN_CERT

/app/server.crt

SIGN_KEY

/app/server.key


Layers

[#000] sha256:99e8c7f1cf08d3156a369084c1a1fd745878aa29f4a0f55d73e953b93f0b7a93 - 4.98% (3.08 MB)

[#001] sha256:e59afb6808742162410e9c8523b7c054bbce22c9b4cdbf0959bfaebf3597fe7d - 0.7% (444 KB)

[#002] sha256:f967ce002a4c8cc1f0d32e91cb9063789f64c6ee8826f4339e060361f52f8744 - 19.45% (12 MB)

[#003] sha256:631e6b8368a4727229cffc2f9b25703a528f1359a7f80a114a1213284d59648a - 0.0% (252 Bytes)

[#004] sha256:28d638a7f19dfe721359127763b0cc1d251d2aa8c5f225fda5e1f6ee47c6f46c - 39.29% (24.3 MB)

[#005] sha256:fd481d8f9060179b79f8e269256c6c028b4822d78a0e8b7b0949576060ae803f - 0.0% (93 Bytes)

[#006] sha256:f37def81b567a2746d7b064066ab38125d376f87b80ed1ce2724e60def7c2e1d - 35.37% (21.8 MB)

[#007] sha256:0af97dd3c775b7ac0d299ce69efb9827230595cdf0e0c902e39fcd5168fc970b - 0.21% (130 KB)

[#008] sha256:2266cd699f9f045a14326dbe49dff9849f9479604afc3b67d8d25676ed9e9868 - 0.0% (816 Bytes)

[#009] sha256:d2dc40c0acdf07e48c4c7a01729454ce09a5c26f0008ab3e07e4d308c54bf54e - 0.0% (397 Bytes)

[#010] sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 - 0.0% (32 Bytes)


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

ADD alpine-minirootfs-3.22.4-armv7.tar.gz / # buildkit

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

CMD ["/bin/sh"]

2026-05-11 23:10:22 UTC (buildkit.dockerfile.v0)

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

2026-05-11 23:10:22 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; apk add --no-cache ca-certificates tzdata ; # buildkit

2026-05-11 23:10:22 UTC (buildkit.dockerfile.v0)

ENV PYTHON_VERSION=3.14.5

2026-05-11 23:10:22 UTC (buildkit.dockerfile.v0)

ENV PYTHON_SHA256=7e32597b99e5d9a39abed35de4693fa169df3e5850d4c334337ffd6a19a36db6

2026-05-11 23:13:10 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; apk add --no-cache --virtual .build-deps bluez-dev bzip2-dev dpkg-dev dpkg findutils gcc gdbm-dev gnupg libc-dev libffi-dev libnsl-dev libtirpc-dev linux-headers make ncurses-dev openssl-dev pax-utils readline-dev sqlite-dev tar tcl-dev tk tk-dev util-linux-dev xz xz-dev zlib-dev zstd-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 -; 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' && 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

2026-05-11 23:13:10 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-05-11 23:13:10 UTC (buildkit.dockerfile.v0)

CMD ["python3"]

2026-08-16 07:03:41 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c apk add --no-cache nodejs tini procps curl jq # buildkit

2026-08-24 10:28:26 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -ex && mkdir /app # buildkit

2026-08-24 10:28:36 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c apk add --no-cache youtube-dl && wget https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp -O /usr/local/bin/yt-dlp && chmod a+rx /usr/local/bin/yt-dlp && printf '--cache-dir /var/cache/yt-dlp\n--js-runtimes node:/usr/local/bin/node\n' | tee /etc/yt-dlp.conf # buildkit

2026-08-24 10:28:36 UTC (buildkit.dockerfile.v0)

COPY ./precompiled/* /app/ # buildkit

2026-08-24 10:28:36 UTC (buildkit.dockerfile.v0)

COPY ./*.crt /app/ # buildkit

2026-08-24 10:28:36 UTC (buildkit.dockerfile.v0)

COPY ./*.key /app/ # buildkit

2026-08-24 10:28:30 UTC (buildkit.dockerfile.v0)

ENV SIGN_CERT=/app/server.crt

2026-08-24 10:28:30 UTC (buildkit.dockerfile.v0)

ENV SIGN_KEY=/app/server.key

2026-08-24 10:28:30 UTC (buildkit.dockerfile.v0)

ENV NODE_ENV=production

2026-08-24 10:28:30 UTC (buildkit.dockerfile.v0)

WORKDIR /app

2026-08-24 10:28:30 UTC (buildkit.dockerfile.v0)

EXPOSE [8080/tcp 8081/tcp]

2026-08-24 10:28:30 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["node" "app.js"]

Details
Created

2026-08-24 10:28:30 UTC

Size

64.9 MB

Content Digest
Labels
  • org.opencontainers.image.created
    2026-08-24T10:47:05.173Z
  • org.opencontainers.image.description
    Revive unavailable songs for Netease Cloud Music (Refactored & Enhanced version)
  • org.opencontainers.image.licenses
    LGPL-3.0
  • org.opencontainers.image.revision
    46e7769080647c857a5ae188004b7981f0b7cbca
  • org.opencontainers.image.source
    https://github.com/kmyuhkyuk/UnblockNeteaseMusic-server
  • org.opencontainers.image.title
    UnblockNeteaseMusic-server
  • org.opencontainers.image.url
    https://github.com/kmyuhkyuk/UnblockNeteaseMusic-server
  • org.opencontainers.image.version
    latest

Environment
NODE_ENV

production

PATH

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

PYTHON_SHA256

7e32597b99e5d9a39abed35de4693fa169df3e5850d4c334337ffd6a19a36db6

PYTHON_VERSION

3.14.5

SIGN_CERT

/app/server.crt

SIGN_KEY

/app/server.key


Layers

[#000] sha256:58e777220c395c319866c5d73ea32a5ea574bbd12f4eb289b392f584d0cd953e - 6.09% (3.95 MB)

[#001] sha256:6cb82e239d1cb105364b7d91bc4853a1f789b4f7e41d3782ab292bfd3db0a345 - 0.67% (446 KB)

[#002] sha256:b835f0934e73f28d203c3ff75776b2a5a43d86760a57ce7d574e85014044a1ff - 19.65% (12.7 MB)

[#003] sha256:1a89c556155002cb361e3cf5aa6f10349d85007b6ecaf10c12617dcb8d366370 - 0.0% (248 Bytes)

[#004] sha256:8431fc86dfb3a4f481b45c28613a7c10980e240a7a12e723db2920cb29c4a83b - 39.16% (25.4 MB)

[#005] sha256:fda5205acbdf6d1ca581cd46e833cae71d8938bd70786048d45f4a47197211ae - 0.0% (93 Bytes)

[#006] sha256:0248035e30b0a272a3d4cbaef049aaa929ab3c99cf6eceabf501023093f460aa - 34.24% (22.2 MB)

[#007] sha256:0af97dd3c775b7ac0d299ce69efb9827230595cdf0e0c902e39fcd5168fc970b - 0.2% (130 KB)

[#008] sha256:2266cd699f9f045a14326dbe49dff9849f9479604afc3b67d8d25676ed9e9868 - 0.0% (816 Bytes)

[#009] sha256:d2dc40c0acdf07e48c4c7a01729454ce09a5c26f0008ab3e07e4d308c54bf54e - 0.0% (397 Bytes)

[#010] sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 - 0.0% (32 Bytes)


History
2026-04-16 23:53:00 UTC (buildkit.dockerfile.v0)

ADD alpine-minirootfs-3.22.4-aarch64.tar.gz / # buildkit

2026-04-16 23:53:00 UTC (buildkit.dockerfile.v0)

CMD ["/bin/sh"]

2026-05-11 23:06:44 UTC (buildkit.dockerfile.v0)

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

2026-05-11 23:06:44 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; apk add --no-cache ca-certificates tzdata ; # buildkit

2026-05-11 23:06:44 UTC (buildkit.dockerfile.v0)

ENV PYTHON_VERSION=3.14.5

2026-05-11 23:06:44 UTC (buildkit.dockerfile.v0)

ENV PYTHON_SHA256=7e32597b99e5d9a39abed35de4693fa169df3e5850d4c334337ffd6a19a36db6

2026-05-11 23:09:08 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; apk add --no-cache --virtual .build-deps bluez-dev bzip2-dev dpkg-dev dpkg findutils gcc gdbm-dev gnupg libc-dev libffi-dev libnsl-dev libtirpc-dev linux-headers make ncurses-dev openssl-dev pax-utils readline-dev sqlite-dev tar tcl-dev tk tk-dev util-linux-dev xz xz-dev zlib-dev zstd-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 -; 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' && 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

2026-05-11 23:09:08 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-05-11 23:09:08 UTC (buildkit.dockerfile.v0)

CMD ["python3"]

2026-08-16 07:03:43 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c apk add --no-cache nodejs tini procps curl jq # buildkit

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

RUN /bin/sh -c set -ex && mkdir /app # buildkit

2026-08-24 10:28:36 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c apk add --no-cache youtube-dl && wget https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp -O /usr/local/bin/yt-dlp && chmod a+rx /usr/local/bin/yt-dlp && printf '--cache-dir /var/cache/yt-dlp\n--js-runtimes node:/usr/local/bin/node\n' | tee /etc/yt-dlp.conf # buildkit

2026-08-24 10:28:36 UTC (buildkit.dockerfile.v0)

COPY ./precompiled/* /app/ # buildkit

2026-08-24 10:28:36 UTC (buildkit.dockerfile.v0)

COPY ./*.crt /app/ # buildkit

2026-08-24 10:28:36 UTC (buildkit.dockerfile.v0)

COPY ./*.key /app/ # buildkit

2026-08-24 10:28:30 UTC (buildkit.dockerfile.v0)

ENV SIGN_CERT=/app/server.crt

2026-08-24 10:28:30 UTC (buildkit.dockerfile.v0)

ENV SIGN_KEY=/app/server.key

2026-08-24 10:28:30 UTC (buildkit.dockerfile.v0)

ENV NODE_ENV=production

2026-08-24 10:28:30 UTC (buildkit.dockerfile.v0)

WORKDIR /app

2026-08-24 10:28:30 UTC (buildkit.dockerfile.v0)

EXPOSE [8080/tcp 8081/tcp]

2026-08-24 10:28:30 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["node" "app.js"]

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