Namespace
xream
Image / Tag
sub-store:2.23.18
Content Digest
sha256:4369e04273236c699c5c4b5a3b0d05784872ea4db23e905abddcea2661a69fd1
Details
Created

2026-05-21 08:30:55 UTC

Size

69.1 MB

Content Digest
Environment
NODE_VERSION

22.16.0

PATH

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

TIME_ZONE

Asia/Shanghai

YARN_VERSION

1.22.22


Layers

[#000] sha256:0a9a5dfd008f05ebc27e4790db0709a29e527690c21bcbcd01481eaeb6bb49dc - 5.01% (3.46 MB)

[#001] sha256:ba4caef5715cce5e7de0253509b9ce257994ec6f40fd8e86f0d3846296ea3675 - 70.47% (48.7 MB)

[#002] sha256:0c6d1cca32590d82bab0b754ec382d51e3404db6737b967cf0837d2964ef6029 - 1.91% (1.32 MB)

[#003] sha256:82bea49235a67cfa65fc9a72aa287a09ee77e7b4f561791239b5862112e875c5 - 0.0% (448 Bytes)

[#004] sha256:acd7b688394567395a825330386fac3005df23b7178be589f0e6bdd4135a8a49 - 0.0% (110 Bytes)

[#005] sha256:4de4ccfec1f13126818727651f57f5b6fb971def8ae540e4668edc41f16a9596 - 9.64% (6.66 MB)

[#006] sha256:842a804aba16e011bf51415c9b24b7775fc9fe00e8822a347a40d34ef5fb4d93 - 0.0% (472 Bytes)

[#007] sha256:b1aafab0e9ccd8329227705d4dddaea58cc69b97747c983e98bd4f4076de150f - 5.01% (3.46 MB)

[#008] sha256:865d7ccbd578576abefa2039e94443ea3843ce85ad87ff241e4f681f81d916eb - 1.17% (830 KB)

[#009] sha256:59318f698dafabc1a767fc2a8cce3bf4b970c224ea413ed53f8a6c30894316a9 - 2.81% (1.94 MB)

[#010] sha256:99289dce91aa6ade3c8e4097c3078d70b00481f6fe114e3d50d56f3ec6855e82 - 3.98% (2.75 MB)


History
2025-02-14 03:00:07 UTC (buildkit.dockerfile.v0)

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

2025-02-14 03:00:07 UTC (buildkit.dockerfile.v0)

CMD ["/bin/sh"]

2025-05-21 17:04:49 UTC (buildkit.dockerfile.v0)

ENV NODE_VERSION=22.16.0

2025-05-21 17:04:49 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c addgroup -g 1000 node && adduser -u 1000 -G node -s /bin/sh -D node && apk add --no-cache libstdc++ && apk add --no-cache --virtual .build-deps curl && ARCH= OPENSSL_ARCH='linux*' && alpineArch="$(apk --print-arch)" && case "${alpineArch##*-}" in x86_64) ARCH='x64' CHECKSUM="757e2a142474fdae1ab4392d50f3cbb215ca17a9e3c3fa54e5b9a9af27a47c54" OPENSSL_ARCH=linux-x86_64;; x86) OPENSSL_ARCH=linux-elf;; aarch64) OPENSSL_ARCH=linux-aarch64;; arm*) OPENSSL_ARCH=linux-armv4;; ppc64le) OPENSSL_ARCH=linux-ppc64le;; s390x) OPENSSL_ARCH=linux-s390x;; *) ;; esac && if [ -n "${CHECKSUM}" ]; then set -eu; curl -fsSLO --compressed "https://unofficial-builds.nodejs.org/download/release/v$NODE_VERSION/node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz"; echo "$CHECKSUM node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz" | sha256sum -c - && tar -xJf "node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz" -C /usr/local --strip-components=1 --no-same-owner && ln -s /usr/local/bin/node /usr/local/bin/nodejs; else echo "Building from source" && apk add --no-cache --virtual .build-deps-full binutils-gold g++ gcc gnupg libgcc linux-headers make python3 py-setuptools && export GNUPGHOME="$(mktemp -d)" && for key in C0D6248439F1D5604AAFFB4021D900FFDB233756 DD792F5973C6DE52C432CBDAC77ABFA00DDBF2B7 CC68F5A3106FF448322E48ED27F5E38D5B0A215F 8FCCA13FEF1D0C2E91008E09770F7A9A5AE15600 890C08DB8579162FEE0DF9DB8BEAB4DFCF555EF4 C82FA3AE1CBEDC6BE46B9360C43CEC45C17AB93C 108F52B48DB57BB0CC439B2997B01419BD92F80A A363A499291CBBC940DD62E41F10027AF002F8B0 ; do gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys "$key" || gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key" ; done && curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/node-v$NODE_VERSION.tar.xz" && curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/SHASUMS256.txt.asc" && gpg --batch --decrypt --output SHASUMS256.txt SHASUMS256.txt.asc && gpgconf --kill all && rm -rf "$GNUPGHOME" && grep " node-v$NODE_VERSION.tar.xz\$" SHASUMS256.txt | sha256sum -c - && tar -xf "node-v$NODE_VERSION.tar.xz" && cd "node-v$NODE_VERSION" && ./configure && make -j$(getconf _NPROCESSORS_ONLN) V= && make install && apk del .build-deps-full && cd .. && rm -Rf "node-v$NODE_VERSION" && rm "node-v$NODE_VERSION.tar.xz" SHASUMS256.txt.asc SHASUMS256.txt; fi && rm -f "node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz" && find /usr/local/include/node/openssl/archs -mindepth 1 -maxdepth 1 ! -name "$OPENSSL_ARCH" -exec rm -rf {} \; && apk del .build-deps && node --version && npm --version && rm -rf /tmp/* # buildkit

2025-05-21 17:04:49 UTC (buildkit.dockerfile.v0)

ENV YARN_VERSION=1.22.22

2025-05-21 17:04:49 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c apk add --no-cache --virtual .build-deps-yarn curl gnupg tar && export GNUPGHOME="$(mktemp -d)" && for key in 6A010C5166006599AA17F08146C2130DFD2497F5 ; do gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys "$key" || gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key" ; done && curl -fsSLO --compressed "https://yarnpkg.com/downloads/$YARN_VERSION/yarn-v$YARN_VERSION.tar.gz" && curl -fsSLO --compressed "https://yarnpkg.com/downloads/$YARN_VERSION/yarn-v$YARN_VERSION.tar.gz.asc" && gpg --batch --verify yarn-v$YARN_VERSION.tar.gz.asc yarn-v$YARN_VERSION.tar.gz && gpgconf --kill all && rm -rf "$GNUPGHOME" && mkdir -p /opt && tar -xzf yarn-v$YARN_VERSION.tar.gz -C /opt/ && ln -s /opt/yarn-v$YARN_VERSION/bin/yarn /usr/local/bin/yarn && ln -s /opt/yarn-v$YARN_VERSION/bin/yarnpkg /usr/local/bin/yarnpkg && rm yarn-v$YARN_VERSION.tar.gz.asc yarn-v$YARN_VERSION.tar.gz && apk del .build-deps-yarn && yarn --version && rm -rf /tmp/* # buildkit

2025-05-21 17:04:49 UTC (buildkit.dockerfile.v0)

COPY docker-entrypoint.sh /usr/local/bin/ # buildkit

2025-05-21 17:04:49 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["docker-entrypoint.sh"]

2025-05-21 17:04:49 UTC (buildkit.dockerfile.v0)

CMD ["node"]

2026-05-21 08:30:45 UTC (buildkit.dockerfile.v0)

WORKDIR /opt/app

2026-05-21 08:30:51 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c apk add --no-cache curl tzdata git procps # buildkit

2026-05-21 08:30:51 UTC (buildkit.dockerfile.v0)

ENV TIME_ZONE=Asia/Shanghai

2026-05-21 08:30:51 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c cp /usr/share/zoneinfo/$TIME_ZONE /etc/localtime && echo $TIME_ZONE > /etc/timezone # buildkit

2026-05-21 08:30:54 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c arch=$(arch | sed 's/x86_64/amd64/' | sed 's/aarch64/arm64/' | sed 's/armv7l/armv6/' | sed 's/armv7/armv6/'); url="https://github.com/containrrr/shoutrrr/releases/latest/download/shoutrrr_linux_${arch}.tar.gz"; echo "Downloading $url"; curl -s -L --connect-timeout 5 --max-time 10 --retry 2 --retry-delay 0 --retry-max-time 20 -o /opt/app/shoutrrr.tar.gz "$url"; tar -xzf /opt/app/shoutrrr.tar.gz -C /usr/local/bin/; chmod +x /usr/local/bin/shoutrrr; rm -f /opt/app/shoutrrr.tar.gz # buildkit

2026-05-21 08:30:54 UTC (buildkit.dockerfile.v0)

COPY ./backend/sub-store.bundle.js /opt/app/sub-store.bundle.js # buildkit

2026-05-21 08:30:54 UTC (buildkit.dockerfile.v0)

COPY ./front-end/dist /opt/app/frontend # buildkit

2026-05-21 08:30:55 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c chmod 777 -R /opt/app # buildkit

2026-05-21 08:30:55 UTC (buildkit.dockerfile.v0)

CMD ["/bin/sh" "-c" "mkdir -p /opt/app/data; cd /opt/app/data; SUB_STORE_DOCKER=true SUB_STORE_FRONTEND_PATH=/opt/app/frontend SUB_STORE_DATA_BASE_PATH=/opt/app/data node /opt/app/sub-store.bundle.js"]

Details
Created

2026-05-21 08:30:48 UTC

Size

65 MB

Content Digest
Environment
NODE_VERSION

22.16.0

PATH

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

TIME_ZONE

Asia/Shanghai

YARN_VERSION

1.22.22


Layers

[#000] sha256:772078ddbdee5be52d429e08f953aaad6715a90d7e4d6496eb1cd4004efa8a95 - 4.54% (2.95 MB)

[#001] sha256:e91fd7cd9bc61cc68f24bfd65f52317eb24c40b73e7196b35f14129a60a9b8ac - 70.74% (46 MB)

[#002] sha256:17c74c1f17c2e37e502be8c1ce497b22a158877edb06e1c7bbd30f2724865586 - 2.03% (1.32 MB)

[#003] sha256:d35d9d0f313313e8335422b3cd599c35708b2f1eb26d3fac5262a5269c3c7b74 - 0.0% (444 Bytes)

[#004] sha256:cee5b432e09818dac53193a5c1ee4fa1e01ba1e4bcc53c5fad3866d5b2afbed6 - 0.0% (110 Bytes)

[#005] sha256:06eaa3e2447742ee6c5aa3cfc853cc32756fe7002e85440ae1e25db93b02dea8 - 9.34% (6.08 MB)

[#006] sha256:6705b12a7206b676c6fcb7160382bc87f87a7f46b33931dddeb506e64cb1037f - 0.0% (471 Bytes)

[#007] sha256:bf4c7d235aae7566a5d6fbae0cf5ad732ce6b641cd40f166d2eb7477c1b80574 - 4.89% (3.18 MB)

[#008] sha256:ba7d6798a6a9e6f940f77edbbd3590945d753b9202be7d02336e94a58b77c54b - 1.25% (830 KB)

[#009] sha256:fe152777e8a117fb0c37db7a25bd29806c0535cfbe4940fb93eb9eff3807a410 - 2.98% (1.94 MB)

[#010] sha256:bad9a50a3b43a665dc4332a84c7dbf2dcef7c51e0e8849e736e064cf3c6148bb - 4.23% (2.75 MB)


History
2025-02-14 03:00:07 UTC (buildkit.dockerfile.v0)

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

2025-02-14 03:00:07 UTC (buildkit.dockerfile.v0)

CMD ["/bin/sh"]

2025-05-21 17:04:49 UTC (buildkit.dockerfile.v0)

ENV NODE_VERSION=22.16.0

2025-05-21 17:04:49 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c addgroup -g 1000 node && adduser -u 1000 -G node -s /bin/sh -D node && apk add --no-cache libstdc++ && apk add --no-cache --virtual .build-deps curl && ARCH= OPENSSL_ARCH='linux*' && alpineArch="$(apk --print-arch)" && case "${alpineArch##*-}" in x86_64) ARCH='x64' CHECKSUM="757e2a142474fdae1ab4392d50f3cbb215ca17a9e3c3fa54e5b9a9af27a47c54" OPENSSL_ARCH=linux-x86_64;; x86) OPENSSL_ARCH=linux-elf;; aarch64) OPENSSL_ARCH=linux-aarch64;; arm*) OPENSSL_ARCH=linux-armv4;; ppc64le) OPENSSL_ARCH=linux-ppc64le;; s390x) OPENSSL_ARCH=linux-s390x;; *) ;; esac && if [ -n "${CHECKSUM}" ]; then set -eu; curl -fsSLO --compressed "https://unofficial-builds.nodejs.org/download/release/v$NODE_VERSION/node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz"; echo "$CHECKSUM node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz" | sha256sum -c - && tar -xJf "node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz" -C /usr/local --strip-components=1 --no-same-owner && ln -s /usr/local/bin/node /usr/local/bin/nodejs; else echo "Building from source" && apk add --no-cache --virtual .build-deps-full binutils-gold g++ gcc gnupg libgcc linux-headers make python3 py-setuptools && export GNUPGHOME="$(mktemp -d)" && for key in C0D6248439F1D5604AAFFB4021D900FFDB233756 DD792F5973C6DE52C432CBDAC77ABFA00DDBF2B7 CC68F5A3106FF448322E48ED27F5E38D5B0A215F 8FCCA13FEF1D0C2E91008E09770F7A9A5AE15600 890C08DB8579162FEE0DF9DB8BEAB4DFCF555EF4 C82FA3AE1CBEDC6BE46B9360C43CEC45C17AB93C 108F52B48DB57BB0CC439B2997B01419BD92F80A A363A499291CBBC940DD62E41F10027AF002F8B0 ; do gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys "$key" || gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key" ; done && curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/node-v$NODE_VERSION.tar.xz" && curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/SHASUMS256.txt.asc" && gpg --batch --decrypt --output SHASUMS256.txt SHASUMS256.txt.asc && gpgconf --kill all && rm -rf "$GNUPGHOME" && grep " node-v$NODE_VERSION.tar.xz\$" SHASUMS256.txt | sha256sum -c - && tar -xf "node-v$NODE_VERSION.tar.xz" && cd "node-v$NODE_VERSION" && ./configure && make -j$(getconf _NPROCESSORS_ONLN) V= && make install && apk del .build-deps-full && cd .. && rm -Rf "node-v$NODE_VERSION" && rm "node-v$NODE_VERSION.tar.xz" SHASUMS256.txt.asc SHASUMS256.txt; fi && rm -f "node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz" && find /usr/local/include/node/openssl/archs -mindepth 1 -maxdepth 1 ! -name "$OPENSSL_ARCH" -exec rm -rf {} \; && apk del .build-deps && node --version && npm --version && rm -rf /tmp/* # buildkit

2025-05-21 17:04:49 UTC (buildkit.dockerfile.v0)

ENV YARN_VERSION=1.22.22

2025-05-21 17:04:49 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c apk add --no-cache --virtual .build-deps-yarn curl gnupg tar && export GNUPGHOME="$(mktemp -d)" && for key in 6A010C5166006599AA17F08146C2130DFD2497F5 ; do gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys "$key" || gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key" ; done && curl -fsSLO --compressed "https://yarnpkg.com/downloads/$YARN_VERSION/yarn-v$YARN_VERSION.tar.gz" && curl -fsSLO --compressed "https://yarnpkg.com/downloads/$YARN_VERSION/yarn-v$YARN_VERSION.tar.gz.asc" && gpg --batch --verify yarn-v$YARN_VERSION.tar.gz.asc yarn-v$YARN_VERSION.tar.gz && gpgconf --kill all && rm -rf "$GNUPGHOME" && mkdir -p /opt && tar -xzf yarn-v$YARN_VERSION.tar.gz -C /opt/ && ln -s /opt/yarn-v$YARN_VERSION/bin/yarn /usr/local/bin/yarn && ln -s /opt/yarn-v$YARN_VERSION/bin/yarnpkg /usr/local/bin/yarnpkg && rm yarn-v$YARN_VERSION.tar.gz.asc yarn-v$YARN_VERSION.tar.gz && apk del .build-deps-yarn && yarn --version && rm -rf /tmp/* # buildkit

2025-05-21 17:04:49 UTC (buildkit.dockerfile.v0)

COPY docker-entrypoint.sh /usr/local/bin/ # buildkit

2025-05-21 17:04:49 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["docker-entrypoint.sh"]

2025-05-21 17:04:49 UTC (buildkit.dockerfile.v0)

CMD ["node"]

2026-05-21 08:30:41 UTC (buildkit.dockerfile.v0)

WORKDIR /opt/app

2026-05-21 08:30:45 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c apk add --no-cache curl tzdata git procps # buildkit

2026-05-21 08:30:45 UTC (buildkit.dockerfile.v0)

ENV TIME_ZONE=Asia/Shanghai

2026-05-21 08:30:45 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c cp /usr/share/zoneinfo/$TIME_ZONE /etc/localtime && echo $TIME_ZONE > /etc/timezone # buildkit

2026-05-21 08:30:48 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c arch=$(arch | sed 's/x86_64/amd64/' | sed 's/aarch64/arm64/' | sed 's/armv7l/armv6/' | sed 's/armv7/armv6/'); url="https://github.com/containrrr/shoutrrr/releases/latest/download/shoutrrr_linux_${arch}.tar.gz"; echo "Downloading $url"; curl -s -L --connect-timeout 5 --max-time 10 --retry 2 --retry-delay 0 --retry-max-time 20 -o /opt/app/shoutrrr.tar.gz "$url"; tar -xzf /opt/app/shoutrrr.tar.gz -C /usr/local/bin/; chmod +x /usr/local/bin/shoutrrr; rm -f /opt/app/shoutrrr.tar.gz # buildkit

2026-05-21 08:30:48 UTC (buildkit.dockerfile.v0)

COPY ./backend/sub-store.bundle.js /opt/app/sub-store.bundle.js # buildkit

2026-05-21 08:30:48 UTC (buildkit.dockerfile.v0)

COPY ./front-end/dist /opt/app/frontend # buildkit

2026-05-21 08:30:48 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c chmod 777 -R /opt/app # buildkit

2026-05-21 08:30:48 UTC (buildkit.dockerfile.v0)

CMD ["/bin/sh" "-c" "mkdir -p /opt/app/data; cd /opt/app/data; SUB_STORE_DOCKER=true SUB_STORE_FRONTEND_PATH=/opt/app/frontend SUB_STORE_DATA_BASE_PATH=/opt/app/data node /opt/app/sub-store.bundle.js"]

Details
Created

2026-05-21 08:30:48 UTC

Size

68.6 MB

Content Digest
Environment
NODE_VERSION

22.16.0

PATH

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

TIME_ZONE

Asia/Shanghai

YARN_VERSION

1.22.22


Layers

[#000] sha256:94e9d8af22013aabf0edcaf42950c88b0a1350c3a9ce076d61b98a535a673dd9 - 5.69% (3.9 MB)

[#001] sha256:a5d8a18896ffda3a5aabb37e88814fffc1aa6ae33155c6c517950588366da615 - 69.77% (47.8 MB)

[#002] sha256:a2585903c98470cc09b43d374aa6e812f78a171500dfcb088e751bf9966a99b1 - 1.93% (1.32 MB)

[#003] sha256:876aa1fada8f1f85c7e4f0521523a2215ad8065dc428ebf1ac9f31b869734874 - 0.0% (445 Bytes)

[#004] sha256:ed6801710fec669780419b5b27703141cb1db261ea135b829662e2d0483a6688 - 0.0% (110 Bytes)

[#005] sha256:c795b24f7fe379e88e5bf1aac94fe9f452f0d37f539c04a3c04657b96f50e3f9 - 9.95% (6.83 MB)

[#006] sha256:6705b12a7206b676c6fcb7160382bc87f87a7f46b33931dddeb506e64cb1037f - 0.0% (471 Bytes)

[#007] sha256:76dcb18fa2f21b62a71da145218250b6f4e5f750f6aaa273844dcaf4f2e9b7ce - 4.64% (3.18 MB)

[#008] sha256:2fe2448254a8bd033df468052f3d5f1f6d7dc3959b0c67dc5f46ffadcf4ed907 - 1.18% (830 KB)

[#009] sha256:cdd5baff616708db7f2d9915b215357a75c3c9b93d77bbac43f4ff8429f94a2a - 2.83% (1.94 MB)

[#010] sha256:5b942208ef110b65de87ab3ba4030638d452e760aee51826d839cbb87ec69302 - 4.01% (2.75 MB)


History
2025-02-14 03:00:07 UTC (buildkit.dockerfile.v0)

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

2025-02-14 03:00:07 UTC (buildkit.dockerfile.v0)

CMD ["/bin/sh"]

2025-05-21 17:04:49 UTC (buildkit.dockerfile.v0)

ENV NODE_VERSION=22.16.0

2025-05-21 17:04:49 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c addgroup -g 1000 node && adduser -u 1000 -G node -s /bin/sh -D node && apk add --no-cache libstdc++ && apk add --no-cache --virtual .build-deps curl && ARCH= OPENSSL_ARCH='linux*' && alpineArch="$(apk --print-arch)" && case "${alpineArch##*-}" in x86_64) ARCH='x64' CHECKSUM="757e2a142474fdae1ab4392d50f3cbb215ca17a9e3c3fa54e5b9a9af27a47c54" OPENSSL_ARCH=linux-x86_64;; x86) OPENSSL_ARCH=linux-elf;; aarch64) OPENSSL_ARCH=linux-aarch64;; arm*) OPENSSL_ARCH=linux-armv4;; ppc64le) OPENSSL_ARCH=linux-ppc64le;; s390x) OPENSSL_ARCH=linux-s390x;; *) ;; esac && if [ -n "${CHECKSUM}" ]; then set -eu; curl -fsSLO --compressed "https://unofficial-builds.nodejs.org/download/release/v$NODE_VERSION/node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz"; echo "$CHECKSUM node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz" | sha256sum -c - && tar -xJf "node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz" -C /usr/local --strip-components=1 --no-same-owner && ln -s /usr/local/bin/node /usr/local/bin/nodejs; else echo "Building from source" && apk add --no-cache --virtual .build-deps-full binutils-gold g++ gcc gnupg libgcc linux-headers make python3 py-setuptools && export GNUPGHOME="$(mktemp -d)" && for key in C0D6248439F1D5604AAFFB4021D900FFDB233756 DD792F5973C6DE52C432CBDAC77ABFA00DDBF2B7 CC68F5A3106FF448322E48ED27F5E38D5B0A215F 8FCCA13FEF1D0C2E91008E09770F7A9A5AE15600 890C08DB8579162FEE0DF9DB8BEAB4DFCF555EF4 C82FA3AE1CBEDC6BE46B9360C43CEC45C17AB93C 108F52B48DB57BB0CC439B2997B01419BD92F80A A363A499291CBBC940DD62E41F10027AF002F8B0 ; do gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys "$key" || gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key" ; done && curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/node-v$NODE_VERSION.tar.xz" && curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/SHASUMS256.txt.asc" && gpg --batch --decrypt --output SHASUMS256.txt SHASUMS256.txt.asc && gpgconf --kill all && rm -rf "$GNUPGHOME" && grep " node-v$NODE_VERSION.tar.xz\$" SHASUMS256.txt | sha256sum -c - && tar -xf "node-v$NODE_VERSION.tar.xz" && cd "node-v$NODE_VERSION" && ./configure && make -j$(getconf _NPROCESSORS_ONLN) V= && make install && apk del .build-deps-full && cd .. && rm -Rf "node-v$NODE_VERSION" && rm "node-v$NODE_VERSION.tar.xz" SHASUMS256.txt.asc SHASUMS256.txt; fi && rm -f "node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz" && find /usr/local/include/node/openssl/archs -mindepth 1 -maxdepth 1 ! -name "$OPENSSL_ARCH" -exec rm -rf {} \; && apk del .build-deps && node --version && npm --version && rm -rf /tmp/* # buildkit

2025-05-21 17:04:49 UTC (buildkit.dockerfile.v0)

ENV YARN_VERSION=1.22.22

2025-05-21 17:04:49 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c apk add --no-cache --virtual .build-deps-yarn curl gnupg tar && export GNUPGHOME="$(mktemp -d)" && for key in 6A010C5166006599AA17F08146C2130DFD2497F5 ; do gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys "$key" || gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key" ; done && curl -fsSLO --compressed "https://yarnpkg.com/downloads/$YARN_VERSION/yarn-v$YARN_VERSION.tar.gz" && curl -fsSLO --compressed "https://yarnpkg.com/downloads/$YARN_VERSION/yarn-v$YARN_VERSION.tar.gz.asc" && gpg --batch --verify yarn-v$YARN_VERSION.tar.gz.asc yarn-v$YARN_VERSION.tar.gz && gpgconf --kill all && rm -rf "$GNUPGHOME" && mkdir -p /opt && tar -xzf yarn-v$YARN_VERSION.tar.gz -C /opt/ && ln -s /opt/yarn-v$YARN_VERSION/bin/yarn /usr/local/bin/yarn && ln -s /opt/yarn-v$YARN_VERSION/bin/yarnpkg /usr/local/bin/yarnpkg && rm yarn-v$YARN_VERSION.tar.gz.asc yarn-v$YARN_VERSION.tar.gz && apk del .build-deps-yarn && yarn --version && rm -rf /tmp/* # buildkit

2025-05-21 17:04:49 UTC (buildkit.dockerfile.v0)

COPY docker-entrypoint.sh /usr/local/bin/ # buildkit

2025-05-21 17:04:49 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["docker-entrypoint.sh"]

2025-05-21 17:04:49 UTC (buildkit.dockerfile.v0)

CMD ["node"]

2026-05-21 08:30:41 UTC (buildkit.dockerfile.v0)

WORKDIR /opt/app

2026-05-21 08:30:45 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c apk add --no-cache curl tzdata git procps # buildkit

2026-05-21 08:30:45 UTC (buildkit.dockerfile.v0)

ENV TIME_ZONE=Asia/Shanghai

2026-05-21 08:30:45 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c cp /usr/share/zoneinfo/$TIME_ZONE /etc/localtime && echo $TIME_ZONE > /etc/timezone # buildkit

2026-05-21 08:30:48 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c arch=$(arch | sed 's/x86_64/amd64/' | sed 's/aarch64/arm64/' | sed 's/armv7l/armv6/' | sed 's/armv7/armv6/'); url="https://github.com/containrrr/shoutrrr/releases/latest/download/shoutrrr_linux_${arch}.tar.gz"; echo "Downloading $url"; curl -s -L --connect-timeout 5 --max-time 10 --retry 2 --retry-delay 0 --retry-max-time 20 -o /opt/app/shoutrrr.tar.gz "$url"; tar -xzf /opt/app/shoutrrr.tar.gz -C /usr/local/bin/; chmod +x /usr/local/bin/shoutrrr; rm -f /opt/app/shoutrrr.tar.gz # buildkit

2026-05-21 08:30:48 UTC (buildkit.dockerfile.v0)

COPY ./backend/sub-store.bundle.js /opt/app/sub-store.bundle.js # buildkit

2026-05-21 08:30:48 UTC (buildkit.dockerfile.v0)

COPY ./front-end/dist /opt/app/frontend # buildkit

2026-05-21 08:30:48 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c chmod 777 -R /opt/app # buildkit

2026-05-21 08:30:48 UTC (buildkit.dockerfile.v0)

CMD ["/bin/sh" "-c" "mkdir -p /opt/app/data; cd /opt/app/data; SUB_STORE_DOCKER=true SUB_STORE_FRONTEND_PATH=/opt/app/frontend SUB_STORE_DATA_BASE_PATH=/opt/app/data node /opt/app/sub-store.bundle.js"]