sha256:f1412f06cc2c0871f0225c93409f1183d691ab2e96648769d21181a335523878
2026-03-26 01:37:38 UTC
1.83 GB
production
NODE_VERSION22.22.1
NPM_CONFIG_PREFIX/app/npm-global
PATH/home/node/.local/bin:/app/npm-global/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PLAYWRIGHT_BROWSERS_PATH/app/.playwright
PUPPETEER_SKIP_DOWNLOADtrue
PYTHONUNBUFFERED1
SKIP_WEB_UI_INSTALLtrue
YARN_VERSION1.22.22
[#000] sha256:9d2f29087bcd6d99efd909a99095549425cd63e27c71b3bf37f108c6b7c370f9 - 2.47% (46.2 MB)
[#001] sha256:26fa3468d221545a43d2151f3977695a31857f9342ba842627d03c9fa1b2ae02 - 1.23% (22.9 MB)
[#002] sha256:6cf051f1897bf7109af670b243c7791c62723fc1ebbfa516af2522da6c8c99a9 - 3.28% (61.4 MB)
[#003] sha256:505954b662451663b30768d461d6881e47bb272f6bc64e4d297f5cf79b9000cb - 10.79% (202 MB)
[#004] sha256:36df624b30314101ebb1bbaaf7348efbc60116f95498b79eb8e0e93415b2685b - 0.0% (3.25 KB)
[#005] sha256:6584fdd17b58d5fc3325b2a92fd22181cecaef9673cd1fc4907c5e26c3af58ce - 2.99% (55.8 MB)
[#006] sha256:579d72f0f24e2cde08b9f5eb566c8eb6a9b2e2de1f10a1307c8276f046487792 - 0.06% (1.19 MB)
[#007] sha256:ea6c6898fc60a203f9d2027bdcbb14c8e5d613f80d90cfe3fde389aa8dee0dcf - 0.0% (445 Bytes)
[#008] sha256:1d03333baf2dbbbccb88d8852ee6454d71a8db1d8538869fff747703faff1d71 - 0.0% (93 Bytes)
[#009] sha256:fbc495f9bd21fa205066bc6f0e20863aff1259a667d9a23245b0217275958467 - 9.49% (177 MB)
[#010] sha256:173c069fbd27c031b509107de5657dfb11f85c725d9be9172ddebe7968955fbb - 0.38% (7.01 MB)
[#011] sha256:1b65ac911dedbdca92e541344f9c299993a67fc5307dae9f248a8a38aaa7aef4 - 30.62% (572 MB)
[#012] sha256:08fcafa5dc8472a3892262d152842fb0a9da4645508cb43249d335e28b9f3736 - 14.15% (264 MB)
[#013] sha256:b2820579ebc4b39ff28f388f48c479cc7339739905eb11ef73ee15fdf49e9931 - 0.0% (1.89 KB)
[#014] sha256:4a279f7d5292c8c02c4838f44d9442aa8aad2b218d3159115c4029e015ac55bb - 0.01% (161 KB)
[#015] sha256:182c98b6590cb35eda38fdcd974e5f1907d67f1d2c88f9a22532c9cac1f29eaf - 0.0% (8.95 KB)
[#016] sha256:260a86f6051c5343cd6567dff34ae6409e0152b1f47e2c0a11df84c3501e13d8 - 9.19% (172 MB)
[#017] sha256:98037867607c110a24e9adcb9790a1bdbd5fb35d7a3f69db4e87c3e70aa40c14 - 14.86% (278 MB)
[#018] sha256:387b5e829fc723201314fd7938ad058e6e0a891990b5fd4560837614333351b3 - 0.04% (824 KB)
[#019] sha256:ed4298d551dd1682a2086c404cca6373fa943689d0a3e9042cff05d42660e526 - 0.2% (3.72 MB)
[#020] sha256:3d7cc418d58e0fd5d761233d47281ed49b5bfb2e05f07fc9fe28086993fb7600 - 0.05% (897 KB)
[#021] sha256:ab6a0b24c461520dfdfb033f0552d9064c6ba5889615738813847836392e5da8 - 0.0% (1.31 KB)
[#022] sha256:cc706bfe1bc1981fe5c19c15ff684db9a69d146c5e6a7ba6e132b34241b9a26d - 0.0% (1.31 KB)
[#023] sha256:0f03f2cf8db3be3894f102c38f4eeb63dabc80b8b6f39e9ba33ecbd7964e1f45 - 0.0% (2.49 KB)
[#024] sha256:fa2826837661530d14b1634bce1c7b43aefd8fd2090835af0d730ae45e4ed09a - 0.2% (3.72 MB)
# debian.sh --arch 'amd64' out/ 'bookworm' '@1773619200'
2026-03-16 22:37:00 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c set -eux; apt-get update; apt-get install -y --no-install-recommends ca-certificates curl gnupg netbase sq wget ; rm -rf /var/lib/apt/lists/* # buildkit
2026-03-16 23:24:47 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c set -eux; apt-get update; apt-get install -y --no-install-recommends git mercurial openssh-client subversion procps ; rm -rf /var/lib/apt/lists/* # buildkit
2026-03-17 00:19:42 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c set -ex; apt-get update; apt-get install -y --no-install-recommends autoconf automake bzip2 default-libmysqlclient-dev dpkg-dev file g++ gcc imagemagick libbz2-dev libc6-dev libcurl4-openssl-dev libdb-dev libevent-dev libffi-dev libgdbm-dev libglib2.0-dev libgmp-dev libjpeg-dev libkrb5-dev liblzma-dev libmagickcore-dev libmagickwand-dev libmaxminddb-dev libncurses5-dev libncursesw5-dev libpng-dev libpq-dev libreadline-dev libsqlite3-dev libssl-dev libtool libwebp-dev libxml2-dev libxslt-dev libyaml-dev make patch unzip xz-utils zlib1g-dev ; rm -rf /var/lib/apt/lists/* # buildkit
2026-03-17 01:44:04 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c groupadd --gid 1000 node && useradd --uid 1000 --gid node --shell /bin/bash --create-home node # buildkit
2026-03-17 01:45:05 UTC (buildkit.dockerfile.v0)ENV NODE_VERSION=22.22.1
2026-03-17 01:45:05 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c ARCH= && dpkgArch="$(dpkg --print-architecture)" && case "${dpkgArch##*-}" in amd64) ARCH='x64';; ppc64el) ARCH='ppc64le';; s390x) ARCH='s390x';; arm64) ARCH='arm64';; armhf) ARCH='armv7l';; i386) ARCH='x86';; *) echo "unsupported architecture"; exit 1 ;; esac && export GNUPGHOME="$(mktemp -d)" && set -ex && for key in 5BE8A3F6C8A5C01D106C0AD820B1A390B168D356 DD792F5973C6DE52C432CBDAC77ABFA00DDBF2B7 CC68F5A3106FF448322E48ED27F5E38D5B0A215F 8FCCA13FEF1D0C2E91008E09770F7A9A5AE15600 890C08DB8579162FEE0DF9DB8BEAB4DFCF555EF4 C82FA3AE1CBEDC6BE46B9360C43CEC45C17AB93C 108F52B48DB57BB0CC439B2997B01419BD92F80A A363A499291CBBC940DD62E41F10027AF002F8B0 ; do { gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys "$key" && gpg --batch --fingerprint "$key"; } || { gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key" && gpg --batch --fingerprint "$key"; } ; done && curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/node-v$NODE_VERSION-linux-$ARCH.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-linux-$ARCH.tar.xz\$" SHASUMS256.txt | sha256sum -c - && tar -xJf "node-v$NODE_VERSION-linux-$ARCH.tar.xz" -C /usr/local --strip-components=1 --no-same-owner && rm "node-v$NODE_VERSION-linux-$ARCH.tar.xz" SHASUMS256.txt.asc SHASUMS256.txt && ln -s /usr/local/bin/node /usr/local/bin/nodejs && node --version && npm --version && rm -rf /tmp/* # buildkit
2026-03-17 01:45:05 UTC (buildkit.dockerfile.v0)ENV YARN_VERSION=1.22.22
2026-03-17 01:45:08 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c set -ex && export GNUPGHOME="$(mktemp -d)" && for key in 6A010C5166006599AA17F08146C2130DFD2497F5 ; do { gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys "$key" && gpg --batch --fingerprint "$key"; } || { gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key" && gpg --batch --fingerprint "$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 && yarn --version && rm -rf /tmp/* # buildkit
2026-03-17 01:45:08 UTC (buildkit.dockerfile.v0)COPY docker-entrypoint.sh /usr/local/bin/ # buildkit
2026-03-17 01:45:08 UTC (buildkit.dockerfile.v0)ENTRYPOINT ["docker-entrypoint.sh"]
2026-03-17 01:45:08 UTC (buildkit.dockerfile.v0)CMD ["node"]
2026-03-17 15:43:58 UTC (buildkit.dockerfile.v0)WORKDIR /app
2026-03-25 17:41:23 UTC (buildkit.dockerfile.v0)ENV PUPPETEER_SKIP_DOWNLOAD=true SKIP_WEB_UI_INSTALL=true PLAYWRIGHT_BROWSERS_PATH=/app/.playwright PYTHONUNBUFFERED=1 NODE_ENV=production NPM_CONFIG_PREFIX=/app/npm-global
2026-03-25 17:41:23 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c sed -i 's/deb.debian.org/mirrors.aliyun.com/g' /etc/apt/sources.list.d/debian.sources && apt-get update && apt-get install -y python3 python3-pip python3-venv make g++ libnspr4 libnss3 libatk1.0-0 libatk-bridge2.0-0 libdbus-1-3 libcups2 libxkbcommon0 libatspi2.0-0 libxcomposite1 libxdamage1 libxfixes3 libxrandr2 libgbm1 libasound2 fonts-wqy-zenhei fonts-wqy-microhei fonts-noto-cjk poppler-utils pandoc curl default-mysql-client && rm -rf /var/lib/apt/lists/* # buildkit
2026-03-25 17:41:27 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c mkdir -p /etc/pip && echo "[global]\nindex-url = https://pypi.tuna.tsinghua.edu.cn/simple\ntrusted-host = pypi.tuna.tsinghua.edu.cn" > /etc/pip/pip.conf && npm config set registry https://registry.npmmirror.com && mkdir -p /app/npm-global && npm install -g firecrawl-cli # buildkit
2026-03-25 18:14:51 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c pip3 install --break-system-packages --timeout 600 --retries 10 pydantic "playwright>=1.49.0" crawl4ai requests httpx aiohttp beautifulsoup4 lxml defusedxml pyyaml pandas numpy pypdf pdfplumber pdf2image Pillow openpyxl python-docx python-pptx yfinance anthropic mcp matplotlib && mkdir -p /app/.playwright-python && PLAYWRIGHT_BROWSERS_PATH=/app/.playwright-python playwright install chromium && chmod -R 755 /app/.playwright-python && mkdir -p /root/.config/matplotlib && echo "font.family: sans-serif" > /root/.config/matplotlib/matplotlibrc && echo "font.sans-serif: WenQuanYi Micro Hei, Noto Sans CJK SC, SimHei, DejaVu Sans" >> /root/.config/matplotlib/matplotlibrc && echo "axes.unicode_minus: False" >> /root/.config/matplotlib/matplotlibrc && python3 -c "import matplotlib.font_manager; matplotlib.font_manager._rebuild()" 2>/dev/null || true # buildkit
2026-03-25 18:14:53 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c mkdir -p /app/data /app/skills /app/config /app/python-venv /app/.playwright /app/.playwright-python /app/data/claude-sdk /app/npm-global && chown -R node:node /app # buildkit
2026-03-25 18:14:53 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c mkdir -p /home/node/.config/matplotlib /home/node/.cache/matplotlib && echo "font.family: sans-serif" > /home/node/.config/matplotlib/matplotlibrc && echo "font.sans-serif: WenQuanYi Micro Hei, Noto Sans CJK SC, SimHei, DejaVu Sans" >> /home/node/.config/matplotlib/matplotlibrc && echo "axes.unicode_minus: False" >> /home/node/.config/matplotlib/matplotlibrc && chown -R node:node /home/node/.config /home/node/.cache && su -s /bin/sh node -c "HOME=/home/node python3 -c \"import matplotlib; matplotlib.use('Agg'); import matplotlib.font_manager as fm; fm._rebuild(); print('Font cache rebuilt for node user')\"" 2>/dev/null || true # buildkit
2026-03-26 01:36:33 UTC (buildkit.dockerfile.v0)COPY --chown=node:node package*.json ./ # buildkit
2026-03-26 01:36:33 UTC (buildkit.dockerfile.v0)COPY --chown=node:node scripts/ scripts/ # buildkit
2026-03-26 01:36:33 UTC (buildkit.dockerfile.v0)USER node
2026-03-26 01:36:57 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c npm ci --legacy-peer-deps --omit=dev # buildkit
2026-03-26 01:37:34 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c for i in 1 2 3 4 5; do npx playwright install chromium && break || { [ "$i" = "5" ] && echo "Playwright install failed after 5 attempts" && exit 1 || (echo "Playwright install failed, retrying in 10s..." && sleep 10); }; done # buildkit
2026-03-26 01:37:34 UTC (buildkit.dockerfile.v0)ENV PATH=/home/node/.local/bin:/app/npm-global/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
2026-03-26 01:37:37 UTC (buildkit.dockerfile.v0)COPY --chown=node:node /app/dist ./dist/ # buildkit
2026-03-26 01:37:37 UTC (buildkit.dockerfile.v0)COPY --chown=node:node skills/ ./skills/ # buildkit
2026-03-26 01:37:37 UTC (buildkit.dockerfile.v0)COPY --chown=node:node plugins/ ./plugins/ # buildkit
2026-03-26 01:37:37 UTC (buildkit.dockerfile.v0)COPY --chown=node:node docker-entrypoint.sh ./docker-entrypoint.sh # buildkit
2026-03-26 01:37:37 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c chmod +x /app/docker-entrypoint.sh # buildkit
2026-03-26 01:37:37 UTC (buildkit.dockerfile.v0)COPY --chown=node:node data/agent-profiles ./data/agent-profiles/ # buildkit
2026-03-26 01:37:38 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c cp -r /app/skills /app/skills-default && cp -r /app/data/agent-profiles /app/agent-profiles-default # buildkit
2026-03-26 01:37:38 UTC (buildkit.dockerfile.v0)EXPOSE [8118/tcp]
2026-03-26 01:37:38 UTC (buildkit.dockerfile.v0)CMD ["bash" "/app/docker-entrypoint.sh"]
sha256:e4485145e113717c688c4f4901099e87235ca452ad42b2ccd4b634fd2928b184
2026-03-26 01:37:12 UTC
1.93 GB
production
NODE_VERSION22.22.1
NPM_CONFIG_PREFIX/app/npm-global
PATH/home/node/.local/bin:/app/npm-global/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PLAYWRIGHT_BROWSERS_PATH/app/.playwright
PUPPETEER_SKIP_DOWNLOADtrue
PYTHONUNBUFFERED1
SKIP_WEB_UI_INSTALLtrue
YARN_VERSION1.22.22
[#000] sha256:2ea98bb5eec9d02a0d7b59638c683db4e1e749f998a317bc731e9506f8480b12 - 2.34% (46.1 MB)
[#001] sha256:efbce225727d69d170353500d8834770da849cbdcea48de37e492fe14ef880d0 - 1.14% (22.5 MB)
[#002] sha256:bda59add442110ab916af1231a98d110e965b9b107829a3f0920d6789fa955d0 - 3.12% (61.5 MB)
[#003] sha256:5a8feb033ce1635588aeb9a2f147293a6c61823ffee25286cf2fe9a0da9e069c - 9.81% (194 MB)
[#004] sha256:fac439a539b31b7cad69a8c21bafcb467b63435e53a7adf319e5c9341c930ada - 0.0% (3.25 KB)
[#005] sha256:130e3ae39ac6e18c4a58100f84e3d218c7e1673cda300f0d58d6d6dd8b9e4b3a - 2.84% (56 MB)
[#006] sha256:daa7b0f47ec6e107be133f59920a5c24ce79ac58d75aecc7741122869dbfd7a8 - 0.06% (1.19 MB)
[#007] sha256:704e2962b5013ce53bc47255ea262245a4cc0397928f682e3372c086f7ab1436 - 0.0% (447 Bytes)
[#008] sha256:7532476e3ff5455433db0c4722b8bb590ee62fd6abef711cd9b17425258d07b0 - 0.0% (93 Bytes)
[#009] sha256:2347ae6103c50f45f58e38587bbf7dd8af9c5244399c0aaace43d0a6720ced7b - 9.68% (191 MB)
[#010] sha256:2d7dbdc15e3b28510e47374f944d48b8b73b5a7d977aa18f466fef95ece0531b - 0.36% (7.01 MB)
[#011] sha256:c98497ae49e5a22b47ac3832abe203799487797d7b57510dfee28d61b83fa987 - 30.59% (604 MB)
[#012] sha256:1b4c8f5f005a1428ac99e0b67b08a49ea93150c87f00e53b3097d413d2d82ae6 - 15.15% (299 MB)
[#013] sha256:92a9054d8646bf12552cbea9d7e4543dbf591c57b9d74b1ef081ff225446392c - 0.0% (1.84 KB)
[#014] sha256:4a279f7d5292c8c02c4838f44d9442aa8aad2b218d3159115c4029e015ac55bb - 0.01% (161 KB)
[#015] sha256:182c98b6590cb35eda38fdcd974e5f1907d67f1d2c88f9a22532c9cac1f29eaf - 0.0% (8.95 KB)
[#016] sha256:125b1bb8acb9f7504be63eb73a700cce014b24511a39add5d94c38742aa2259d - 8.61% (170 MB)
[#017] sha256:2378a489cf6c7f8d5e3bff51970340b5cea91debdeee82206a5d469637d21543 - 15.83% (312 MB)
[#018] sha256:a13c2fd8b96bc15363679b6d5530b7bfdb02405e79f4930329bcbf47f1415068 - 0.04% (824 KB)
[#019] sha256:652c0b5f537af84ce83953ea3f7fb9f7a77f902df123e0e998c108520b732b0c - 0.19% (3.72 MB)
[#020] sha256:d703512f023999baec9986e50539e9d5c5b210dbcb0af0936e1dce7a1b4cb1b5 - 0.04% (897 KB)
[#021] sha256:3955753e9e394c4848922b830abc8cb81aefd70dee9b6bef69464e9c623df5bb - 0.0% (1.31 KB)
[#022] sha256:6deac14bbc42a026ed602920ea8cd99ec68b38dbd7c65f39303228657cd4d280 - 0.0% (1.31 KB)
[#023] sha256:e2abd947552638e04b89ab5697e5cda935dd2413d69955f435fef73965463a6a - 0.0% (2.49 KB)
[#024] sha256:0dc2083ebfc5ffc0a5be9e913d27cf422da9814898a4fe2e8ae3ee7159d9cf88 - 0.19% (3.72 MB)
# debian.sh --arch 'arm64' out/ 'bookworm' '@1773619200'
2026-03-16 22:39:19 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c set -eux; apt-get update; apt-get install -y --no-install-recommends ca-certificates curl gnupg netbase sq wget ; rm -rf /var/lib/apt/lists/* # buildkit
2026-03-16 23:30:03 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c set -eux; apt-get update; apt-get install -y --no-install-recommends git mercurial openssh-client subversion procps ; rm -rf /var/lib/apt/lists/* # buildkit
2026-03-17 00:19:50 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c set -ex; apt-get update; apt-get install -y --no-install-recommends autoconf automake bzip2 default-libmysqlclient-dev dpkg-dev file g++ gcc imagemagick libbz2-dev libc6-dev libcurl4-openssl-dev libdb-dev libevent-dev libffi-dev libgdbm-dev libglib2.0-dev libgmp-dev libjpeg-dev libkrb5-dev liblzma-dev libmagickcore-dev libmagickwand-dev libmaxminddb-dev libncurses5-dev libncursesw5-dev libpng-dev libpq-dev libreadline-dev libsqlite3-dev libssl-dev libtool libwebp-dev libxml2-dev libxslt-dev libyaml-dev make patch unzip xz-utils zlib1g-dev ; rm -rf /var/lib/apt/lists/* # buildkit
2026-03-17 01:46:36 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c groupadd --gid 1000 node && useradd --uid 1000 --gid node --shell /bin/bash --create-home node # buildkit
2026-03-17 01:46:46 UTC (buildkit.dockerfile.v0)ENV NODE_VERSION=22.22.1
2026-03-17 01:46:46 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c ARCH= && dpkgArch="$(dpkg --print-architecture)" && case "${dpkgArch##*-}" in amd64) ARCH='x64';; ppc64el) ARCH='ppc64le';; s390x) ARCH='s390x';; arm64) ARCH='arm64';; armhf) ARCH='armv7l';; i386) ARCH='x86';; *) echo "unsupported architecture"; exit 1 ;; esac && export GNUPGHOME="$(mktemp -d)" && set -ex && for key in 5BE8A3F6C8A5C01D106C0AD820B1A390B168D356 DD792F5973C6DE52C432CBDAC77ABFA00DDBF2B7 CC68F5A3106FF448322E48ED27F5E38D5B0A215F 8FCCA13FEF1D0C2E91008E09770F7A9A5AE15600 890C08DB8579162FEE0DF9DB8BEAB4DFCF555EF4 C82FA3AE1CBEDC6BE46B9360C43CEC45C17AB93C 108F52B48DB57BB0CC439B2997B01419BD92F80A A363A499291CBBC940DD62E41F10027AF002F8B0 ; do { gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys "$key" && gpg --batch --fingerprint "$key"; } || { gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key" && gpg --batch --fingerprint "$key"; } ; done && curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/node-v$NODE_VERSION-linux-$ARCH.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-linux-$ARCH.tar.xz\$" SHASUMS256.txt | sha256sum -c - && tar -xJf "node-v$NODE_VERSION-linux-$ARCH.tar.xz" -C /usr/local --strip-components=1 --no-same-owner && rm "node-v$NODE_VERSION-linux-$ARCH.tar.xz" SHASUMS256.txt.asc SHASUMS256.txt && ln -s /usr/local/bin/node /usr/local/bin/nodejs && node --version && npm --version && rm -rf /tmp/* # buildkit
2026-03-17 01:46:46 UTC (buildkit.dockerfile.v0)ENV YARN_VERSION=1.22.22
2026-03-17 01:46:49 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c set -ex && export GNUPGHOME="$(mktemp -d)" && for key in 6A010C5166006599AA17F08146C2130DFD2497F5 ; do { gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys "$key" && gpg --batch --fingerprint "$key"; } || { gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key" && gpg --batch --fingerprint "$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 && yarn --version && rm -rf /tmp/* # buildkit
2026-03-17 01:46:49 UTC (buildkit.dockerfile.v0)COPY docker-entrypoint.sh /usr/local/bin/ # buildkit
2026-03-17 01:46:49 UTC (buildkit.dockerfile.v0)ENTRYPOINT ["docker-entrypoint.sh"]
2026-03-17 01:46:49 UTC (buildkit.dockerfile.v0)CMD ["node"]
2026-03-17 15:41:18 UTC (buildkit.dockerfile.v0)WORKDIR /app
2026-03-25 17:40:57 UTC (buildkit.dockerfile.v0)ENV PUPPETEER_SKIP_DOWNLOAD=true SKIP_WEB_UI_INSTALL=true PLAYWRIGHT_BROWSERS_PATH=/app/.playwright PYTHONUNBUFFERED=1 NODE_ENV=production NPM_CONFIG_PREFIX=/app/npm-global
2026-03-25 17:40:57 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c sed -i 's/deb.debian.org/mirrors.aliyun.com/g' /etc/apt/sources.list.d/debian.sources && apt-get update && apt-get install -y python3 python3-pip python3-venv make g++ libnspr4 libnss3 libatk1.0-0 libatk-bridge2.0-0 libdbus-1-3 libcups2 libxkbcommon0 libatspi2.0-0 libxcomposite1 libxdamage1 libxfixes3 libxrandr2 libgbm1 libasound2 fonts-wqy-zenhei fonts-wqy-microhei fonts-noto-cjk poppler-utils pandoc curl default-mysql-client && rm -rf /var/lib/apt/lists/* # buildkit
2026-03-25 17:40:59 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c mkdir -p /etc/pip && echo "[global]\nindex-url = https://pypi.tuna.tsinghua.edu.cn/simple\ntrusted-host = pypi.tuna.tsinghua.edu.cn" > /etc/pip/pip.conf && npm config set registry https://registry.npmmirror.com && mkdir -p /app/npm-global && npm install -g firecrawl-cli # buildkit
2026-03-25 18:09:43 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c pip3 install --break-system-packages --timeout 600 --retries 10 pydantic "playwright>=1.49.0" crawl4ai requests httpx aiohttp beautifulsoup4 lxml defusedxml pyyaml pandas numpy pypdf pdfplumber pdf2image Pillow openpyxl python-docx python-pptx yfinance anthropic mcp matplotlib && mkdir -p /app/.playwright-python && PLAYWRIGHT_BROWSERS_PATH=/app/.playwright-python playwright install chromium && chmod -R 755 /app/.playwright-python && mkdir -p /root/.config/matplotlib && echo "font.family: sans-serif" > /root/.config/matplotlib/matplotlibrc && echo "font.sans-serif: WenQuanYi Micro Hei, Noto Sans CJK SC, SimHei, DejaVu Sans" >> /root/.config/matplotlib/matplotlibrc && echo "axes.unicode_minus: False" >> /root/.config/matplotlib/matplotlibrc && python3 -c "import matplotlib.font_manager; matplotlib.font_manager._rebuild()" 2>/dev/null || true # buildkit
2026-03-25 18:09:44 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c mkdir -p /app/data /app/skills /app/config /app/python-venv /app/.playwright /app/.playwright-python /app/data/claude-sdk /app/npm-global && chown -R node:node /app # buildkit
2026-03-25 18:09:45 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c mkdir -p /home/node/.config/matplotlib /home/node/.cache/matplotlib && echo "font.family: sans-serif" > /home/node/.config/matplotlib/matplotlibrc && echo "font.sans-serif: WenQuanYi Micro Hei, Noto Sans CJK SC, SimHei, DejaVu Sans" >> /home/node/.config/matplotlib/matplotlibrc && echo "axes.unicode_minus: False" >> /home/node/.config/matplotlib/matplotlibrc && chown -R node:node /home/node/.config /home/node/.cache && su -s /bin/sh node -c "HOME=/home/node python3 -c \"import matplotlib; matplotlib.use('Agg'); import matplotlib.font_manager as fm; fm._rebuild(); print('Font cache rebuilt for node user')\"" 2>/dev/null || true # buildkit
2026-03-26 01:36:33 UTC (buildkit.dockerfile.v0)COPY --chown=node:node package*.json ./ # buildkit
2026-03-26 01:36:33 UTC (buildkit.dockerfile.v0)COPY --chown=node:node scripts/ scripts/ # buildkit
2026-03-26 01:36:33 UTC (buildkit.dockerfile.v0)USER node
2026-03-26 01:36:48 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c npm ci --legacy-peer-deps --omit=dev # buildkit
2026-03-26 01:37:10 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c for i in 1 2 3 4 5; do npx playwright install chromium && break || { [ "$i" = "5" ] && echo "Playwright install failed after 5 attempts" && exit 1 || (echo "Playwright install failed, retrying in 10s..." && sleep 10); }; done # buildkit
2026-03-26 01:37:10 UTC (buildkit.dockerfile.v0)ENV PATH=/home/node/.local/bin:/app/npm-global/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
2026-03-26 01:37:12 UTC (buildkit.dockerfile.v0)COPY --chown=node:node /app/dist ./dist/ # buildkit
2026-03-26 01:37:12 UTC (buildkit.dockerfile.v0)COPY --chown=node:node skills/ ./skills/ # buildkit
2026-03-26 01:37:12 UTC (buildkit.dockerfile.v0)COPY --chown=node:node plugins/ ./plugins/ # buildkit
2026-03-26 01:37:12 UTC (buildkit.dockerfile.v0)COPY --chown=node:node docker-entrypoint.sh ./docker-entrypoint.sh # buildkit
2026-03-26 01:37:12 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c chmod +x /app/docker-entrypoint.sh # buildkit
2026-03-26 01:37:12 UTC (buildkit.dockerfile.v0)COPY --chown=node:node data/agent-profiles ./data/agent-profiles/ # buildkit
2026-03-26 01:37:12 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c cp -r /app/skills /app/skills-default && cp -r /app/data/agent-profiles /app/agent-profiles-default # buildkit
2026-03-26 01:37:12 UTC (buildkit.dockerfile.v0)EXPOSE [8118/tcp]
2026-03-26 01:37:12 UTC (buildkit.dockerfile.v0)CMD ["bash" "/app/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.