Namespace
appsmith
Image / Tag
appsmith-ee:600d7ab327d037e8e5f1041fb79154371b54b5db
Content Digest
sha256:b5961e9d719751733d7438dc0a7bc49db2bc6fcc395f002fd66dd568b5d1a10b
Details
Created

2026-09-16 22:52:57 UTC

Size

1.89 GB

Content Digest
Labels
  • com.centurylinklabs.watchtower.lifecycle.pre-check
    /watchtower-hooks/pre-check.sh
  • com.centurylinklabs.watchtower.lifecycle.pre-update
    /watchtower-hooks/pre-update.sh
  • maintainer
    tech@appsmith.com
  • org.opencontainers.image.version
    24.04

Environment
APPSMITH_AIRGAP_ENABLED

false

APPSMITH_BETTERBUGS_API_KEY

APPSMITH_CLOUD_SERVICES_BASE_URL

APPSMITH_PYLON_APP_ID

APPSMITH_SEGMENT_CE_KEY

AGuvNK0MfQgtxwBMCia7fRNxTjfoBRec

KEYGEN_LICENSE_VERIFICATION_KEY

LANG

C.UTF-8

LC_ALL

C.UTF-8

NSS_WRAPPER_GROUP

/tmp/appsmith/group

NSS_WRAPPER_PASSWD

/tmp/appsmith/passwd

NSS_WRAPPER_SYMLINK

/usr/local/lib/libnss_wrapper.so

PATH

/opt/bin:/opt/java/bin:/opt/node/bin:/usr/lib/postgresql/14/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

TMP

/tmp/appsmith

WWW_PATH

/tmp/appsmith/www


Layers

[#000] sha256:edd1ed89f0d443580bd42e5a10cd8736aba5a3438b2a0645c2ebb50119bb0eba - 1.47% (28.4 MB)

[#001] sha256:dc19d749d86bd3e8bfb9bbf31e3667d39fc58b46f89465c89dc2d1a5fd2a356b - 0.0% (124 Bytes)

[#002] sha256:e64c749425af1a0b9dde8b714afa82de8d686da10f1f1122f94cb9a40943a27f - 16.4% (317 MB)

[#003] sha256:399a18290fe40433e866434aa6cb79b29fe75fdaf49eb9cdf02dc71dd4d6aa39 - 0.36% (6.99 MB)

[#004] sha256:9bb8628cbf7acd72ac7a9ce8203689617e7c2cc245ccd915b47f0c4d3479c793 - 0.14% (2.77 MB)

[#005] sha256:9a0c42e9a87f712187fef27967efa8a0f3f525d5abe03b5a3f70f53ff6e88bcc - 3.74% (72.3 MB)

[#006] sha256:a253f739800d7c24c3962935386bacd8b1e35dbdc64a7ccc0998681345652941 - 7.25% (140 MB)

[#007] sha256:02d33016f3def12a54005fa09d99efcd511e02e2e202456f5ede60ab01a2362c - 3.09% (59.7 MB)

[#008] sha256:b017c919e6a82b9daf62d3e4eb7290de106c1bc3ab70b637e0493daa1ae51d95 - 0.0% (122 Bytes)

[#009] sha256:cf555fe1ec3ce10bbb9fcf75c3d32cb9812d5017adafd09c0b6ae82213ec3d4d - 0.88% (17 MB)

[#010] sha256:6c6aef419262e20cd81ac1324870519fdd5a43efa126ef196d5b69ab79fc9ce2 - 8.9% (172 MB)

[#011] sha256:e53b878aeb65273c1834ca25240f2831dcf261f1cdbf0f1ae591ca59f8eec08c - 0.03% (545 KB)

[#012] sha256:262a924e294dfe6399b3d9d02cc9b417e2505f5fd7f6a557c5338fcce04823c3 - 0.0% (124 Bytes)

[#013] sha256:4c83afd8334ef91ce76cc77804a869f9f394505cd1a7e97381bb01226f2ce212 - 1.07% (20.6 MB)

[#014] sha256:fc9e3e72ba84ab78f2732ddb72238835b6c3a9558ffe5e970584fea9fd5dd3ab - 0.59% (11.5 MB)

[#015] sha256:2798940bf2b933fbe0049f1f72d0774ada36e0e4debe3285c68d1ce345d1de19 - 0.0% (7.73 KB)

[#016] sha256:9a26d40bf09cc6e52a5f3bb1509a7113d75860d1ce5433b9ae9f348f989b90a7 - 1.91% (36.9 MB)

[#017] sha256:64490cc4f0d00f086537c7e6fa0865579742ae77ee853c8a264129cf8e7e207c - 0.0% (205 Bytes)

[#018] sha256:90da3b7565ceb98cf6cb04bb9bf517c272d651732a22006080405a644062372e - 34.92% (675 MB)

[#019] sha256:bd9ddc54bea929a22b334e73e026d4136e5b73f5cc29942896c72e4ece69b13d - 0.0% (34 Bytes)

[#020] sha256:45db46046ba3673b0a57f82b1d976614112d357a5b4ecff3d22ca1ec5237bc7b - 8.1% (157 MB)

[#021] sha256:0bc9e5065060cd513ffb302b08e8bd445b337c1519774151cb291c2729a1488d - 1.04% (20.1 MB)

[#022] sha256:879de73777da6e7494d0fc3ee6fb20ab6abb28e8286a53b09fb618724f0f7fac - 0.12% (2.28 MB)

[#023] sha256:bd9ddc54bea929a22b334e73e026d4136e5b73f5cc29942896c72e4ece69b13d - 0.0% (34 Bytes)

[#024] sha256:2f142b6ae7a091b6267ad620b365ebb9f90cf7bb547e52238de570c396c86617 - 9.99% (193 MB)


History
2026-09-11 11:44:03 UTC

/bin/sh -c #(nop) ARG RELEASE

2026-09-11 11:44:03 UTC

/bin/sh -c #(nop) ARG LAUNCHPAD_BUILD_ARCH

2026-09-11 11:44:03 UTC

/bin/sh -c #(nop) LABEL org.opencontainers.image.version=24.04

2026-09-11 11:44:06 UTC

/bin/sh -c #(nop) ADD file:43d479b270bbaf47965cfc86b37f4c517bda83ddefda6f708f98c3b2b7d15396 in /

2026-09-11 11:44:06 UTC

/bin/sh -c #(nop) CMD ["/bin/bash"]

2026-09-16 10:59:45 UTC (buildkit.dockerfile.v0)

LABEL maintainer=tech@appsmith.com

2026-09-16 10:59:45 UTC (buildkit.dockerfile.v0)

WORKDIR /opt/appsmith

2026-09-16 10:59:45 UTC (buildkit.dockerfile.v0)

ENV LANG=C.UTF-8

2026-09-16 10:59:45 UTC (buildkit.dockerfile.v0)

ENV LC_ALL=C.UTF-8

2026-09-16 21:36:00 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -o xtrace && printf 'Acquire::Retries "3";\nAcquire::http::Timeout "30";\nAcquire::https::Timeout "30";\n' > /etc/apt/apt.conf.d/80-appsmith-retries && apt-get update && apt-get upgrade --yes && DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends --yes supervisor curl nfs-common gnupg gettext ca-certificates libnss-wrapper software-properties-common git && add-apt-repository -y ppa:git-core/ppa && curl --retry 3 --retry-connrefused --connect-timeout 15 --retry-max-time 60 -fsSL -o /tmp/mongodb-server-7.0.asc https://www.mongodb.org/static/pgp/server-7.0.asc && gpg --dearmor -o /usr/share/keyrings/mongodb-server-7.0.gpg /tmp/mongodb-server-7.0.asc && echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-7.0.gpg ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/7.0 multiverse" | tee /etc/apt/sources.list.d/mongodb-org-7.0.list && echo "deb http://apt.postgresql.org/pub/repos/apt $(grep CODENAME /etc/lsb-release | cut -d= -f2)-pgdg main" | tee /etc/apt/sources.list.d/pgdg.list && curl --fail --retry 3 --retry-connrefused --connect-timeout 15 --retry-max-time 60 --silent --show-error --location -o /tmp/pgdg-ACCC4CF8.asc https://www.postgresql.org/media/keys/ACCC4CF8.asc && apt-key add /tmp/pgdg-ACCC4CF8.asc && apt update && DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends --yes mongodb-org-server mongodb-org-mongos mongodb-mongosh postgresql-14 git tar zstd openssh-client && DEBIAN_FRONTEND=noninteractive apt-get purge --yes --auto-remove software-properties-common && apt-get clean && rm -rf /root/.cache /root/.npm /usr/local/share/doc /usr/share/doc /usr/share/man /var/lib/apt/lists/* /etc/apt/apt.conf.d/80-appsmith-retries /tmp/* # buildkit

2026-09-16 21:36:00 UTC (buildkit.dockerfile.v0)

COPY /usr/local/bin/redis-server /usr/local/bin/redis-server # buildkit

2026-09-16 21:36:01 UTC (buildkit.dockerfile.v0)

COPY /usr/local/bin/redis-cli /usr/local/bin/redis-cli # buildkit

2026-09-16 21:36:01 UTC (buildkit.dockerfile.v0)

COPY /tmp/mongo-tools/bin/ /usr/bin/ # buildkit

2026-09-16 21:36:01 UTC (buildkit.dockerfile.v0)

ENV PATH=/usr/lib/postgresql/14/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

2026-09-16 21:36:04 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -o xtrace && mkdir -p /opt/java && arch="$(uname -m | sed 's/x86_64/x64/; s/aarch64/aarch64/')" && curl --fail --retry 3 --retry-connrefused --connect-timeout 15 --retry-max-time 60 --location -o /tmp/adoptium-jdk.tar.gz "https://api.adoptium.net/v3/binary/latest/25/ga/linux/${arch}/jdk/hotspot/normal/eclipse" && tar -xzf /tmp/adoptium-jdk.tar.gz -C /opt/java --strip-components 1 && rm -f /tmp/adoptium-jdk.tar.gz # buildkit

2026-09-16 21:36:09 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eo xtrace mkdir -p /opt/node arch="$(uname -m | sed 's/x86_64/x64/; s/aarch64/arm64/')" curl -LOsS "https://nodejs.org/dist/latest-v24.x/SHASUMS256.txt" filename="$(awk '/linux-'"$arch"'.tar.gz/ {print $2}' SHASUMS256.txt)" curl -LOsS "https://nodejs.org/dist/latest-v24.x/$filename" grep "$filename" SHASUMS256.txt | sha256sum -c - tar -xzf "$filename" -C /opt/node --strip-components 1 rm "$filename" SHASUMS256.txt # Node 24.x bundles npm 11.16/11.17, whose bundled tar (<=7.5.16) is vulnerable # to CVE-2026-59873 (node-tar gzip-bomb DoS). npm 11.18.0 is the first release # bundling the patched tar 7.5.19; pin it since no Node 24.x ships a fixed npm yet. export PATH="/opt/node/bin:$PATH" npm install -g npm@11.18.0 # npm 11.18.0 / 11.19.0 still vendor brace-expansion 5.0.7 (CVE-2026-69152 / # CVE-2026-14257) and ip-address 10.2.0 (CVE-2026-69192). Unpack patched # tarballs over the nested copies; `npm install --prefix` on npm's own # package.json tries to resolve private @npmcli/* deps and 404s. npm_nm="$(npm root -g)/npm/node_modules" tmp="$(mktemp -d)" (cd "$tmp" && npm pack --silent brace-expansion@5.0.9 ip-address@10.3.1) rm -rf "$npm_nm/brace-expansion" "$npm_nm/ip-address" mkdir -p "$npm_nm/brace-expansion" "$npm_nm/ip-address" tar -xzf "$tmp"/brace-expansion-*.tgz -C "$npm_nm/brace-expansion" --strip-components 1 tar -xzf "$tmp"/ip-address-*.tgz -C "$npm_nm/ip-address" --strip-components 1 rm -rf "$tmp" npm cache clean --force # buildkit

2026-09-16 21:36:09 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c mkdir -p /opt/caddy # buildkit

2026-09-16 21:36:09 UTC (buildkit.dockerfile.v0)

COPY /usr/bin/caddy /opt/caddy/caddy # buildkit

2026-09-16 21:36:11 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c mkdir -p /opt/keycloak/data && curl --location https://github.com/keycloak/keycloak/releases/download/26.7.3/keycloak-26.7.3.tar.gz | tar -xz -C /opt/keycloak --strip-components 1 && mkdir -p /opt/keycloak/data/tmp # buildkit

2026-09-16 21:36:11 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux && KC_NETTY_JAR=/opt/keycloak/lib/lib/main/io.netty.netty-handler-4.1.136.Final.jar && test -f "$KC_NETTY_JAR" && curl --fail --retry 3 --connect-timeout 15 --location --output "$KC_NETTY_JAR" https://repo.maven.apache.org/maven2/io/netty/netty-handler/4.1.137.Final/netty-handler-4.1.137.Final.jar && echo "d0e4c6ee4779f59f6ab2fb5d388e4f57147c82270164b37945764bb9bda96a44 $KC_NETTY_JAR" | sha256sum --check # buildkit

2026-09-16 21:36:12 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -o xtrace && mkdir -p /opt/temporal # buildkit

2026-09-16 21:36:12 UTC (buildkit.dockerfile.v0)

COPY /opt/temporal/bin/temporal-server /opt/temporal/ # buildkit

2026-09-16 21:36:12 UTC (buildkit.dockerfile.v0)

COPY /opt/temporal/bin/temporal-sql-tool /opt/temporal/ # buildkit

2026-09-16 21:36:13 UTC (buildkit.dockerfile.v0)

COPY /opt/temporal/temporal-1.22.7/schema/postgresql/v12 /opt/temporal/temporal-1.22.7/schema/postgresql/v12 # buildkit

2026-09-16 21:36:13 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c mkdir -p /opt/newrelic && curl -o /opt/newrelic/newrelic.jar https://download.newrelic.com/newrelic/java-agent/newrelic-agent/current/newrelic-agent.jar # buildkit

2026-09-16 21:36:13 UTC (buildkit.dockerfile.v0)

VOLUME [/appsmith-stacks]

2026-09-16 21:36:13 UTC (buildkit.dockerfile.v0)

ENV TMP=/tmp/appsmith

2026-09-16 21:36:13 UTC (buildkit.dockerfile.v0)

ENV WWW_PATH=/tmp/appsmith/www

2026-09-16 21:36:13 UTC (buildkit.dockerfile.v0)

ENV NSS_WRAPPER_SYMLINK=/usr/local/lib/libnss_wrapper.so

2026-09-16 21:36:14 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c NSS_WRAPPER_LIB=$(find /usr/lib -name libnss_wrapper.so -type f 2>/dev/null | head -n1) && ln -sf "$NSS_WRAPPER_LIB" $NSS_WRAPPER_SYMLINK # buildkit

2026-09-16 21:36:14 UTC (buildkit.dockerfile.v0)

ENV NSS_WRAPPER_PASSWD=/tmp/appsmith/passwd

2026-09-16 21:36:14 UTC (buildkit.dockerfile.v0)

ENV NSS_WRAPPER_GROUP=/tmp/appsmith/group

2026-09-16 22:52:42 UTC (buildkit.dockerfile.v0)

ARG APPSMITH_CLOUD_SERVICES_BASE_URL

2026-09-16 22:52:42 UTC (buildkit.dockerfile.v0)

ENV APPSMITH_CLOUD_SERVICES_BASE_URL=

2026-09-16 22:52:42 UTC (buildkit.dockerfile.v0)

ARG APPSMITH_SEGMENT_CE_KEY

2026-09-16 22:52:42 UTC (buildkit.dockerfile.v0)

ARG APPSMITH_AIRGAP_ENABLED=false

2026-09-16 22:52:42 UTC (buildkit.dockerfile.v0)

ARG KEYGEN_LICENSE_VERIFICATION_KEY

2026-09-16 22:52:42 UTC (buildkit.dockerfile.v0)

ARG APPSMITH_CLIENT_BUILD_PATH=./app/client/build

2026-09-16 22:52:42 UTC (buildkit.dockerfile.v0)

ENV APPSMITH_SEGMENT_CE_KEY=AGuvNK0MfQgtxwBMCia7fRNxTjfoBRec

2026-09-16 22:52:42 UTC (buildkit.dockerfile.v0)

ENV APPSMITH_AIRGAP_ENABLED=false

2026-09-16 22:52:42 UTC (buildkit.dockerfile.v0)

ENV KEYGEN_LICENSE_VERIFICATION_KEY=

2026-09-16 22:52:42 UTC (buildkit.dockerfile.v0)

ARG APPSMITH_BETTERBUGS_API_KEY

2026-09-16 22:52:42 UTC (buildkit.dockerfile.v0)

ENV APPSMITH_BETTERBUGS_API_KEY=

2026-09-16 22:52:42 UTC (buildkit.dockerfile.v0)

ARG APPSMITH_PYLON_APP_ID

2026-09-16 22:52:42 UTC (buildkit.dockerfile.v0)

ENV APPSMITH_PYLON_APP_ID=

2026-09-16 22:52:42 UTC (buildkit.dockerfile.v0)

COPY deploy/docker/fs / # buildkit

2026-09-16 22:52:42 UTC (buildkit.dockerfile.v0)

RUN |7 APPSMITH_CLOUD_SERVICES_BASE_URL= APPSMITH_SEGMENT_CE_KEY=AGuvNK0MfQgtxwBMCia7fRNxTjfoBRec APPSMITH_AIRGAP_ENABLED=false KEYGEN_LICENSE_VERIFICATION_KEY= APPSMITH_CLIENT_BUILD_PATH=./app/client/build APPSMITH_BETTERBUGS_API_KEY= APPSMITH_PYLON_APP_ID= /bin/sh -c if ! [ -f info.json ]; then echo "Missing info.json" >&2 exit 1 fi if ! [ -f server/mongo/server.jar ]; then echo "Missing MongoDB server.jar file. Are you using the build script?" >&2 exit 1 fi # buildkit

2026-09-16 22:52:43 UTC (buildkit.dockerfile.v0)

COPY ./app/client/build editor/ # buildkit

2026-09-16 22:52:43 UTC (buildkit.dockerfile.v0)

COPY ./app/client/packages/rts/dist rts/ # buildkit

2026-09-16 22:52:43 UTC (buildkit.dockerfile.v0)

COPY ./app/client/packages/mcp/dist mcp/ # buildkit

2026-09-16 22:52:44 UTC (buildkit.dockerfile.v0)

RUN |7 APPSMITH_CLOUD_SERVICES_BASE_URL= APPSMITH_SEGMENT_CE_KEY=AGuvNK0MfQgtxwBMCia7fRNxTjfoBRec APPSMITH_AIRGAP_ENABLED=false KEYGEN_LICENSE_VERIFICATION_KEY= APPSMITH_CLIENT_BUILD_PATH=./app/client/build APPSMITH_BETTERBUGS_API_KEY= APPSMITH_PYLON_APP_ID= /bin/sh -c mkdir --mode 775 "/dev/shm/git-storage" # buildkit

2026-09-16 22:52:44 UTC (buildkit.dockerfile.v0)

ENV PATH=/opt/bin:/opt/java/bin:/opt/node/bin:/usr/lib/postgresql/14/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

2026-09-16 22:52:57 UTC (buildkit.dockerfile.v0)

RUN |7 APPSMITH_CLOUD_SERVICES_BASE_URL= APPSMITH_SEGMENT_CE_KEY=AGuvNK0MfQgtxwBMCia7fRNxTjfoBRec APPSMITH_AIRGAP_ENABLED=false KEYGEN_LICENSE_VERIFICATION_KEY= APPSMITH_CLIENT_BUILD_PATH=./app/client/build APPSMITH_BETTERBUGS_API_KEY= APPSMITH_PYLON_APP_ID= /bin/sh -c set -o errexit cd ./rts # NODE_DISABLE_COMPILE_CACHE=1 prevents npm/node from populating a v8 # bytecode cache under $TMP (/tmp/appsmith) as root during the build, # which would otherwise leave the directory un-writable for the # non-root runtime user when the entrypoint tries to mkdir inside it. # The cache only benefits npm's own code, not RTS, so disabling at # build time costs nothing. NODE_DISABLE_COMPILE_CACHE=1 npm install --only=prod cd - # Make all `*.sh` files executable, excluding `node_modules`. find . \( -name node_modules -prune \) -o \( -type f -name '*.sh' \) -exec chmod +x '{}' + # Ensure all custom command-scripts have executable permission chmod +x /opt/bin/* /watchtower-hooks/*.sh # Disable setuid/setgid bits for the files inside container. find / \( -path /proc -prune \) -o \( \( -perm -2000 -o -perm -4000 \) -exec chmod -s '{}' + \) || true mkdir -p /.mongodb/mongosh /appsmith-stacks chmod ugo+w /etc /appsmith-stacks chmod -R ugo+w /var/run /.mongodb /etc/ssl /usr/local/share ln --verbose --force --symbolic --no-target-directory /appsmith-stacks/data/keycloak /opt/keycloak/data/h2 # Keycloak writes builds to the quarkus directory in some situations and needs to be able to do so when not root chmod -R ugo+w /opt/keycloak/lib/quarkus # Keycloak 24+ writes a truststore to /opt/keycloak/data/ at startup chmod ugo+w /opt/keycloak/data # Keycloak's GzipResourceEncodingProvider caches compressed theme resources here chmod -R ugo+w /opt/keycloak/data/tmp # buildkit

2026-09-16 22:52:57 UTC (buildkit.dockerfile.v0)

LABEL com.centurylinklabs.watchtower.lifecycle.pre-check=/watchtower-hooks/pre-check.sh

2026-09-16 22:52:57 UTC (buildkit.dockerfile.v0)

LABEL com.centurylinklabs.watchtower.lifecycle.pre-update=/watchtower-hooks/pre-update.sh

2026-09-16 22:52:57 UTC (buildkit.dockerfile.v0)

EXPOSE map[80/tcp:{}]

2026-09-16 22:52:57 UTC (buildkit.dockerfile.v0)

EXPOSE map[443/tcp:{}]

2026-09-16 22:52:57 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["/opt/appsmith/entrypoint.sh"]

2026-09-16 22:52:57 UTC (buildkit.dockerfile.v0)

HEALTHCHECK &{["CMD-SHELL" "\"/opt/appsmith/healthcheck.sh\""] "15s" "15s" "45s" "0s" '\x00'}

2026-09-16 22:52:57 UTC (buildkit.dockerfile.v0)

CMD ["/usr/bin/supervisord" "-n"]

Details
Created

2026-09-16 22:53:01 UTC

Size

1.87 GB

Content Digest
Labels
  • com.centurylinklabs.watchtower.lifecycle.pre-check
    /watchtower-hooks/pre-check.sh
  • com.centurylinklabs.watchtower.lifecycle.pre-update
    /watchtower-hooks/pre-update.sh
  • maintainer
    tech@appsmith.com
  • org.opencontainers.image.version
    24.04

Environment
APPSMITH_AIRGAP_ENABLED

false

APPSMITH_BETTERBUGS_API_KEY

APPSMITH_CLOUD_SERVICES_BASE_URL

APPSMITH_PYLON_APP_ID

APPSMITH_SEGMENT_CE_KEY

AGuvNK0MfQgtxwBMCia7fRNxTjfoBRec

KEYGEN_LICENSE_VERIFICATION_KEY

LANG

C.UTF-8

LC_ALL

C.UTF-8

NSS_WRAPPER_GROUP

/tmp/appsmith/group

NSS_WRAPPER_PASSWD

/tmp/appsmith/passwd

NSS_WRAPPER_SYMLINK

/usr/local/lib/libnss_wrapper.so

PATH

/opt/bin:/opt/java/bin:/opt/node/bin:/usr/lib/postgresql/14/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

TMP

/tmp/appsmith

WWW_PATH

/tmp/appsmith/www


Layers

[#000] sha256:8a38824eedc553ba80cf1eb7df278a003340f7409fd4b9002bce07db8840a9a2 - 1.44% (27.6 MB)

[#001] sha256:dc19d749d86bd3e8bfb9bbf31e3667d39fc58b46f89465c89dc2d1a5fd2a356b - 0.0% (124 Bytes)

[#002] sha256:e2f3f566f99c680dfcd1fe5be506b65c796c118b7e9f20104b7b54338999db37 - 16.18% (310 MB)

[#003] sha256:5da028df07237ebe073290368e3be51ff4b9ba944fa376879034e3184b76ed1c - 0.37% (7.03 MB)

[#004] sha256:533b28ecf64e7ca74bf033f7418df55f8bdded376c81797ea83d829338c42461 - 0.15% (2.82 MB)

[#005] sha256:92d3ab2ab116240a548c067301c89049f1cca7f5047853d06f2fe269824e9afd - 3.46% (66.3 MB)

[#006] sha256:2713c2f933e0097c5852a6e5b9c433150c49de1b1ed6258decd739806c9eb310 - 7.26% (139 MB)

[#007] sha256:86817c865efaff6fa2738bad467d045467734921506b0339c85273f0d24c7e2a - 3.11% (59.5 MB)

[#008] sha256:68ddcce529c0a5373d651ac86a55a41f367cd6d8085afd27688f9e573adaed23 - 0.0% (122 Bytes)

[#009] sha256:6552c0b54ca64ed73457d3c4ec9ff93b25cb2ea54f746e049b618e507076ad76 - 0.81% (15.4 MB)

[#010] sha256:41e95e56d5e2857ffd6cefb4105f8adf0542a5f31716fd213ac255df50366396 - 8.98% (172 MB)

[#011] sha256:1d4dfb02ea213db79dd7b22ac9af2c6893e5375fcd382e29197fbd2e6d03acdd - 0.03% (545 KB)

[#012] sha256:09e145c6a2dc9ea2d0ccda0a10f0e3aa7c2bcfd3dbe371d3ff5c3675e1aa04bc - 0.0% (123 Bytes)

[#013] sha256:cb1ba991e923fbc13a240536198bb45c7270a8c20318d85512684e8e32cc01c6 - 0.97% (18.5 MB)

[#014] sha256:0cd68e34d6595ca20f1d81c0dc9db7231f856c52d6b56a82470bc5d24a2c92eb - 0.53% (10.2 MB)

[#015] sha256:d4812a496f678c03c8b383e6a59ea7c0c6198ed8a8ab0140da99f11d252f674e - 0.0% (7.72 KB)

[#016] sha256:7a77c78ef23b3c7cf514bc50c118e467341423fdb20c7064f100a0d0edf8d213 - 1.93% (36.9 MB)

[#017] sha256:d7d9d9bc9e2eb3772647607676c1014d708da53dc2149e8820eeb59961cbce9f - 0.0% (204 Bytes)

[#018] sha256:90da3b7565ceb98cf6cb04bb9bf517c272d651732a22006080405a644062372e - 35.27% (675 MB)

[#019] sha256:bd9ddc54bea929a22b334e73e026d4136e5b73f5cc29942896c72e4ece69b13d - 0.0% (34 Bytes)

[#020] sha256:45db46046ba3673b0a57f82b1d976614112d357a5b4ecff3d22ca1ec5237bc7b - 8.18% (157 MB)

[#021] sha256:0bc9e5065060cd513ffb302b08e8bd445b337c1519774151cb291c2729a1488d - 1.05% (20.1 MB)

[#022] sha256:879de73777da6e7494d0fc3ee6fb20ab6abb28e8286a53b09fb618724f0f7fac - 0.12% (2.28 MB)

[#023] sha256:bd9ddc54bea929a22b334e73e026d4136e5b73f5cc29942896c72e4ece69b13d - 0.0% (34 Bytes)

[#024] sha256:f39ab5b0c8006e1c82bb9b75cedb2aa2fa07d5b989015ac59b197bbd116efe8a - 10.16% (194 MB)


History
2026-09-11 11:53:33 UTC

/bin/sh -c #(nop) ARG RELEASE

2026-09-11 11:53:33 UTC

/bin/sh -c #(nop) ARG LAUNCHPAD_BUILD_ARCH

2026-09-11 11:53:33 UTC

/bin/sh -c #(nop) LABEL org.opencontainers.image.version=24.04

2026-09-11 11:53:37 UTC

/bin/sh -c #(nop) ADD file:ff1ce8d2ee022926eb353ff9248358531fbe1661ef12d8784e68fbc52738ed34 in /

2026-09-11 11:53:37 UTC

/bin/sh -c #(nop) CMD ["/bin/bash"]

2026-09-16 10:59:46 UTC (buildkit.dockerfile.v0)

LABEL maintainer=tech@appsmith.com

2026-09-16 10:59:46 UTC (buildkit.dockerfile.v0)

WORKDIR /opt/appsmith

2026-09-16 10:59:46 UTC (buildkit.dockerfile.v0)

ENV LANG=C.UTF-8

2026-09-16 10:59:46 UTC (buildkit.dockerfile.v0)

ENV LC_ALL=C.UTF-8

2026-09-16 21:35:53 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -o xtrace && printf 'Acquire::Retries "3";\nAcquire::http::Timeout "30";\nAcquire::https::Timeout "30";\n' > /etc/apt/apt.conf.d/80-appsmith-retries && apt-get update && apt-get upgrade --yes && DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends --yes supervisor curl nfs-common gnupg gettext ca-certificates libnss-wrapper software-properties-common git && add-apt-repository -y ppa:git-core/ppa && curl --retry 3 --retry-connrefused --connect-timeout 15 --retry-max-time 60 -fsSL -o /tmp/mongodb-server-7.0.asc https://www.mongodb.org/static/pgp/server-7.0.asc && gpg --dearmor -o /usr/share/keyrings/mongodb-server-7.0.gpg /tmp/mongodb-server-7.0.asc && echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-7.0.gpg ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/7.0 multiverse" | tee /etc/apt/sources.list.d/mongodb-org-7.0.list && echo "deb http://apt.postgresql.org/pub/repos/apt $(grep CODENAME /etc/lsb-release | cut -d= -f2)-pgdg main" | tee /etc/apt/sources.list.d/pgdg.list && curl --fail --retry 3 --retry-connrefused --connect-timeout 15 --retry-max-time 60 --silent --show-error --location -o /tmp/pgdg-ACCC4CF8.asc https://www.postgresql.org/media/keys/ACCC4CF8.asc && apt-key add /tmp/pgdg-ACCC4CF8.asc && apt update && DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends --yes mongodb-org-server mongodb-org-mongos mongodb-mongosh postgresql-14 git tar zstd openssh-client && DEBIAN_FRONTEND=noninteractive apt-get purge --yes --auto-remove software-properties-common && apt-get clean && rm -rf /root/.cache /root/.npm /usr/local/share/doc /usr/share/doc /usr/share/man /var/lib/apt/lists/* /etc/apt/apt.conf.d/80-appsmith-retries /tmp/* # buildkit

2026-09-16 21:35:54 UTC (buildkit.dockerfile.v0)

COPY /usr/local/bin/redis-server /usr/local/bin/redis-server # buildkit

2026-09-16 21:35:54 UTC (buildkit.dockerfile.v0)

COPY /usr/local/bin/redis-cli /usr/local/bin/redis-cli # buildkit

2026-09-16 21:35:55 UTC (buildkit.dockerfile.v0)

COPY /tmp/mongo-tools/bin/ /usr/bin/ # buildkit

2026-09-16 21:35:55 UTC (buildkit.dockerfile.v0)

ENV PATH=/usr/lib/postgresql/14/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

2026-09-16 21:35:58 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -o xtrace && mkdir -p /opt/java && arch="$(uname -m | sed 's/x86_64/x64/; s/aarch64/aarch64/')" && curl --fail --retry 3 --retry-connrefused --connect-timeout 15 --retry-max-time 60 --location -o /tmp/adoptium-jdk.tar.gz "https://api.adoptium.net/v3/binary/latest/25/ga/linux/${arch}/jdk/hotspot/normal/eclipse" && tar -xzf /tmp/adoptium-jdk.tar.gz -C /opt/java --strip-components 1 && rm -f /tmp/adoptium-jdk.tar.gz # buildkit

2026-09-16 21:36:04 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eo xtrace mkdir -p /opt/node arch="$(uname -m | sed 's/x86_64/x64/; s/aarch64/arm64/')" curl -LOsS "https://nodejs.org/dist/latest-v24.x/SHASUMS256.txt" filename="$(awk '/linux-'"$arch"'.tar.gz/ {print $2}' SHASUMS256.txt)" curl -LOsS "https://nodejs.org/dist/latest-v24.x/$filename" grep "$filename" SHASUMS256.txt | sha256sum -c - tar -xzf "$filename" -C /opt/node --strip-components 1 rm "$filename" SHASUMS256.txt # Node 24.x bundles npm 11.16/11.17, whose bundled tar (<=7.5.16) is vulnerable # to CVE-2026-59873 (node-tar gzip-bomb DoS). npm 11.18.0 is the first release # bundling the patched tar 7.5.19; pin it since no Node 24.x ships a fixed npm yet. export PATH="/opt/node/bin:$PATH" npm install -g npm@11.18.0 # npm 11.18.0 / 11.19.0 still vendor brace-expansion 5.0.7 (CVE-2026-69152 / # CVE-2026-14257) and ip-address 10.2.0 (CVE-2026-69192). Unpack patched # tarballs over the nested copies; `npm install --prefix` on npm's own # package.json tries to resolve private @npmcli/* deps and 404s. npm_nm="$(npm root -g)/npm/node_modules" tmp="$(mktemp -d)" (cd "$tmp" && npm pack --silent brace-expansion@5.0.9 ip-address@10.3.1) rm -rf "$npm_nm/brace-expansion" "$npm_nm/ip-address" mkdir -p "$npm_nm/brace-expansion" "$npm_nm/ip-address" tar -xzf "$tmp"/brace-expansion-*.tgz -C "$npm_nm/brace-expansion" --strip-components 1 tar -xzf "$tmp"/ip-address-*.tgz -C "$npm_nm/ip-address" --strip-components 1 rm -rf "$tmp" npm cache clean --force # buildkit

2026-09-16 21:36:04 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c mkdir -p /opt/caddy # buildkit

2026-09-16 21:36:05 UTC (buildkit.dockerfile.v0)

COPY /usr/bin/caddy /opt/caddy/caddy # buildkit

2026-09-16 21:36:07 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c mkdir -p /opt/keycloak/data && curl --location https://github.com/keycloak/keycloak/releases/download/26.7.3/keycloak-26.7.3.tar.gz | tar -xz -C /opt/keycloak --strip-components 1 && mkdir -p /opt/keycloak/data/tmp # buildkit

2026-09-16 21:36:07 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux && KC_NETTY_JAR=/opt/keycloak/lib/lib/main/io.netty.netty-handler-4.1.136.Final.jar && test -f "$KC_NETTY_JAR" && curl --fail --retry 3 --connect-timeout 15 --location --output "$KC_NETTY_JAR" https://repo.maven.apache.org/maven2/io/netty/netty-handler/4.1.137.Final/netty-handler-4.1.137.Final.jar && echo "d0e4c6ee4779f59f6ab2fb5d388e4f57147c82270164b37945764bb9bda96a44 $KC_NETTY_JAR" | sha256sum --check # buildkit

2026-09-16 21:36:08 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -o xtrace && mkdir -p /opt/temporal # buildkit

2026-09-16 21:36:08 UTC (buildkit.dockerfile.v0)

COPY /opt/temporal/bin/temporal-server /opt/temporal/ # buildkit

2026-09-16 21:36:08 UTC (buildkit.dockerfile.v0)

COPY /opt/temporal/bin/temporal-sql-tool /opt/temporal/ # buildkit

2026-09-16 21:36:08 UTC (buildkit.dockerfile.v0)

COPY /opt/temporal/temporal-1.22.7/schema/postgresql/v12 /opt/temporal/temporal-1.22.7/schema/postgresql/v12 # buildkit

2026-09-16 21:36:09 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c mkdir -p /opt/newrelic && curl -o /opt/newrelic/newrelic.jar https://download.newrelic.com/newrelic/java-agent/newrelic-agent/current/newrelic-agent.jar # buildkit

2026-09-16 21:36:09 UTC (buildkit.dockerfile.v0)

VOLUME [/appsmith-stacks]

2026-09-16 21:36:09 UTC (buildkit.dockerfile.v0)

ENV TMP=/tmp/appsmith

2026-09-16 21:36:09 UTC (buildkit.dockerfile.v0)

ENV WWW_PATH=/tmp/appsmith/www

2026-09-16 21:36:09 UTC (buildkit.dockerfile.v0)

ENV NSS_WRAPPER_SYMLINK=/usr/local/lib/libnss_wrapper.so

2026-09-16 21:36:09 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c NSS_WRAPPER_LIB=$(find /usr/lib -name libnss_wrapper.so -type f 2>/dev/null | head -n1) && ln -sf "$NSS_WRAPPER_LIB" $NSS_WRAPPER_SYMLINK # buildkit

2026-09-16 21:36:09 UTC (buildkit.dockerfile.v0)

ENV NSS_WRAPPER_PASSWD=/tmp/appsmith/passwd

2026-09-16 21:36:09 UTC (buildkit.dockerfile.v0)

ENV NSS_WRAPPER_GROUP=/tmp/appsmith/group

2026-09-16 22:52:42 UTC (buildkit.dockerfile.v0)

ARG APPSMITH_CLOUD_SERVICES_BASE_URL

2026-09-16 22:52:42 UTC (buildkit.dockerfile.v0)

ENV APPSMITH_CLOUD_SERVICES_BASE_URL=

2026-09-16 22:52:42 UTC (buildkit.dockerfile.v0)

ARG APPSMITH_SEGMENT_CE_KEY

2026-09-16 22:52:42 UTC (buildkit.dockerfile.v0)

ARG APPSMITH_AIRGAP_ENABLED=false

2026-09-16 22:52:42 UTC (buildkit.dockerfile.v0)

ARG KEYGEN_LICENSE_VERIFICATION_KEY

2026-09-16 22:52:42 UTC (buildkit.dockerfile.v0)

ARG APPSMITH_CLIENT_BUILD_PATH=./app/client/build

2026-09-16 22:52:42 UTC (buildkit.dockerfile.v0)

ENV APPSMITH_SEGMENT_CE_KEY=AGuvNK0MfQgtxwBMCia7fRNxTjfoBRec

2026-09-16 22:52:42 UTC (buildkit.dockerfile.v0)

ENV APPSMITH_AIRGAP_ENABLED=false

2026-09-16 22:52:42 UTC (buildkit.dockerfile.v0)

ENV KEYGEN_LICENSE_VERIFICATION_KEY=

2026-09-16 22:52:42 UTC (buildkit.dockerfile.v0)

ARG APPSMITH_BETTERBUGS_API_KEY

2026-09-16 22:52:42 UTC (buildkit.dockerfile.v0)

ENV APPSMITH_BETTERBUGS_API_KEY=

2026-09-16 22:52:42 UTC (buildkit.dockerfile.v0)

ARG APPSMITH_PYLON_APP_ID

2026-09-16 22:52:42 UTC (buildkit.dockerfile.v0)

ENV APPSMITH_PYLON_APP_ID=

2026-09-16 22:52:42 UTC (buildkit.dockerfile.v0)

COPY deploy/docker/fs / # buildkit

2026-09-16 22:52:42 UTC (buildkit.dockerfile.v0)

RUN |7 APPSMITH_CLOUD_SERVICES_BASE_URL= APPSMITH_SEGMENT_CE_KEY=AGuvNK0MfQgtxwBMCia7fRNxTjfoBRec APPSMITH_AIRGAP_ENABLED=false KEYGEN_LICENSE_VERIFICATION_KEY= APPSMITH_CLIENT_BUILD_PATH=./app/client/build APPSMITH_BETTERBUGS_API_KEY= APPSMITH_PYLON_APP_ID= /bin/sh -c if ! [ -f info.json ]; then echo "Missing info.json" >&2 exit 1 fi if ! [ -f server/mongo/server.jar ]; then echo "Missing MongoDB server.jar file. Are you using the build script?" >&2 exit 1 fi # buildkit

2026-09-16 22:52:43 UTC (buildkit.dockerfile.v0)

COPY ./app/client/build editor/ # buildkit

2026-09-16 22:52:43 UTC (buildkit.dockerfile.v0)

COPY ./app/client/packages/rts/dist rts/ # buildkit

2026-09-16 22:52:44 UTC (buildkit.dockerfile.v0)

COPY ./app/client/packages/mcp/dist mcp/ # buildkit

2026-09-16 22:52:44 UTC (buildkit.dockerfile.v0)

RUN |7 APPSMITH_CLOUD_SERVICES_BASE_URL= APPSMITH_SEGMENT_CE_KEY=AGuvNK0MfQgtxwBMCia7fRNxTjfoBRec APPSMITH_AIRGAP_ENABLED=false KEYGEN_LICENSE_VERIFICATION_KEY= APPSMITH_CLIENT_BUILD_PATH=./app/client/build APPSMITH_BETTERBUGS_API_KEY= APPSMITH_PYLON_APP_ID= /bin/sh -c mkdir --mode 775 "/dev/shm/git-storage" # buildkit

2026-09-16 22:52:44 UTC (buildkit.dockerfile.v0)

ENV PATH=/opt/bin:/opt/java/bin:/opt/node/bin:/usr/lib/postgresql/14/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

2026-09-16 22:53:01 UTC (buildkit.dockerfile.v0)

RUN |7 APPSMITH_CLOUD_SERVICES_BASE_URL= APPSMITH_SEGMENT_CE_KEY=AGuvNK0MfQgtxwBMCia7fRNxTjfoBRec APPSMITH_AIRGAP_ENABLED=false KEYGEN_LICENSE_VERIFICATION_KEY= APPSMITH_CLIENT_BUILD_PATH=./app/client/build APPSMITH_BETTERBUGS_API_KEY= APPSMITH_PYLON_APP_ID= /bin/sh -c set -o errexit cd ./rts # NODE_DISABLE_COMPILE_CACHE=1 prevents npm/node from populating a v8 # bytecode cache under $TMP (/tmp/appsmith) as root during the build, # which would otherwise leave the directory un-writable for the # non-root runtime user when the entrypoint tries to mkdir inside it. # The cache only benefits npm's own code, not RTS, so disabling at # build time costs nothing. NODE_DISABLE_COMPILE_CACHE=1 npm install --only=prod cd - # Make all `*.sh` files executable, excluding `node_modules`. find . \( -name node_modules -prune \) -o \( -type f -name '*.sh' \) -exec chmod +x '{}' + # Ensure all custom command-scripts have executable permission chmod +x /opt/bin/* /watchtower-hooks/*.sh # Disable setuid/setgid bits for the files inside container. find / \( -path /proc -prune \) -o \( \( -perm -2000 -o -perm -4000 \) -exec chmod -s '{}' + \) || true mkdir -p /.mongodb/mongosh /appsmith-stacks chmod ugo+w /etc /appsmith-stacks chmod -R ugo+w /var/run /.mongodb /etc/ssl /usr/local/share ln --verbose --force --symbolic --no-target-directory /appsmith-stacks/data/keycloak /opt/keycloak/data/h2 # Keycloak writes builds to the quarkus directory in some situations and needs to be able to do so when not root chmod -R ugo+w /opt/keycloak/lib/quarkus # Keycloak 24+ writes a truststore to /opt/keycloak/data/ at startup chmod ugo+w /opt/keycloak/data # Keycloak's GzipResourceEncodingProvider caches compressed theme resources here chmod -R ugo+w /opt/keycloak/data/tmp # buildkit

2026-09-16 22:53:01 UTC (buildkit.dockerfile.v0)

LABEL com.centurylinklabs.watchtower.lifecycle.pre-check=/watchtower-hooks/pre-check.sh

2026-09-16 22:53:01 UTC (buildkit.dockerfile.v0)

LABEL com.centurylinklabs.watchtower.lifecycle.pre-update=/watchtower-hooks/pre-update.sh

2026-09-16 22:53:01 UTC (buildkit.dockerfile.v0)

EXPOSE map[80/tcp:{}]

2026-09-16 22:53:01 UTC (buildkit.dockerfile.v0)

EXPOSE map[443/tcp:{}]

2026-09-16 22:53:01 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["/opt/appsmith/entrypoint.sh"]

2026-09-16 22:53:01 UTC (buildkit.dockerfile.v0)

HEALTHCHECK &{["CMD-SHELL" "\"/opt/appsmith/healthcheck.sh\""] "15s" "15s" "45s" "0s" '\x00'}

2026-09-16 22:53:01 UTC (buildkit.dockerfile.v0)

CMD ["/usr/bin/supervisord" "-n"]

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