Namespace
langgenius
Image / Tag
dify-web:31a8fd810c4b1fbd132a321a595bb4e31ae28f6a
Content Digest
sha256:d4ea2995cd4ee873476774c68abc18bec581eeb747ef0759372eff36d53bcfed
Details
Created

2026-01-12 04:49:52 UTC

Size

143 MB

Content Digest
Labels
  • maintainer
    takatost@gmail.com
  • org.opencontainers.image.created
    2026-01-12T04:44:33.296Z
  • org.opencontainers.image.description
    Production-ready platform for agentic workflow development.
  • org.opencontainers.image.licenses
    NOASSERTION
  • org.opencontainers.image.revision
    31a8fd810c4b1fbd132a321a595bb4e31ae28f6a
  • org.opencontainers.image.source
    https://github.com/langgenius/dify
  • org.opencontainers.image.title
    dify
  • org.opencontainers.image.url
    https://github.com/langgenius/dify
  • org.opencontainers.image.version
    main

Environment
APP_API_URL

http://127.0.0.1:5001

COMMIT_SHA

31a8fd810c4b1fbd132a321a595bb4e31ae28f6a

CONSOLE_API_URL

http://127.0.0.1:5001

DEPLOY_ENV

PRODUCTION

EDITION

SELF_HOSTED

MARKETPLACE_API_URL

https://marketplace.dify.ai

MARKETPLACE_URL

https://marketplace.dify.ai

NEXT_PUBLIC_BASE_PATH

NEXT_TELEMETRY_DISABLED

1

NODE_ENV

production

NODE_VERSION

22.21.1

PATH

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

PM2_INSTANCES

2

PNPM_HOME

/pnpm

PORT

3000

TZ

UTC

YARN_VERSION

1.22.22


Layers

[#000] sha256:f637881d1138581d892d9eb942c56e0ccc7758fe3bdc0f1e6cd66059fdfd8185 - 2.43% (3.47 MB)

[#001] sha256:de18c5931176dd4dab1a9d4abf6d452de279db356a1f71521ef81600f122e0be - 34.37% (49.2 MB)

[#002] sha256:0c8fa532fea181cae7b7c21c29bff9f7e0c627031e27a4ab671bbbc7c6f98157 - 0.84% (1.2 MB)

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

[#004] sha256:1b6f7d1a97f12b6e187033f6fd174c2666173b1e59946c915101bfb2b115c636 - 0.12% (170 KB)

[#005] sha256:963210e9c1e7dfa0fdd3e303da2522c677d201d0ed83eb6d16338a4d9e63dc4d - 0.04% (56.1 KB)

[#006] sha256:e458ea16b5e2b49f968c82062ed0cf5eb4ed6d7c488d511c85aac51123cd530b - 0.0% (185 Bytes)

[#007] sha256:a2487999b62bd953500efe7ea239c5842595137701f7ff7f2e1ea4cc7c1732e1 - 8.69% (12.4 MB)

[#008] sha256:504760bb43f33c2cce516dd20d3890cee11ef9fbd1f9bdbc50605bf8ab3b2ed1 - 0.0% (992 Bytes)

[#009] sha256:6e3929cac584c5a757671e81f85197a598e853951fd4c218e56e94950f36ab4b - 0.0% (118 Bytes)

[#010] sha256:352c77665d50172272b91ca99b6055dec1a5406129405df80faa3bc4df0719be - 4.97% (7.11 MB)

[#011] sha256:315f30724466e7a9d96fbc636865e247a634fa7f2b7682ffdceaaaa83e4695dc - 41.98% (60.1 MB)

[#012] sha256:e9b7f5e765b391dee7674df4e464d4681248c05b3db191651ebd886e40ad5545 - 6.57% (9.39 MB)

[#013] sha256:a0863c291c3e0b69c66f89f1997536339ee54e239ca9cd40d6224e18d0627721 - 0.0% (900 Bytes)


History
2025-10-08 11:06:42 UTC (buildkit.dockerfile.v0)

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

2025-10-08 11:06:42 UTC (buildkit.dockerfile.v0)

CMD ["/bin/sh"]

2025-10-29 14:16:28 UTC (buildkit.dockerfile.v0)

ENV NODE_VERSION=22.21.1

2025-10-29 14:16:28 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="8c684c3a58f4bb0f1513dd288608e47e16349999f6525843d9ef72d67410b15d" 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 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.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-10-29 14:16:28 UTC (buildkit.dockerfile.v0)

ENV YARN_VERSION=1.22.22

2025-10-29 14:16:31 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 --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 && apk del .build-deps-yarn && yarn --version && rm -rf /tmp/* # buildkit

2025-10-29 14:16:31 UTC (buildkit.dockerfile.v0)

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

2025-10-29 14:16:31 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["docker-entrypoint.sh"]

2025-10-29 14:16:31 UTC (buildkit.dockerfile.v0)

CMD ["node"]

2026-01-12 04:44:50 UTC (buildkit.dockerfile.v0)

LABEL maintainer=takatost@gmail.com

2026-01-12 04:44:50 UTC (buildkit.dockerfile.v0)

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

2026-01-12 04:44:50 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c corepack enable # buildkit

2026-01-12 04:44:50 UTC (buildkit.dockerfile.v0)

ENV PNPM_HOME=/pnpm

2026-01-12 04:44:50 UTC (buildkit.dockerfile.v0)

ENV PATH=/pnpm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

2026-01-12 04:44:50 UTC (buildkit.dockerfile.v0)

ARG NEXT_PUBLIC_BASE_PATH=

2026-01-12 04:44:50 UTC (buildkit.dockerfile.v0)

ENV NEXT_PUBLIC_BASE_PATH=

2026-01-12 04:44:50 UTC (buildkit.dockerfile.v0)

ENV NODE_ENV=production

2026-01-12 04:44:50 UTC (buildkit.dockerfile.v0)

ENV EDITION=SELF_HOSTED

2026-01-12 04:44:50 UTC (buildkit.dockerfile.v0)

ENV DEPLOY_ENV=PRODUCTION

2026-01-12 04:44:50 UTC (buildkit.dockerfile.v0)

ENV CONSOLE_API_URL=http://127.0.0.1:5001

2026-01-12 04:44:50 UTC (buildkit.dockerfile.v0)

ENV APP_API_URL=http://127.0.0.1:5001

2026-01-12 04:44:50 UTC (buildkit.dockerfile.v0)

ENV MARKETPLACE_API_URL=https://marketplace.dify.ai

2026-01-12 04:44:50 UTC (buildkit.dockerfile.v0)

ENV MARKETPLACE_URL=https://marketplace.dify.ai

2026-01-12 04:44:50 UTC (buildkit.dockerfile.v0)

ENV PORT=3000

2026-01-12 04:44:50 UTC (buildkit.dockerfile.v0)

ENV NEXT_TELEMETRY_DISABLED=1

2026-01-12 04:44:50 UTC (buildkit.dockerfile.v0)

ENV PM2_INSTANCES=2

2026-01-12 04:44:50 UTC (buildkit.dockerfile.v0)

ENV TZ=UTC

2026-01-12 04:44:50 UTC (buildkit.dockerfile.v0)

RUN |1 NEXT_PUBLIC_BASE_PATH= /bin/sh -c ln -s /usr/share/zoneinfo/${TZ} /etc/localtime && echo ${TZ} > /etc/timezone # buildkit

2026-01-12 04:44:53 UTC (buildkit.dockerfile.v0)

RUN |1 NEXT_PUBLIC_BASE_PATH= /bin/sh -c pnpm add -g pm2 # buildkit

2026-01-12 04:44:53 UTC (buildkit.dockerfile.v0)

ARG dify_uid=1001

2026-01-12 04:44:54 UTC (buildkit.dockerfile.v0)

RUN |2 NEXT_PUBLIC_BASE_PATH= dify_uid=1001 /bin/sh -c addgroup -S -g ${dify_uid} dify && adduser -S -u ${dify_uid} -G dify -s /bin/ash -h /home/dify dify && mkdir /app && mkdir /.pm2 && chown -R dify:dify /app /.pm2 # buildkit

2026-01-12 04:44:54 UTC (buildkit.dockerfile.v0)

WORKDIR /app/web

2026-01-12 04:49:50 UTC (buildkit.dockerfile.v0)

COPY --chown=dify:dify /app/web/public ./public # buildkit

2026-01-12 04:49:51 UTC (buildkit.dockerfile.v0)

COPY --chown=dify:dify /app/web/.next/standalone ./ # buildkit

2026-01-12 04:49:52 UTC (buildkit.dockerfile.v0)

COPY --chown=dify:dify /app/web/.next/static ./.next/static # buildkit

2026-01-12 04:49:52 UTC (buildkit.dockerfile.v0)

COPY --chown=dify:dify --chmod=755 docker/entrypoint.sh ./entrypoint.sh # buildkit

2026-01-12 04:49:52 UTC (buildkit.dockerfile.v0)

ARG COMMIT_SHA=31a8fd810c4b1fbd132a321a595bb4e31ae28f6a

2026-01-12 04:49:52 UTC (buildkit.dockerfile.v0)

ENV COMMIT_SHA=31a8fd810c4b1fbd132a321a595bb4e31ae28f6a

2026-01-12 04:49:52 UTC (buildkit.dockerfile.v0)

USER dify

2026-01-12 04:49:52 UTC (buildkit.dockerfile.v0)

EXPOSE [3000/tcp]

2026-01-12 04:49:52 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["/bin/sh" "./entrypoint.sh"]

Details
Created

2026-01-12 04:51:00 UTC

Size

143 MB

Content Digest
Labels
  • maintainer
    takatost@gmail.com
  • org.opencontainers.image.created
    2026-01-12T04:44:39.951Z
  • org.opencontainers.image.description
    Production-ready platform for agentic workflow development.
  • org.opencontainers.image.licenses
    NOASSERTION
  • org.opencontainers.image.revision
    31a8fd810c4b1fbd132a321a595bb4e31ae28f6a
  • org.opencontainers.image.source
    https://github.com/langgenius/dify
  • org.opencontainers.image.title
    dify
  • org.opencontainers.image.url
    https://github.com/langgenius/dify
  • org.opencontainers.image.version
    main

Environment
APP_API_URL

http://127.0.0.1:5001

COMMIT_SHA

31a8fd810c4b1fbd132a321a595bb4e31ae28f6a

CONSOLE_API_URL

http://127.0.0.1:5001

DEPLOY_ENV

PRODUCTION

EDITION

SELF_HOSTED

MARKETPLACE_API_URL

https://marketplace.dify.ai

MARKETPLACE_URL

https://marketplace.dify.ai

NEXT_PUBLIC_BASE_PATH

NEXT_TELEMETRY_DISABLED

1

NODE_ENV

production

NODE_VERSION

22.21.1

PATH

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

PM2_INSTANCES

2

PNPM_HOME

/pnpm

PORT

3000

TZ

UTC

YARN_VERSION

1.22.22


Layers

[#000] sha256:c2fe130f4aabc917e559e7eed7d37b0e21ba13b44520101696887ca892e8c63f - 2.65% (3.81 MB)

[#001] sha256:720ee653d3d4ab9240faf8db9c8850c43d3217f97ca9dc893186d13e30541639 - 34.09% (48.9 MB)

[#002] sha256:055ee03d01c9b26903f9931e341e1b040aa108f53446b21db1b20e5654933d06 - 0.84% (1.2 MB)

[#003] sha256:7f3c333e617d658d20b1c377ba29a33d19d39291739b0b25ea7b760813f8a6dd - 0.0% (443 Bytes)

[#004] sha256:eeda92d49436afc00effe320c1a1f7d7019864c48edc1d34f3b9743f331109d6 - 0.12% (170 KB)

[#005] sha256:9182e9a28f9b2160249dfe5806454c7d4f08b98da3e14c06f40d94ba1cdbf543 - 0.04% (56.1 KB)

[#006] sha256:c09436d5659acc3151d4c8e7cbf576bddb6066528df0db92cb91c95a1c00a5b2 - 0.0% (185 Bytes)

[#007] sha256:ce742a2bd23c4c7d81d63783c0909d5b093a5803c125c66c730287758b998ed3 - 8.67% (12.4 MB)

[#008] sha256:c0c3a2716fd585ed171319fcc8db97f3f7ec2e152330bc3dba69a85ffc0d34e4 - 0.0% (993 Bytes)

[#009] sha256:6f529f0eea0d7006a6954fa48fdbd622af0f22367fd6a93f3e94dc511a043b49 - 0.0% (119 Bytes)

[#010] sha256:91ef1b588cedc9a316060edbf40ad030c66aacd06ac53e443e24f35475444cee - 4.96% (7.11 MB)

[#011] sha256:c0a6322176d77ce450a76d5f4843f9987f16a0fd7aab5900b55632a8cbb05f5b - 42.09% (60.4 MB)

[#012] sha256:e7b9272f24779e51bb1eb53731dc08d49f6d26cd3b5f9322a5abae9e2becfb85 - 6.55% (9.39 MB)

[#013] sha256:97fb956e5506229e390e55e309b35df1058cfe9d47ff127f74f823b0011e596a - 0.0% (900 Bytes)


History
2025-10-08 11:06:42 UTC (buildkit.dockerfile.v0)

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

2025-10-08 11:06:42 UTC (buildkit.dockerfile.v0)

CMD ["/bin/sh"]

2025-10-29 14:59:48 UTC (buildkit.dockerfile.v0)

ENV NODE_VERSION=22.21.1

2025-10-29 14:59:48 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="8c684c3a58f4bb0f1513dd288608e47e16349999f6525843d9ef72d67410b15d" 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 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.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-10-29 14:59:48 UTC (buildkit.dockerfile.v0)

ENV YARN_VERSION=1.22.22

2025-10-29 14:59:52 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 --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 && apk del .build-deps-yarn && yarn --version && rm -rf /tmp/* # buildkit

2025-10-29 14:59:52 UTC (buildkit.dockerfile.v0)

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

2025-10-29 14:59:52 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["docker-entrypoint.sh"]

2025-10-29 14:59:52 UTC (buildkit.dockerfile.v0)

CMD ["node"]

2026-01-12 04:44:57 UTC (buildkit.dockerfile.v0)

LABEL maintainer=takatost@gmail.com

2026-01-12 04:44:57 UTC (buildkit.dockerfile.v0)

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

2026-01-12 04:44:57 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c corepack enable # buildkit

2026-01-12 04:44:57 UTC (buildkit.dockerfile.v0)

ENV PNPM_HOME=/pnpm

2026-01-12 04:44:57 UTC (buildkit.dockerfile.v0)

ENV PATH=/pnpm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

2026-01-12 04:44:57 UTC (buildkit.dockerfile.v0)

ARG NEXT_PUBLIC_BASE_PATH=

2026-01-12 04:44:57 UTC (buildkit.dockerfile.v0)

ENV NEXT_PUBLIC_BASE_PATH=

2026-01-12 04:44:57 UTC (buildkit.dockerfile.v0)

ENV NODE_ENV=production

2026-01-12 04:44:57 UTC (buildkit.dockerfile.v0)

ENV EDITION=SELF_HOSTED

2026-01-12 04:44:57 UTC (buildkit.dockerfile.v0)

ENV DEPLOY_ENV=PRODUCTION

2026-01-12 04:44:57 UTC (buildkit.dockerfile.v0)

ENV CONSOLE_API_URL=http://127.0.0.1:5001

2026-01-12 04:44:57 UTC (buildkit.dockerfile.v0)

ENV APP_API_URL=http://127.0.0.1:5001

2026-01-12 04:44:57 UTC (buildkit.dockerfile.v0)

ENV MARKETPLACE_API_URL=https://marketplace.dify.ai

2026-01-12 04:44:57 UTC (buildkit.dockerfile.v0)

ENV MARKETPLACE_URL=https://marketplace.dify.ai

2026-01-12 04:44:57 UTC (buildkit.dockerfile.v0)

ENV PORT=3000

2026-01-12 04:44:57 UTC (buildkit.dockerfile.v0)

ENV NEXT_TELEMETRY_DISABLED=1

2026-01-12 04:44:57 UTC (buildkit.dockerfile.v0)

ENV PM2_INSTANCES=2

2026-01-12 04:44:57 UTC (buildkit.dockerfile.v0)

ENV TZ=UTC

2026-01-12 04:44:57 UTC (buildkit.dockerfile.v0)

RUN |1 NEXT_PUBLIC_BASE_PATH= /bin/sh -c ln -s /usr/share/zoneinfo/${TZ} /etc/localtime && echo ${TZ} > /etc/timezone # buildkit

2026-01-12 04:45:03 UTC (buildkit.dockerfile.v0)

RUN |1 NEXT_PUBLIC_BASE_PATH= /bin/sh -c pnpm add -g pm2 # buildkit

2026-01-12 04:45:03 UTC (buildkit.dockerfile.v0)

ARG dify_uid=1001

2026-01-12 04:45:03 UTC (buildkit.dockerfile.v0)

RUN |2 NEXT_PUBLIC_BASE_PATH= dify_uid=1001 /bin/sh -c addgroup -S -g ${dify_uid} dify && adduser -S -u ${dify_uid} -G dify -s /bin/ash -h /home/dify dify && mkdir /app && mkdir /.pm2 && chown -R dify:dify /app /.pm2 # buildkit

2026-01-12 04:45:03 UTC (buildkit.dockerfile.v0)

WORKDIR /app/web

2026-01-12 04:50:57 UTC (buildkit.dockerfile.v0)

COPY --chown=dify:dify /app/web/public ./public # buildkit

2026-01-12 04:51:00 UTC (buildkit.dockerfile.v0)

COPY --chown=dify:dify /app/web/.next/standalone ./ # buildkit

2026-01-12 04:51:00 UTC (buildkit.dockerfile.v0)

COPY --chown=dify:dify /app/web/.next/static ./.next/static # buildkit

2026-01-12 04:51:00 UTC (buildkit.dockerfile.v0)

COPY --chown=dify:dify --chmod=755 docker/entrypoint.sh ./entrypoint.sh # buildkit

2026-01-12 04:51:00 UTC (buildkit.dockerfile.v0)

ARG COMMIT_SHA=31a8fd810c4b1fbd132a321a595bb4e31ae28f6a

2026-01-12 04:51:00 UTC (buildkit.dockerfile.v0)

ENV COMMIT_SHA=31a8fd810c4b1fbd132a321a595bb4e31ae28f6a

2026-01-12 04:51:00 UTC (buildkit.dockerfile.v0)

USER dify

2026-01-12 04:51:00 UTC (buildkit.dockerfile.v0)

EXPOSE [3000/tcp]

2026-01-12 04:51:00 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["/bin/sh" "./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