2026-10-07 15:09:09 UTC
113 MB
3001
APP_REVISION823e666
ATTACHMENTS_DIR/data/attachments
COREPACK_ENABLE_DOWNLOAD_PROMPT0
INVOICE_ARCHIVE_DIR/data/invoices
NODE_ENVproduction
NODE_VERSION24.21.0
PATH/pnpm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PNPM_HOME/pnpm
WEB_DIST/app/apps/web/dist
YARN_VERSION1.22.22
[#000] sha256:56d14e8ac0f63e3493f7ebeff7526ecd2517aebd1260a98cf7b4af110b542115 - 24.65% (27.8 MB)
[#001] sha256:517d640e32835287653c4b15eb5d9f6bcf48e103baea4f7e29bac937002f649b - 0.0% (3.24 KB)
[#002] sha256:11ffcabe0f772f0f1a9c80b4b290b5ec0de54f11c671f0fa10e5844f9b52d17a - 42.98% (48.5 MB)
[#003] sha256:1a0cf4b1ffc8dd659bb8c6e90471bc8fec24620e4fdb68bb2b6faa56154ae146 - 1.45% (1.63 MB)
[#004] sha256:08489011619dfda982191cb9cc0418dc48ea3b1341588aeef534e4db0ab4d3d0 - 0.0% (447 Bytes)
[#005] sha256:974127bd30e137ce21974d6bae9a4acd18d7edcaba48b09a5b7bbbd2c512a121 - 0.04% (42.7 KB)
[#006] sha256:db0bda269bbb0798f62f385cbf98c47a1d09b960a8a41bcb23425a23d644bb8c - 0.0% (92 Bytes)
[#007] sha256:9451e743f288d3f720b421542596826531169b01f7b515b08a9b64ee0db2f955 - 0.03% (33.9 KB)
[#008] sha256:5289e71cde8b3f63f6e84d929594f8473aecd601a521011b87503477f6a010ce - 0.0% (611 Bytes)
[#009] sha256:f35e3aa96ce859ee7d1614cebf75a83a91afa8b53ea5b562944850b202b61603 - 0.0% (647 Bytes)
[#010] sha256:582bac5df73bf8898da7a53b1e246c10c95cf65e77a24537c52388c02f76ed24 - 0.0% (476 Bytes)
[#011] sha256:8f2ea0822a7493f8507820a97084860f61c4c1b8f6dd4972bcf364db453b5a21 - 0.0% (367 Bytes)
[#012] sha256:ab57e0f8dbf719a5acc8de6379992e21b6114a8b9fd45f46ab9e70a37ccfa9fa - 0.0% (339 Bytes)
[#013] sha256:a44090be12293cc8ae62e098cfbcd002ddf30a18e273ca4e3f00f3adea552030 - 30.12% (34 MB)
[#014] sha256:5394a1a454d40ac1a9e94d4fd6691c3240fcc05ea633506dd048d465ddb50652 - 0.0% (367 Bytes)
[#015] sha256:873df57f5589e925994a2d1ff966c0725256a24c1cf7fa8c1617a030b0d9e005 - 0.04% (42.7 KB)
[#016] sha256:3d4d5b794ceb3abe3f654a3c03e125659fdb3c891c20bf4201d71c197b8ff1b6 - 0.15% (168 KB)
[#017] sha256:d405020f00e3bb37653719bf4adaba848dace0683ba77fa8e71c12b2477d84ac - 0.56% (642 KB)
[#018] sha256:52cd098e1ca684ab7c2c8cf14bb66aaf8fd50b38eff5b091f431147d319e196d - 0.0% (157 Bytes)
[#019] sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 - 0.0% (32 Bytes)
# debian.sh --arch 'amd64' out/ 'bookworm' '@1791158400'
2026-10-06 01:44:59 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-10-06 01:45:19 UTC (buildkit.dockerfile.v0)ENV NODE_VERSION=24.21.0
2026-10-06 01:45:19 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';; arm64) ARCH='arm64' OPENSSL_ARCH='linux-aarch64';; *) 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 890C08DB8579162FEE0DF9DB8BEAB4DFCF555EF4 C82FA3AE1CBEDC6BE46B9360C43CEC45C17AB93C 108F52B48DB57BB0CC439B2997B01419BD92F80A 655F3B5C1FB3FA8D1A0CA6BDE4A7D232B936D2FD 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-10-06 01:45:19 UTC (buildkit.dockerfile.v0)ENV YARN_VERSION=1.22.22
2026-10-06 01:45:32 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-10-06 01:45:32 UTC (buildkit.dockerfile.v0)COPY docker-entrypoint.sh /usr/local/bin/ # buildkit
2026-10-06 01:45:32 UTC (buildkit.dockerfile.v0)ENTRYPOINT ["docker-entrypoint.sh"]
2026-10-06 01:45:32 UTC (buildkit.dockerfile.v0)CMD ["node"]
2026-10-07 15:08:52 UTC (buildkit.dockerfile.v0)ENV PNPM_HOME=/pnpm PATH=/pnpm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin COREPACK_ENABLE_DOWNLOAD_PROMPT=0
2026-10-07 15:08:52 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c corepack enable pnpm # buildkit
2026-10-07 15:08:52 UTC (buildkit.dockerfile.v0)WORKDIR /app
2026-10-07 15:08:52 UTC (buildkit.dockerfile.v0)ARG REVISION=823e666
2026-10-07 15:08:52 UTC (buildkit.dockerfile.v0)LABEL org.opencontainers.image.revision=823e666 org.opencontainers.image.title=uKnow 2
2026-10-07 15:08:52 UTC (buildkit.dockerfile.v0)ENV NODE_ENV=production APP_REVISION=823e666 APP_PORT=3001 WEB_DIST=/app/apps/web/dist INVOICE_ARCHIVE_DIR=/data/invoices ATTACHMENTS_DIR=/data/attachments
2026-10-07 15:08:53 UTC (buildkit.dockerfile.v0)COPY package.json pnpm-lock.yaml pnpm-workspace.yaml ./ # buildkit
2026-10-07 15:08:53 UTC (buildkit.dockerfile.v0)COPY apps/server/package.json apps/server/ # buildkit
2026-10-07 15:08:53 UTC (buildkit.dockerfile.v0)COPY apps/web/package.json apps/web/ # buildkit
2026-10-07 15:08:53 UTC (buildkit.dockerfile.v0)COPY packages/db/package.json packages/db/ # buildkit
2026-10-07 15:08:54 UTC (buildkit.dockerfile.v0)COPY packages/domain/package.json packages/domain/ # buildkit
2026-10-07 15:08:54 UTC (buildkit.dockerfile.v0)COPY packages/shared/package.json packages/shared/ # buildkit
2026-10-07 15:09:03 UTC (buildkit.dockerfile.v0)RUN |1 REVISION=823e666 /bin/sh -c pnpm install --frozen-lockfile --prod --filter "@uknow/server..." # buildkit
2026-10-07 15:09:03 UTC (buildkit.dockerfile.v0)COPY tsconfig.base.json ./ # buildkit
2026-10-07 15:09:03 UTC (buildkit.dockerfile.v0)COPY packages packages # buildkit
2026-10-07 15:09:04 UTC (buildkit.dockerfile.v0)COPY apps/server apps/server # buildkit
2026-10-07 15:09:08 UTC (buildkit.dockerfile.v0)COPY /app/apps/web/dist apps/web/dist # buildkit
2026-10-07 15:09:09 UTC (buildkit.dockerfile.v0)RUN |1 REVISION=823e666 /bin/sh -c mkdir -p /data/invoices /data/attachments && chown node:node /data/invoices /data/attachments # buildkit
2026-10-07 15:09:09 UTC (buildkit.dockerfile.v0)USER node
2026-10-07 15:09:09 UTC (buildkit.dockerfile.v0)WORKDIR /app/apps/server
2026-10-07 15:09:09 UTC (buildkit.dockerfile.v0)EXPOSE [3001/tcp]
2026-10-07 15:09:09 UTC (buildkit.dockerfile.v0)HEALTHCHECK &{["CMD-SHELL" "node -e \"fetch('http://127.0.0.1:3001/api/health').then(r => process.exit(r.ok ? 0 : 1)).catch(() => process.exit(1))\""] "30s" "5s" "20s" "0s" '\x00'}
2026-10-07 15:09:09 UTC (buildkit.dockerfile.v0)CMD ["node" "--import" "tsx" "src/index.ts"]