Namespace
agentscope
Image / Tag
qwenpaw:v1.1.6-beta.1
Content Digest
sha256:72c10e7fdbe1b40ae44bfb358954c521a484864109644c7c1e003630be9fa0e0
Details
Created

2026-05-08 12:25:07 UTC

Size

904 MB

Content Digest
Environment
NODE_ENV

production

NODE_VERSION

25.6.0

PATH

/app/venv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

PLAYWRIGHT_CHROMIUM_EXECUTABLE_PATH

/usr/bin/chromium

PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD

1

QWENPAW_BACKUP_DIR

/app/working.backups

QWENPAW_DISABLED_CHANNELS

imessage

QWENPAW_ENABLED_CHANNELS

QWENPAW_PORT

8088

QWENPAW_RUNNING_IN_CONTAINER

1

QWENPAW_SECRET_DIR

/app/working.secret

QWENPAW_WORKING_DIR

/app/working

WORKSPACE_DIR

/app

YARN_VERSION

1.22.22


Layers

[#000] sha256:4831516dd0cb86845f5f902cb9b9d25b5c853152c337eb57e4737a9b7e2a2eb9 - 2.98% (26.9 MB)

[#001] sha256:168b2730f6554ed6bae74c74ebfa8a21e11f97c5814fedc01f23650851ab982a - 0.0% (3.23 KB)

[#002] sha256:1fb63a43f053370e4e126b22983fa1fc828bc834907f39264daa168cefb1d87a - 5.14% (46.5 MB)

[#003] sha256:ba4d2f06291204ddff8e6cc802468b741c07db07bac1e50cc4c56575925057ca - 0.18% (1.63 MB)

[#004] sha256:c0b3bcdde1b9f585c999368dfd987f54dc9c39ea3018aaa02f760814941b4f09 - 0.0% (449 Bytes)

[#005] sha256:193d968c54ab5e615590b133441d2a09c2fb387291ab453b834481db7471491e - 47.1% (426 MB)

[#006] sha256:2d0eebbb842fcbb8eb1c9c506e6d995bdbb92cd36cb51facb5f284b01838e627 - 16.54% (150 MB)

[#007] sha256:56bf3187e1db1d3df86f3f028f82bf1141d64ba21682ab15dd489c8505f87609 - 0.0% (2.27 KB)

[#008] sha256:2ce251a8ea6a4cb37ef2c70c122d0508d69052326eebe68375d52d45d8a7e6c3 - 0.0% (92 Bytes)

[#009] sha256:6e13504eb54572c8bc583a7e77d26bfa39c8be9a3d3f50e1e9804f3c863204ad - 0.74% (6.68 MB)

[#010] sha256:cca3ffb870a344d748b72814e50aff86c56dab8d112b71cdc7f1946b85b1bf29 - 0.0% (14 KB)

[#011] sha256:e439e6cea5db42a96c18e901e953bec1d70c32f969c8943d3fa49bada1c8a3cd - 0.59% (5.32 MB)

[#012] sha256:6833b7f3e32be6084994096ff2ff7e031346b004f3e82b1e88ddcfe4c08938a5 - 0.49% (4.38 MB)

[#013] sha256:120185bb2f1569aa197873bfec5c8badb8e2610a38427d25a50577a9ce6ca641 - 2.56% (23.2 MB)

[#014] sha256:e55be50867fa20a29c17d81249ed50baf7afc5539aeb0300afd91e4949f71072 - 23.68% (214 MB)

[#015] sha256:586f5f7286d4a4947a886e465818db917c6d397f4d59633dc36bbb074794da04 - 0.0% (706 Bytes)

[#016] sha256:d0c387c38dc561395bb75e8f5be58c783363bfc3e3f0f8b28d226cfff0f90802 - 0.0% (526 Bytes)


History
2026-02-02 00:00:00 UTC (debuerreotype 0.17)

# debian.sh --arch 'amd64' out/ 'bookworm' '@1769990400'

2026-02-03 15:21:40 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-02-03 15:21:59 UTC (buildkit.dockerfile.v0)

ENV NODE_VERSION=25.6.0

2026-02-03 15:21:59 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c ARCH= OPENSSL_ARCH= && dpkgArch="$(dpkg --print-architecture)" && case "${dpkgArch##*-}" in amd64) ARCH='x64' OPENSSL_ARCH='linux-x86_64';; ppc64el) ARCH='ppc64le' OPENSSL_ARCH='linux-ppc64le';; s390x) ARCH='s390x' OPENSSL_ARCH='linux*-s390x';; arm64) ARCH='arm64' OPENSSL_ARCH='linux-aarch64';; armhf) ARCH='armv7l' OPENSSL_ARCH='linux-armv4';; i386) ARCH='x86' OPENSSL_ARCH='linux-elf';; *) echo "unsupported architecture"; exit 1 ;; esac && set -ex && apt-get update && apt-get install -y ca-certificates curl wget gnupg dirmngr xz-utils libatomic1 --no-install-recommends && rm -rf /var/lib/apt/lists/* && export GNUPGHOME="$(mktemp -d)" && 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 && find /usr/local/include/node/openssl/archs -mindepth 1 -maxdepth 1 ! -name "$OPENSSL_ARCH" -exec rm -rf {} \; && apt-mark auto '.*' > /dev/null && find /usr/local -type f -executable -exec ldd '{}' ';' | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); print so }' | sort -u | xargs -r dpkg-query --search | cut -d: -f1 | sort -u | xargs -r apt-mark manual && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false && ln -s /usr/local/bin/node /usr/local/bin/nodejs && node --version && npm --version && rm -rf /tmp/* # buildkit

2026-02-03 15:21:59 UTC (buildkit.dockerfile.v0)

ENV YARN_VERSION=1.22.22

2026-02-03 15:22:11 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -ex && savedAptMark="$(apt-mark showmanual)" && apt-get update && apt-get install -y ca-certificates curl wget gnupg dirmngr --no-install-recommends && rm -rf /var/lib/apt/lists/* && 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 && apt-mark auto '.*' > /dev/null && { [ -z "$savedAptMark" ] || apt-mark manual $savedAptMark > /dev/null; } && find /usr/local -type f -executable -exec ldd '{}' ';' | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); print so }' | sort -u | xargs -r dpkg-query --search | cut -d: -f1 | sort -u | xargs -r apt-mark manual && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false && yarn --version && rm -rf /tmp/* # buildkit

2026-02-03 15:22:11 UTC (buildkit.dockerfile.v0)

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

2026-02-03 15:22:11 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["docker-entrypoint.sh"]

2026-02-03 15:22:11 UTC (buildkit.dockerfile.v0)

CMD ["node"]

2026-05-08 12:24:25 UTC (buildkit.dockerfile.v0)

ENV NODE_ENV=production

2026-05-08 12:24:25 UTC (buildkit.dockerfile.v0)

ENV WORKSPACE_DIR=/app

2026-05-08 12:24:25 UTC (buildkit.dockerfile.v0)

ENV QWENPAW_WORKING_DIR=/app/working

2026-05-08 12:24:25 UTC (buildkit.dockerfile.v0)

ENV QWENPAW_SECRET_DIR=/app/working.secret

2026-05-08 12:24:25 UTC (buildkit.dockerfile.v0)

ENV QWENPAW_BACKUP_DIR=/app/working.backups

2026-05-08 12:24:25 UTC (buildkit.dockerfile.v0)

ARG QWENPAW_DISABLED_CHANNELS=imessage

2026-05-08 12:24:25 UTC (buildkit.dockerfile.v0)

ENV QWENPAW_DISABLED_CHANNELS=imessage

2026-05-08 12:24:25 UTC (buildkit.dockerfile.v0)

ARG QWENPAW_ENABLED_CHANNELS=

2026-05-08 12:24:25 UTC (buildkit.dockerfile.v0)

ENV QWENPAW_ENABLED_CHANNELS=

2026-05-08 12:24:25 UTC (buildkit.dockerfile.v0)

ARG DEBIAN_FRONTEND=noninteractive

2026-05-08 12:24:25 UTC (buildkit.dockerfile.v0)

RUN |3 QWENPAW_DISABLED_CHANNELS=imessage QWENPAW_ENABLED_CHANNELS= DEBIAN_FRONTEND=noninteractive /bin/sh -c apt-get update && apt-get install -y --fix-missing curl python3 python3-pip python3-venv build-essential libssl-dev git supervisor vim gettext-base xfce4 xfce4-terminal xvfb dbus-x11 fonts-wqy-zenhei fonts-wqy-microhei && rm -rf /var/lib/apt/lists/* && apt-get clean # buildkit

2026-05-08 12:24:47 UTC (buildkit.dockerfile.v0)

RUN |3 QWENPAW_DISABLED_CHANNELS=imessage QWENPAW_ENABLED_CHANNELS= DEBIAN_FRONTEND=noninteractive /bin/sh -c apt-get update && apt-get install -y --fix-missing chromium chromium-sandbox libx11-xcb1 libxcomposite1 libxdamage1 libxext6 libxfixes3 libxi6 libxtst6 libnss3 libglib2.0-0 libdrm2 libgbm1 libasound2 fonts-liberation libu2f-udev && rm -rf /var/lib/apt/lists/* && apt-get clean # buildkit

2026-05-08 12:24:47 UTC (buildkit.dockerfile.v0)

RUN |3 QWENPAW_DISABLED_CHANNELS=imessage QWENPAW_ENABLED_CHANNELS= DEBIAN_FRONTEND=noninteractive /bin/sh -c sed -i 's/^CHROMIUM_FLAGS=""/CHROMIUM_FLAGS="--no-sandbox"/' /usr/bin/chromium # buildkit

2026-05-08 12:24:47 UTC (buildkit.dockerfile.v0)

ENV PLAYWRIGHT_CHROMIUM_EXECUTABLE_PATH=/usr/bin/chromium

2026-05-08 12:24:47 UTC (buildkit.dockerfile.v0)

ENV PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=1

2026-05-08 12:24:47 UTC (buildkit.dockerfile.v0)

ENV QWENPAW_RUNNING_IN_CONTAINER=1

2026-05-08 12:24:47 UTC (buildkit.dockerfile.v0)

WORKDIR /app

2026-05-08 12:24:51 UTC (buildkit.dockerfile.v0)

RUN |3 QWENPAW_DISABLED_CHANNELS=imessage QWENPAW_ENABLED_CHANNELS= DEBIAN_FRONTEND=noninteractive /bin/sh -c python3 -m venv venv # buildkit

2026-05-08 12:24:51 UTC (buildkit.dockerfile.v0)

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

2026-05-08 12:24:51 UTC (buildkit.dockerfile.v0)

COPY pyproject.toml setup.py README.md ./ # buildkit

2026-05-08 12:24:51 UTC (buildkit.dockerfile.v0)

COPY src ./src # buildkit

2026-05-08 12:24:51 UTC (buildkit.dockerfile.v0)

COPY /app/console/dist/ ./src/qwenpaw/console/ # buildkit

2026-05-08 12:24:51 UTC (buildkit.dockerfile.v0)

COPY /uv /bin/uv # buildkit

2026-05-08 12:25:07 UTC (buildkit.dockerfile.v0)

RUN |3 QWENPAW_DISABLED_CHANNELS=imessage QWENPAW_ENABLED_CHANNELS= DEBIAN_FRONTEND=noninteractive /bin/sh -c uv pip install --no-cache-dir . && rm -rf ./build # buildkit

2026-05-08 12:25:07 UTC (buildkit.dockerfile.v0)

ENV QWENPAW_PORT=8088

2026-05-08 12:25:07 UTC (buildkit.dockerfile.v0)

COPY deploy/config/supervisord.conf.template /etc/supervisor/conf.d/supervisord.conf.template # buildkit

2026-05-08 12:25:07 UTC (buildkit.dockerfile.v0)

COPY --chmod=755 deploy/entrypoint.sh /entrypoint.sh # buildkit

2026-05-08 12:25:07 UTC (buildkit.dockerfile.v0)

EXPOSE [8088/tcp]

2026-05-08 12:25:07 UTC (buildkit.dockerfile.v0)

CMD ["/entrypoint.sh"]

Details
Created

2026-05-08 12:38:02 UTC

Size

873 MB

Content Digest
Environment
NODE_ENV

production

NODE_VERSION

25.6.0

PATH

/app/venv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

PLAYWRIGHT_CHROMIUM_EXECUTABLE_PATH

/usr/bin/chromium

PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD

1

QWENPAW_BACKUP_DIR

/app/working.backups

QWENPAW_DISABLED_CHANNELS

imessage

QWENPAW_ENABLED_CHANNELS

QWENPAW_PORT

8088

QWENPAW_RUNNING_IN_CONTAINER

1

QWENPAW_SECRET_DIR

/app/working.secret

QWENPAW_WORKING_DIR

/app/working

WORKSPACE_DIR

/app

YARN_VERSION

1.22.22


Layers

[#000] sha256:d3d5d8ab26d25b9040a3c2160d7ddfe3911ae81035d5b1b0904f3ebda32476b6 - 3.07% (26.8 MB)

[#001] sha256:5869292a04fa81b093e964e6bc857f748374a7f62ae4efd9bc3bf75f344b59ef - 0.0% (3.24 KB)

[#002] sha256:feee17ec7b61a411d5d246a2db347407360cf838babfac67f32197bf28fe9497 - 5.36% (46.8 MB)

[#003] sha256:3dec5c53228bdf2e8e64fe9ac1d1671e60cf74275a9c143caed37c6c17bec94e - 0.19% (1.63 MB)

[#004] sha256:ab3aab9f46a3ba2d4e1ee236e3a76ac55b8155e5684469000fca6ebc5b3fa598 - 0.0% (451 Bytes)

[#005] sha256:82f9a7b2a1eb3690a83ac3bb1087009bbb1dfdab6006adf077df1e64fe186aac - 45.38% (396 MB)

[#006] sha256:98c9b9b5428505d04ebbf426a01ca532b9cc303f4d4c79352012f6e48d166692 - 17.58% (153 MB)

[#007] sha256:6f7f14eae4a5cb93a4d6be4f83141ff12d0121918ad87861f91d6848b9bef4cc - 0.0% (2.27 KB)

[#008] sha256:06ae54f2b0f53b08b75d98cb02e83caa77163ced072ed9df91b2b5c0ea21fb93 - 0.0% (93 Bytes)

[#009] sha256:86c55fd8cdc6d3a35df22e4c83950a72bcf431bb39ff0cd5950e30f6bc8c42f8 - 0.77% (6.68 MB)

[#010] sha256:b7cca968a16c9f42e3053743ed17cba25c94c6c8d0e329e58310056b43db8418 - 0.0% (14 KB)

[#011] sha256:ad8af60f1379cee54a9378cb325362a5853dad083d13a116f3a78fc763a7b961 - 0.61% (5.32 MB)

[#012] sha256:50a7883b4b45ba89e605d64983c7a675be1ada4aaf36475920f051468bc5bca7 - 0.5% (4.38 MB)

[#013] sha256:65ac7d0270888de5a19410a06e748f38a3ca2817f04b4e87230dbb83f9566a89 - 2.53% (22.1 MB)

[#014] sha256:cff31446718f60e96f62bf6dbb93c4f5a22d283f2e31bb560bdfeffe8bc8f163 - 24.0% (209 MB)

[#015] sha256:d02268c6da72f5e7b18c0beaf6694eec189aebad6943cd677ece767655bf6402 - 0.0% (708 Bytes)

[#016] sha256:d0c387c38dc561395bb75e8f5be58c783363bfc3e3f0f8b28d226cfff0f90802 - 0.0% (526 Bytes)


History
2026-02-02 00:00:00 UTC (debuerreotype 0.17)

# debian.sh --arch 'arm64' out/ 'bookworm' '@1769990400'

2026-02-03 15:21:23 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-02-03 15:21:43 UTC (buildkit.dockerfile.v0)

ENV NODE_VERSION=25.6.0

2026-02-03 15:21:43 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c ARCH= OPENSSL_ARCH= && dpkgArch="$(dpkg --print-architecture)" && case "${dpkgArch##*-}" in amd64) ARCH='x64' OPENSSL_ARCH='linux-x86_64';; ppc64el) ARCH='ppc64le' OPENSSL_ARCH='linux-ppc64le';; s390x) ARCH='s390x' OPENSSL_ARCH='linux*-s390x';; arm64) ARCH='arm64' OPENSSL_ARCH='linux-aarch64';; armhf) ARCH='armv7l' OPENSSL_ARCH='linux-armv4';; i386) ARCH='x86' OPENSSL_ARCH='linux-elf';; *) echo "unsupported architecture"; exit 1 ;; esac && set -ex && apt-get update && apt-get install -y ca-certificates curl wget gnupg dirmngr xz-utils libatomic1 --no-install-recommends && rm -rf /var/lib/apt/lists/* && export GNUPGHOME="$(mktemp -d)" && 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 && find /usr/local/include/node/openssl/archs -mindepth 1 -maxdepth 1 ! -name "$OPENSSL_ARCH" -exec rm -rf {} \; && apt-mark auto '.*' > /dev/null && find /usr/local -type f -executable -exec ldd '{}' ';' | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); print so }' | sort -u | xargs -r dpkg-query --search | cut -d: -f1 | sort -u | xargs -r apt-mark manual && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false && ln -s /usr/local/bin/node /usr/local/bin/nodejs && node --version && npm --version && rm -rf /tmp/* # buildkit

2026-02-03 15:21:43 UTC (buildkit.dockerfile.v0)

ENV YARN_VERSION=1.22.22

2026-02-03 15:21:55 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -ex && savedAptMark="$(apt-mark showmanual)" && apt-get update && apt-get install -y ca-certificates curl wget gnupg dirmngr --no-install-recommends && rm -rf /var/lib/apt/lists/* && 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 && apt-mark auto '.*' > /dev/null && { [ -z "$savedAptMark" ] || apt-mark manual $savedAptMark > /dev/null; } && find /usr/local -type f -executable -exec ldd '{}' ';' | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); print so }' | sort -u | xargs -r dpkg-query --search | cut -d: -f1 | sort -u | xargs -r apt-mark manual && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false && yarn --version && rm -rf /tmp/* # buildkit

2026-02-03 15:21:55 UTC (buildkit.dockerfile.v0)

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

2026-02-03 15:21:55 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["docker-entrypoint.sh"]

2026-02-03 15:21:55 UTC (buildkit.dockerfile.v0)

CMD ["node"]

2026-05-08 12:33:16 UTC (buildkit.dockerfile.v0)

ENV NODE_ENV=production

2026-05-08 12:33:16 UTC (buildkit.dockerfile.v0)

ENV WORKSPACE_DIR=/app

2026-05-08 12:33:16 UTC (buildkit.dockerfile.v0)

ENV QWENPAW_WORKING_DIR=/app/working

2026-05-08 12:33:16 UTC (buildkit.dockerfile.v0)

ENV QWENPAW_SECRET_DIR=/app/working.secret

2026-05-08 12:33:16 UTC (buildkit.dockerfile.v0)

ENV QWENPAW_BACKUP_DIR=/app/working.backups

2026-05-08 12:33:16 UTC (buildkit.dockerfile.v0)

ARG QWENPAW_DISABLED_CHANNELS=imessage

2026-05-08 12:33:16 UTC (buildkit.dockerfile.v0)

ENV QWENPAW_DISABLED_CHANNELS=imessage

2026-05-08 12:33:16 UTC (buildkit.dockerfile.v0)

ARG QWENPAW_ENABLED_CHANNELS=

2026-05-08 12:33:16 UTC (buildkit.dockerfile.v0)

ENV QWENPAW_ENABLED_CHANNELS=

2026-05-08 12:33:16 UTC (buildkit.dockerfile.v0)

ARG DEBIAN_FRONTEND=noninteractive

2026-05-08 12:33:16 UTC (buildkit.dockerfile.v0)

RUN |3 QWENPAW_DISABLED_CHANNELS=imessage QWENPAW_ENABLED_CHANNELS= DEBIAN_FRONTEND=noninteractive /bin/sh -c apt-get update && apt-get install -y --fix-missing curl python3 python3-pip python3-venv build-essential libssl-dev git supervisor vim gettext-base xfce4 xfce4-terminal xvfb dbus-x11 fonts-wqy-zenhei fonts-wqy-microhei && rm -rf /var/lib/apt/lists/* && apt-get clean # buildkit

2026-05-08 12:35:02 UTC (buildkit.dockerfile.v0)

RUN |3 QWENPAW_DISABLED_CHANNELS=imessage QWENPAW_ENABLED_CHANNELS= DEBIAN_FRONTEND=noninteractive /bin/sh -c apt-get update && apt-get install -y --fix-missing chromium chromium-sandbox libx11-xcb1 libxcomposite1 libxdamage1 libxext6 libxfixes3 libxi6 libxtst6 libnss3 libglib2.0-0 libdrm2 libgbm1 libasound2 fonts-liberation libu2f-udev && rm -rf /var/lib/apt/lists/* && apt-get clean # buildkit

2026-05-08 12:35:03 UTC (buildkit.dockerfile.v0)

RUN |3 QWENPAW_DISABLED_CHANNELS=imessage QWENPAW_ENABLED_CHANNELS= DEBIAN_FRONTEND=noninteractive /bin/sh -c sed -i 's/^CHROMIUM_FLAGS=""/CHROMIUM_FLAGS="--no-sandbox"/' /usr/bin/chromium # buildkit

2026-05-08 12:35:03 UTC (buildkit.dockerfile.v0)

ENV PLAYWRIGHT_CHROMIUM_EXECUTABLE_PATH=/usr/bin/chromium

2026-05-08 12:35:03 UTC (buildkit.dockerfile.v0)

ENV PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=1

2026-05-08 12:35:03 UTC (buildkit.dockerfile.v0)

ENV QWENPAW_RUNNING_IN_CONTAINER=1

2026-05-08 12:35:03 UTC (buildkit.dockerfile.v0)

WORKDIR /app

2026-05-08 12:35:27 UTC (buildkit.dockerfile.v0)

RUN |3 QWENPAW_DISABLED_CHANNELS=imessage QWENPAW_ENABLED_CHANNELS= DEBIAN_FRONTEND=noninteractive /bin/sh -c python3 -m venv venv # buildkit

2026-05-08 12:35:27 UTC (buildkit.dockerfile.v0)

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

2026-05-08 12:35:27 UTC (buildkit.dockerfile.v0)

COPY pyproject.toml setup.py README.md ./ # buildkit

2026-05-08 12:35:27 UTC (buildkit.dockerfile.v0)

COPY src ./src # buildkit

2026-05-08 12:36:56 UTC (buildkit.dockerfile.v0)

COPY /app/console/dist/ ./src/qwenpaw/console/ # buildkit

2026-05-08 12:36:56 UTC (buildkit.dockerfile.v0)

COPY /uv /bin/uv # buildkit

2026-05-08 12:38:02 UTC (buildkit.dockerfile.v0)

RUN |3 QWENPAW_DISABLED_CHANNELS=imessage QWENPAW_ENABLED_CHANNELS= DEBIAN_FRONTEND=noninteractive /bin/sh -c uv pip install --no-cache-dir . && rm -rf ./build # buildkit

2026-05-08 12:38:02 UTC (buildkit.dockerfile.v0)

ENV QWENPAW_PORT=8088

2026-05-08 12:38:02 UTC (buildkit.dockerfile.v0)

COPY deploy/config/supervisord.conf.template /etc/supervisor/conf.d/supervisord.conf.template # buildkit

2026-05-08 12:38:02 UTC (buildkit.dockerfile.v0)

COPY --chmod=755 deploy/entrypoint.sh /entrypoint.sh # buildkit

2026-05-08 12:38:02 UTC (buildkit.dockerfile.v0)

EXPOSE [8088/tcp]

2026-05-08 12:38:02 UTC (buildkit.dockerfile.v0)

CMD ["/entrypoint.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