Namespace
moonrailgun
Image / Tag
tianji:1.24.17
Content Digest
sha256:4a77b05b640e662b1a0b96d83bd5686f90a73292bf61eec0c4ce3a58eabb3e7d
Details
Created

2025-08-18 17:19:54 UTC

Size

757 MB

Content Digest
Labels
  • org.opencontainers.image.created
    2025-08-18T17:15:09.023Z
  • org.opencontainers.image.description
    Tianji: Insight into everything, Website Analytics + Uptime Monitor + Server Status. not only another GA alternatives
  • org.opencontainers.image.licenses
    Apache-2.0
  • org.opencontainers.image.revision
    b18d5c9af0db5c2ad481e95ad3ea6c6c14d3a429
  • org.opencontainers.image.source
    https://github.com/msgbyte/tianji
  • org.opencontainers.image.title
    tianji
  • org.opencontainers.image.url
    https://github.com/msgbyte/tianji
  • org.opencontainers.image.version
    1.24.17

Environment
NODE_VERSION

22.14.0

PATH

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

PUPPETEER_EXECUTABLE_PATH

/usr/bin/chromium-browser

PUPPETEER_SKIP_CHROMIUM_DOWNLOAD

true

PUPPETEER_SKIP_DOWNLOAD

true

YARN_VERSION

1.22.22


Layers

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

[#001] sha256:d764c248fa50947de02ddfaaa07099ef5b48a2f0266440f5df5ceab6a3139881 - 6.35% (48.1 MB)

[#002] sha256:df3c7e414ddbc690ef94528cb886f86ecb4b25a6a846f3613dc87858f5d86fa0 - 0.17% (1.32 MB)

[#003] sha256:efb53238908e98aee5da16d697a5e90629bbc09653264f13dd469c04787661d0 - 0.0% (446 Bytes)

[#004] sha256:bb6bc3f4bcddd557aeb4c760962813bc1f2637cf75e6ef0a427d5ab8a4bfd8dc - 1.28% (9.69 MB)

[#005] sha256:a07e21a2d733a1fcb550be861570680d12476b923a9db5c7119f81645c8b6e88 - 12.42% (94.1 MB)

[#006] sha256:c6143f179680c213c945ba0e0c41ffe1644095181a11faae40f2605155c79fdf - 35.88% (272 MB)

[#007] sha256:08b2840fd986c7cca03af00b2b9e68be85557d3c768b0efb4cd59fd9783a64a5 - 2.76% (20.9 MB)

[#008] sha256:910e6ee3eb0648e98ed6c03289acb58ee5f6b0a977ae5e457d7c8915345ac0ab - 0.0% (114 Bytes)

[#009] sha256:68e4a2bf6e1050d1e28fef4c92b2d2a65960bf95bf9a42927891ccf0adb30a3d - 0.65% (4.96 MB)

[#010] sha256:7b15d5c35b89f7331a5c6b30fb3ea80dc44bcc955eb28f14c5fdf05a729f8dd2 - 32.3% (245 MB)

[#011] sha256:edaf4e051c3c20c49d48326fdfd274d98fe5c3c514ea7f9f5234cf4df14f0c86 - 0.0% (177 Bytes)

[#012] sha256:1d5c71346deca5a5ea2bec7baae73397e5d20f664ca678e0788eb9397f79c58e - 3.82% (28.9 MB)

[#013] sha256:1ee3cf6c3e03c357a100ff31aeb21f7b8ef3913575c998eeb6ad4ebe72d4c25c - 0.33% (2.48 MB)

[#014] sha256:d6534a5894e5c587f70b3c53b7114bd9fe9bd9b6046bb9d6ccadfcc8d2195df5 - 0.79% (5.96 MB)

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

[#016] sha256:3cb65a224695bbc3ff8f6558d00cdf2eeb94e73571d809b5eb22a6a66cac10a6 - 0.1% (786 KB)

[#017] sha256:eba68e3dfd576d69c157506c64ccc701307f236129b7bd3571111ef36a14b3f6 - 2.7% (20.4 MB)

[#018] sha256:2328e4feb0186a847d4f516bf38d471a626419020d00f6a1f6104292c74afced - 0.0% (431 Bytes)

[#019] sha256:cd841b8547fb288dfb0c4ac2bbc6929188a96b6be3109cd21ae5442723921205 - 0.0% (426 Bytes)

[#020] sha256:41762b6fc8b85c805e63b2eedef98fc9f0c3c98080c02943ecff87a36c38d2c6 - 0.0% (171 Bytes)

[#021] sha256:ed86cf95e97db5db7cb831062075dfcf4f9a1d4a3c5d4f20e7ea71e7fe0e1074 - 0.0% (155 Bytes)

[#022] sha256:c074fc8b61b456811de0f0be7b578e236d76b1b281800e080ac359cefd5a4a84 - 0.0% (156 Bytes)


History
2025-02-13 05:05:05 UTC (buildkit.dockerfile.v0)

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

2025-02-13 05:05:05 UTC (buildkit.dockerfile.v0)

CMD ["/bin/sh"]

2025-02-13 05:05:05 UTC (buildkit.dockerfile.v0)

ENV NODE_VERSION=22.14.0

2025-02-13 05:05:05 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="87f163387ac85df69df6eeb863a6b6a1aa789b49cda1c495871c0fe360634db3" 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 # buildkit

2025-02-13 05:05:05 UTC (buildkit.dockerfile.v0)

ENV YARN_VERSION=1.22.22

2025-02-13 05:05:05 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-02-13 05:05:05 UTC (buildkit.dockerfile.v0)

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

2025-02-13 05:05:05 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["docker-entrypoint.sh"]

2025-02-13 05:05:05 UTC (buildkit.dockerfile.v0)

CMD ["node"]

2025-08-18 17:15:29 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c npm install -g pnpm@9.7.1 # buildkit

2025-08-18 17:15:35 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c apk add --update --no-cache python3 py3-pip g++ make # buildkit

2025-08-18 17:15:46 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c apk upgrade --no-cache --available && apk add --no-cache chromium-swiftshader ttf-freefont font-noto-emoji && apk add --no-cache --repository=https://dl-cdn.alpinelinux.org/alpine/edge/community font-wqy-zenhei # buildkit

2025-08-18 17:15:48 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c apk add --update --no-cache curl cmake # buildkit

2025-08-18 17:15:48 UTC (buildkit.dockerfile.v0)

WORKDIR /app/tianji

2025-08-18 17:15:48 UTC (buildkit.dockerfile.v0)

ENV PUPPETEER_SKIP_DOWNLOAD=true

2025-08-18 17:15:48 UTC (buildkit.dockerfile.v0)

ENV PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true

2025-08-18 17:15:48 UTC (buildkit.dockerfile.v0)

ENV PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium-browser

2025-08-18 17:15:48 UTC (buildkit.dockerfile.v0)

COPY . . # buildkit

2025-08-18 17:17:00 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c pnpm install --filter @tianji/server... --config.dedupe-peer-dependents=false # buildkit

2025-08-18 17:17:01 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c mkdir -p ./src/server/public # buildkit

2025-08-18 17:19:03 UTC (buildkit.dockerfile.v0)

COPY /app/tianji/geo /app/tianji/geo # buildkit

2025-08-18 17:19:03 UTC (buildkit.dockerfile.v0)

COPY /app/tianji/src/server/public /app/tianji/src/server/public # buildkit

2025-08-18 17:19:03 UTC (buildkit.dockerfile.v0)

COPY /app/reporter/tianji-reporter /usr/local/bin/tianji-reporter # buildkit

2025-08-18 17:19:03 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c chmod +x /usr/local/bin/tianji-reporter # buildkit

2025-08-18 17:19:43 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c pnpm build:server # buildkit

2025-08-18 17:19:53 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c pip install apprise cryptography --break-system-packages # buildkit

2025-08-18 17:19:53 UTC (buildkit.dockerfile.v0)

COPY ./scripts/start-tianji-container.sh /usr/local/bin/start-tianji-container.sh # buildkit

2025-08-18 17:19:53 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c chmod +x /usr/local/bin/start-tianji-container.sh # buildkit

2025-08-18 17:19:54 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c rm -rf ./src/client # buildkit

2025-08-18 17:19:54 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c rm -rf ./website # buildkit

2025-08-18 17:19:54 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c rm -rf ./reporter # buildkit

2025-08-18 17:19:54 UTC (buildkit.dockerfile.v0)

EXPOSE map[12345/tcp:{}]

2025-08-18 17:19:54 UTC (buildkit.dockerfile.v0)

CMD ["/usr/local/bin/start-tianji-container.sh"]

Details
Created

2025-08-18 17:35:04 UTC

Size

737 MB

Content Digest
Labels
  • org.opencontainers.image.created
    2025-08-18T17:15:09.023Z
  • org.opencontainers.image.description
    Tianji: Insight into everything, Website Analytics + Uptime Monitor + Server Status. not only another GA alternatives
  • org.opencontainers.image.licenses
    Apache-2.0
  • org.opencontainers.image.revision
    b18d5c9af0db5c2ad481e95ad3ea6c6c14d3a429
  • org.opencontainers.image.source
    https://github.com/msgbyte/tianji
  • org.opencontainers.image.title
    tianji
  • org.opencontainers.image.url
    https://github.com/msgbyte/tianji
  • org.opencontainers.image.version
    1.24.17

Environment
NODE_VERSION

22.14.0

PATH

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

PUPPETEER_EXECUTABLE_PATH

/usr/bin/chromium-browser

PUPPETEER_SKIP_CHROMIUM_DOWNLOAD

true

PUPPETEER_SKIP_DOWNLOAD

true

YARN_VERSION

1.22.22


Layers

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

[#001] sha256:59f0354ac2fbd044acf845f53ffc8738586c44d0c88930fc22eb8311faf74692 - 6.41% (47.3 MB)

[#002] sha256:c24d617f178bb8a945bd73005bbc4d83651d0691b87cc0bd95120f961440772d - 0.18% (1.32 MB)

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

[#004] sha256:0c4a26db511c52ea332de8ca29ebab717fe78ca7555a1429864ae56b9a5cf4af - 1.32% (9.69 MB)

[#005] sha256:3669ec1ed2d8b863914a708e011db189887492e155bf2b4229fd0ca9685a0c7b - 12.28% (90.5 MB)

[#006] sha256:712734208c507177765a896f59732f3a07205fcff99ccc8d5904d24503cf643d - 37.02% (273 MB)

[#007] sha256:7c5c2ca989e22b77a86f2b9ae6790ba7caf253ff56c95d08f49708aa3312a960 - 2.63% (19.4 MB)

[#008] sha256:0e024dc42317b0b809d84c90fb905784c1e39b36f39d815d7f092cde667c2be5 - 0.0% (114 Bytes)

[#009] sha256:2cbe27175f45aa5eee6f0fdd828f14ecb272cb4c4126e8b52134dddd246a078f - 0.67% (4.96 MB)

[#010] sha256:6cb8e9e766697c0df23ea81db1c5e85c3344c163ec33f723a19fff023226024a - 31.13% (229 MB)

[#011] sha256:acb2c4a0d2442a5b358ea8e8287439faed07c91aad027acfce2c5ac8ab288718 - 0.0% (179 Bytes)

[#012] sha256:b3f81d9f4316a0839f3813543b1a223dd90bbea591daafa8285385bff7faec22 - 3.92% (28.9 MB)

[#013] sha256:d638ca34cc607e83d2cc878b80febde027e2689104e94947ce4e47fcf12aff95 - 0.34% (2.48 MB)

[#014] sha256:77c9608700fc224d77342912cfdd166856949ee90e26ac1d80361d6b2ecc0ec4 - 0.76% (5.59 MB)

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

[#016] sha256:ade95aad3ca021b3ee9614c4bd3fe02588c8992d3b2be9ede7a8149158fa5aac - 0.1% (786 KB)

[#017] sha256:0e3ad1b969ebaa43aafcdcf91f8b2d01def018fd9b9510d0f17a48320df37eea - 2.71% (20 MB)

[#018] sha256:40614796397abcb077eb845666b06171b1b42b0640f784d9ef223602e00ed4c8 - 0.0% (428 Bytes)

[#019] sha256:22ccc0273a2a46bbb00da631fe30cd0e5f08929935d0903f0a10d71688bfc3ce - 0.0% (423 Bytes)

[#020] sha256:cb5dc77245dd43082207e6cf60a9774cce2011b130e70f70feab599f98320979 - 0.0% (171 Bytes)

[#021] sha256:8181fd5e64da019338b7e37392bbc0b1f4c4fe7a9b0f0d5f8e61b97b0f4fecb4 - 0.0% (153 Bytes)

[#022] sha256:15e366ce540bdaaee1b075ec3de05ca91f7a5ce7ef40f68cebbf550dc48d52c0 - 0.0% (153 Bytes)


History
2025-02-13 05:05:05 UTC (buildkit.dockerfile.v0)

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

2025-02-13 05:05:05 UTC (buildkit.dockerfile.v0)

CMD ["/bin/sh"]

2025-02-13 05:05:05 UTC (buildkit.dockerfile.v0)

ENV NODE_VERSION=22.14.0

2025-02-13 05:05:05 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="87f163387ac85df69df6eeb863a6b6a1aa789b49cda1c495871c0fe360634db3" 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 # buildkit

2025-02-13 05:05:05 UTC (buildkit.dockerfile.v0)

ENV YARN_VERSION=1.22.22

2025-02-13 05:05:05 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-02-13 05:05:05 UTC (buildkit.dockerfile.v0)

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

2025-02-13 05:05:05 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["docker-entrypoint.sh"]

2025-02-13 05:05:05 UTC (buildkit.dockerfile.v0)

CMD ["node"]

2025-08-18 17:15:44 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c npm install -g pnpm@9.7.1 # buildkit

2025-08-18 17:16:05 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c apk add --update --no-cache python3 py3-pip g++ make # buildkit

2025-08-18 17:17:10 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c apk upgrade --no-cache --available && apk add --no-cache chromium-swiftshader ttf-freefont font-noto-emoji && apk add --no-cache --repository=https://dl-cdn.alpinelinux.org/alpine/edge/community font-wqy-zenhei # buildkit

2025-08-18 17:17:19 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c apk add --update --no-cache curl cmake # buildkit

2025-08-18 17:17:19 UTC (buildkit.dockerfile.v0)

WORKDIR /app/tianji

2025-08-18 17:17:19 UTC (buildkit.dockerfile.v0)

ENV PUPPETEER_SKIP_DOWNLOAD=true

2025-08-18 17:17:19 UTC (buildkit.dockerfile.v0)

ENV PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true

2025-08-18 17:17:19 UTC (buildkit.dockerfile.v0)

ENV PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium-browser

2025-08-18 17:17:19 UTC (buildkit.dockerfile.v0)

COPY . . # buildkit

2025-08-18 17:25:30 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c pnpm install --filter @tianji/server... --config.dedupe-peer-dependents=false # buildkit

2025-08-18 17:25:31 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c mkdir -p ./src/server/public # buildkit

2025-08-18 17:31:51 UTC (buildkit.dockerfile.v0)

COPY /app/tianji/geo /app/tianji/geo # buildkit

2025-08-18 17:31:51 UTC (buildkit.dockerfile.v0)

COPY /app/tianji/src/server/public /app/tianji/src/server/public # buildkit

2025-08-18 17:31:51 UTC (buildkit.dockerfile.v0)

COPY /app/reporter/tianji-reporter /usr/local/bin/tianji-reporter # buildkit

2025-08-18 17:31:51 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c chmod +x /usr/local/bin/tianji-reporter # buildkit

2025-08-18 17:34:20 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c pnpm build:server # buildkit

2025-08-18 17:35:03 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c pip install apprise cryptography --break-system-packages # buildkit

2025-08-18 17:35:03 UTC (buildkit.dockerfile.v0)

COPY ./scripts/start-tianji-container.sh /usr/local/bin/start-tianji-container.sh # buildkit

2025-08-18 17:35:03 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c chmod +x /usr/local/bin/start-tianji-container.sh # buildkit

2025-08-18 17:35:03 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c rm -rf ./src/client # buildkit

2025-08-18 17:35:04 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c rm -rf ./website # buildkit

2025-08-18 17:35:04 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c rm -rf ./reporter # buildkit

2025-08-18 17:35:04 UTC (buildkit.dockerfile.v0)

EXPOSE map[12345/tcp:{}]

2025-08-18 17:35:04 UTC (buildkit.dockerfile.v0)

CMD ["/usr/local/bin/start-tianji-container.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