{"architecture":"arm64","author":"installer-dev@jfrog.com","config":{"User":"nginx","ExposedPorts":{"80/tcp":{},"8080/tcp":{},"8443/tcp":{}},"Env":["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin","NGINX_VERSION=1.29.5","PKG_RELEASE=1","DYNPKG_RELEASE=1","NJS_VERSION=0.9.5","NJS_RELEASE=1","ACME_VERSION=0.3.1","TARGETARCH=arm64","SUPERCRONIC_VERSION=0.2.42","NGINX_DATA=/var/opt/jfrog/nginx"],"Entrypoint":["/entrypoint-nginx.sh"],"Volumes":{"/var/opt/jfrog/nginx":{}},"WorkingDir":"/","Labels":{"maintainer":"NGINX Docker Maintainers \u003cdocker-maint@nginx.com\u003e"},"StopSignal":"SIGTERM"},"created":"2026-03-02T09:07:42.29465879Z","history":[{"created":"2026-01-28T01:18:09.724934761Z","created_by":"ADD alpine-minirootfs-3.23.3-aarch64.tar.gz / # buildkit","comment":"buildkit.dockerfile.v0"},{"created":"2026-01-28T01:18:09.724934761Z","created_by":"CMD [\"/bin/sh\"]","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2026-02-04T23:53:29.570392028Z","created_by":"LABEL maintainer=NGINX Docker Maintainers \u003cdocker-maint@nginx.com\u003e","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2026-02-04T23:53:29.570392028Z","created_by":"ENV NGINX_VERSION=1.29.5","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2026-02-04T23:53:29.570392028Z","created_by":"ENV PKG_RELEASE=1","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2026-02-04T23:53:29.570392028Z","created_by":"ENV DYNPKG_RELEASE=1","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2026-02-04T23:53:29.570392028Z","created_by":"RUN /bin/sh -c set -x     \u0026\u0026 addgroup -g 101 -S nginx     \u0026\u0026 adduser -S -D -H -u 101 -h /var/cache/nginx -s /sbin/nologin -G nginx -g nginx nginx     \u0026\u0026 apkArch=\"$(cat /etc/apk/arch)\"     \u0026\u0026 nginxPackages=\"         nginx=${NGINX_VERSION}-r${PKG_RELEASE}     \"     \u0026\u0026 apk add --no-cache --virtual .checksum-deps         openssl     \u0026\u0026 case \"$apkArch\" in         x86_64|aarch64)             set -x             \u0026\u0026 KEY_SHA512=\"e09fa32f0a0eab2b879ccbbc4d0e4fb9751486eedda75e35fac65802cc9faa266425edf83e261137a2f4d16281ce2c1a5f4502930fe75154723da014214f0655\"             \u0026\u0026 wget -O /tmp/nginx_signing.rsa.pub https://nginx.org/keys/nginx_signing.rsa.pub             \u0026\u0026 if echo \"$KEY_SHA512 */tmp/nginx_signing.rsa.pub\" | sha512sum -c -; then                 echo \"key verification succeeded!\";                 mv /tmp/nginx_signing.rsa.pub /etc/apk/keys/;             else                 echo \"key verification failed!\";                 exit 1;             fi             \u0026\u0026 apk add -X \"https://nginx.org/packages/mainline/alpine/v$(egrep -o '^[0-9]+\\.[0-9]+' /etc/alpine-release)/main\" --no-cache $nginxPackages             ;;         *)             set -x             \u0026\u0026 tempDir=\"$(mktemp -d)\"             \u0026\u0026 chown nobody:nobody $tempDir             \u0026\u0026 apk add --no-cache --virtual .build-deps                 gcc                 libc-dev                 make                 openssl-dev                 pcre2-dev                 zlib-dev                 linux-headers                 bash                 alpine-sdk                 findutils                 curl             \u0026\u0026 su nobody -s /bin/sh -c \"                 export HOME=${tempDir}                 \u0026\u0026 cd ${tempDir}                 \u0026\u0026 curl -f -L -O https://github.com/nginx/pkg-oss/archive/${NGINX_VERSION}-${PKG_RELEASE}.tar.gz                 \u0026\u0026 PKGOSSCHECKSUM=\\\"b8584eaa97130ba7743dfbb2a10f665d64cb54b864e2038d0fd298d24682fc05eb4472738430b15862dabc6f374917f1b9889117051a852d36d0a6c8bc898921 *${NGINX_VERSION}-${PKG_RELEASE}.tar.gz\\\"                 \u0026\u0026 if [ \\\"\\$(openssl sha512 -r ${NGINX_VERSION}-${PKG_RELEASE}.tar.gz)\\\" = \\\"\\$PKGOSSCHECKSUM\\\" ]; then                     echo \\\"pkg-oss tarball checksum verification succeeded!\\\";                 else                     echo \\\"pkg-oss tarball checksum verification failed!\\\";                     exit 1;                 fi                 \u0026\u0026 tar xzvf ${NGINX_VERSION}-${PKG_RELEASE}.tar.gz                 \u0026\u0026 cd pkg-oss-${NGINX_VERSION}-${PKG_RELEASE}                 \u0026\u0026 cd alpine                 \u0026\u0026 make base                 \u0026\u0026 apk index --allow-untrusted -o ${tempDir}/packages/alpine/${apkArch}/APKINDEX.tar.gz ${tempDir}/packages/alpine/${apkArch}/*.apk                 \u0026\u0026 abuild-sign -k ${tempDir}/.abuild/abuild-key.rsa ${tempDir}/packages/alpine/${apkArch}/APKINDEX.tar.gz                 \"             \u0026\u0026 cp ${tempDir}/.abuild/abuild-key.rsa.pub /etc/apk/keys/             \u0026\u0026 apk del --no-network .build-deps             \u0026\u0026 apk add -X ${tempDir}/packages/alpine/ --no-cache $nginxPackages             ;;     esac     \u0026\u0026 apk del --no-network .checksum-deps     \u0026\u0026 if [ -n \"$tempDir\" ]; then rm -rf \"$tempDir\"; fi     \u0026\u0026 if [ -f \"/etc/apk/keys/abuild-key.rsa.pub\" ]; then rm -f /etc/apk/keys/abuild-key.rsa.pub; fi     \u0026\u0026 apk add --no-cache gettext-envsubst     \u0026\u0026 apk add --no-cache tzdata     \u0026\u0026 ln -sf /dev/stdout /var/log/nginx/access.log     \u0026\u0026 ln -sf /dev/stderr /var/log/nginx/error.log     \u0026\u0026 mkdir /docker-entrypoint.d # buildkit","comment":"buildkit.dockerfile.v0"},{"created":"2026-02-04T23:53:29.599006009Z","created_by":"COPY docker-entrypoint.sh / # buildkit","comment":"buildkit.dockerfile.v0"},{"created":"2026-02-04T23:53:29.621756122Z","created_by":"COPY 10-listen-on-ipv6-by-default.sh /docker-entrypoint.d # buildkit","comment":"buildkit.dockerfile.v0"},{"created":"2026-02-04T23:53:29.646003568Z","created_by":"COPY 15-local-resolvers.envsh /docker-entrypoint.d # buildkit","comment":"buildkit.dockerfile.v0"},{"created":"2026-02-04T23:53:29.671557737Z","created_by":"COPY 20-envsubst-on-templates.sh /docker-entrypoint.d # buildkit","comment":"buildkit.dockerfile.v0"},{"created":"2026-02-04T23:53:29.696718182Z","created_by":"COPY 30-tune-worker-processes.sh /docker-entrypoint.d # buildkit","comment":"buildkit.dockerfile.v0"},{"created":"2026-02-04T23:53:29.696718182Z","created_by":"ENTRYPOINT [\"/docker-entrypoint.sh\"]","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2026-02-04T23:53:29.696718182Z","created_by":"EXPOSE map[80/tcp:{}]","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2026-02-04T23:53:29.696718182Z","created_by":"STOPSIGNAL SIGQUIT","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2026-02-04T23:53:29.696718182Z","created_by":"CMD [\"nginx\" \"-g\" \"daemon off;\"]","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2026-02-05T00:07:15.895793372Z","created_by":"ENV NJS_VERSION=0.9.5","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2026-02-05T00:07:15.895793372Z","created_by":"ENV NJS_RELEASE=1","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2026-02-05T00:07:15.895793372Z","created_by":"ENV ACME_VERSION=0.3.1","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2026-02-05T00:07:15.895793372Z","created_by":"RUN /bin/sh -c set -x     \u0026\u0026 apkArch=\"$(cat /etc/apk/arch)\"     \u0026\u0026 nginxPackages=\"         nginx=${NGINX_VERSION}-r${PKG_RELEASE}         nginx-module-xslt=${NGINX_VERSION}-r${DYNPKG_RELEASE}         nginx-module-geoip=${NGINX_VERSION}-r${DYNPKG_RELEASE}         nginx-module-image-filter=${NGINX_VERSION}-r${DYNPKG_RELEASE}         nginx-module-njs=${NGINX_VERSION}.${NJS_VERSION}-r${NJS_RELEASE}         nginx-module-acme=${NGINX_VERSION}.${ACME_VERSION}-r${PKG_RELEASE}     \"     \u0026\u0026 apk add --no-cache --virtual .checksum-deps         openssl     \u0026\u0026 case \"$apkArch\" in         x86_64|aarch64)             apk add -X \"https://nginx.org/packages/mainline/alpine/v$(egrep -o '^[0-9]+\\.[0-9]+' /etc/alpine-release)/main\" --no-cache $nginxPackages             ;;         *)             set -x             \u0026\u0026 tempDir=\"$(mktemp -d)\"             \u0026\u0026 chown nobody:nobody $tempDir             \u0026\u0026 apk add --no-cache --virtual .build-deps                 gcc                 libc-dev                 make                 openssl-dev                 pcre2-dev                 zlib-dev                 linux-headers                 libxslt-dev                 gd-dev                 geoip-dev                 libedit-dev                 bash                 alpine-sdk                 findutils                 curl                 cargo                 clang-libclang             \u0026\u0026 su nobody -s /bin/sh -c \"                 export HOME=${tempDir}                 \u0026\u0026 cd ${tempDir}                 \u0026\u0026 curl -f -L -O https://github.com/nginx/pkg-oss/archive/${NGINX_VERSION}-${PKG_RELEASE}.tar.gz                 \u0026\u0026 PKGOSSCHECKSUM=\\\"b8584eaa97130ba7743dfbb2a10f665d64cb54b864e2038d0fd298d24682fc05eb4472738430b15862dabc6f374917f1b9889117051a852d36d0a6c8bc898921 *${NGINX_VERSION}-${PKG_RELEASE}.tar.gz\\\"                 \u0026\u0026 if [ \\\"\\$(openssl sha512 -r ${NGINX_VERSION}-${PKG_RELEASE}.tar.gz)\\\" = \\\"\\$PKGOSSCHECKSUM\\\" ]; then                     echo \\\"pkg-oss tarball checksum verification succeeded!\\\";                 else                     echo \\\"pkg-oss tarball checksum verification failed!\\\";                     exit 1;                 fi                 \u0026\u0026 tar xzvf ${NGINX_VERSION}-${PKG_RELEASE}.tar.gz                 \u0026\u0026 cd pkg-oss-${NGINX_VERSION}-${PKG_RELEASE}                 \u0026\u0026 cd alpine                 \u0026\u0026 export BUILDTARGET=\\\"module-geoip module-image-filter module-njs module-xslt module-acme\\\"                 \u0026\u0026 if [ \\\"\\$(apk --print-arch)\\\" = \\\"armhf\\\" ]; then BUILDTARGET=\\\"\\$( echo \\$BUILDTARGET | sed 's,module-acme,,' )\\\"; fi                 \u0026\u0026 make \\$BUILDTARGET                 \u0026\u0026 apk index --allow-untrusted -o ${tempDir}/packages/alpine/${apkArch}/APKINDEX.tar.gz ${tempDir}/packages/alpine/${apkArch}/*.apk                 \u0026\u0026 abuild-sign -k ${tempDir}/.abuild/abuild-key.rsa ${tempDir}/packages/alpine/${apkArch}/APKINDEX.tar.gz                 \"             \u0026\u0026 cp ${tempDir}/.abuild/abuild-key.rsa.pub /etc/apk/keys/             \u0026\u0026 apk del --no-network .build-deps             \u0026\u0026 if [ \"$apkArch\" = \"armhf\" ]; then nginxPackages=\"$( echo $nginxPackages | sed 's,nginx-module-acme=.*,,')\"; fi             \u0026\u0026 apk add -X ${tempDir}/packages/alpine/ --no-cache $nginxPackages             ;;     esac     \u0026\u0026 apk del --no-network .checksum-deps     \u0026\u0026 if [ -n \"$tempDir\" ]; then rm -rf \"$tempDir\"; fi     \u0026\u0026 if [ -f \"/etc/apk/keys/abuild-key.rsa.pub\" ]; then rm -f /etc/apk/keys/abuild-key.rsa.pub; fi     \u0026\u0026 apk add --no-cache curl ca-certificates # buildkit","comment":"buildkit.dockerfile.v0"},{"created":"2026-02-06T09:11:07.518479884Z","created_by":"ARG TARGETARCH=arm64","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2026-02-06T09:11:07.518479884Z","created_by":"ENV TARGETARCH=arm64 SUPERCRONIC_VERSION=0.2.42","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2026-02-06T09:11:07.518479884Z","created_by":"COPY Dockerfile /docker/art-nginx/ # buildkit","comment":"buildkit.dockerfile.v0"},{"created":"2026-02-06T09:11:21.91709371Z","created_by":"RUN |1 TARGETARCH=arm64 /bin/sh -c apk --no-cache add shadow \u0026\u0026     apk --no-cache add libcap \u0026\u0026     apk --no-cache add bash \u0026\u0026     apk --no-cache add logrotate \u0026\u0026     apk --no-cache add openssl \u0026\u0026     apk --no-cache add --update busybox-suid \u0026\u0026     apk --no-cache upgrade curl libcurl apk-tools \u0026\u0026     apk del nginx-module-xslt nginx-module-image-filter # buildkit","comment":"buildkit.dockerfile.v0"},{"created":"2026-02-06T09:11:24.537540659Z","created_by":"RUN |1 TARGETARCH=arm64 /bin/sh -c curl -L https://releases.jfrog.io/artifactory/installers/supercronic/supercronic/${SUPERCRONIC_VERSION}/supercronic-linux-$TARGETARCH -o /usr/bin/supercronic \u0026\u0026     chmod +x /usr/bin/supercronic # buildkit","comment":"buildkit.dockerfile.v0"},{"created":"2026-03-02T09:07:41.617726795Z","created_by":"MAINTAINER installer-dev@jfrog.com","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2026-03-02T09:07:41.617726795Z","created_by":"COPY functions.sh / # buildkit","comment":"buildkit.dockerfile.v0"},{"created":"2026-03-02T09:07:41.677900648Z","created_by":"COPY entrypoint-nginx.sh / # buildkit","comment":"buildkit.dockerfile.v0"},{"created":"2026-03-02T09:07:41.736882248Z","created_by":"COPY artifactory-pro.conf /artifactory.conf # buildkit","comment":"buildkit.dockerfile.v0"},{"created":"2026-03-02T09:07:41.802326122Z","created_by":"COPY Dockerfile.nginx /docker/nginx-artifactory-pro/ # buildkit","comment":"buildkit.dockerfile.v0"},{"created":"2026-03-02T09:07:41.802326122Z","created_by":"ENV NGINX_DATA=/var/opt/jfrog/nginx","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2026-03-02T09:07:42.254833463Z","created_by":"RUN /bin/sh -c groupmod -g 107 nginx \u0026\u0026     usermod -u 104 nginx \u0026\u0026     chmod +x /entrypoint-nginx.sh \u0026\u0026     mkdir -p ${NGINX_DATA}/logs \u0026\u0026     mkdir -p ${NGINX_DATA}/conf.d \u0026\u0026     mkdir -p ${NGINX_DATA}/ssl \u0026\u0026     mkdir -p /var/cache/nginx /var/lib/nginx \u0026\u0026     rm -rf /var/log/nginx /etc/nginx/conf.d \u0026\u0026     ln -s ${NGINX_DATA}/logs /var/log/nginx \u0026\u0026     ln -s ${NGINX_DATA}/conf.d /etc/nginx/conf.d \u0026\u0026     ln -s ${NGINX_DATA}/ssl /etc/nginx/ssl \u0026\u0026     touch /var/run/nginx.pid \u0026\u0026     chown -R nginx:nginx ${NGINX_DATA} /var/lib/nginx /var/log/nginx /var/cache/nginx /var/run/nginx.pid \u0026\u0026     chmod -R go+w ${NGINX_DATA} /var/lib/nginx /var/cache/nginx /var/run/nginx.pid \u0026\u0026     ln -s /dev/stdout ${NGINX_DATA}/logs/access.log \u0026\u0026     ln -s /dev/stderr ${NGINX_DATA}/logs/error.log # buildkit","comment":"buildkit.dockerfile.v0"},{"created":"2026-03-02T09:07:42.29465879Z","created_by":"COPY nginx.conf /etc/nginx/nginx.conf # buildkit","comment":"buildkit.dockerfile.v0"},{"created":"2026-03-02T09:07:42.29465879Z","created_by":"USER nginx","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2026-03-02T09:07:42.29465879Z","created_by":"VOLUME [/var/opt/jfrog/nginx]","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2026-03-02T09:07:42.29465879Z","created_by":"EXPOSE [8080/tcp 8443/tcp]","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2026-03-02T09:07:42.29465879Z","created_by":"STOPSIGNAL SIGTERM","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2026-03-02T09:07:42.29465879Z","created_by":"ENTRYPOINT [\"/entrypoint-nginx.sh\"]","comment":"buildkit.dockerfile.v0","empty_layer":true}],"os":"linux","rootfs":{"type":"layers","diff_ids":["sha256:45f3ea5848e8a25ca27718b640a21ffd8c8745d342a24e1d4ddfc8c449b0a724","sha256:cfbf14f957f135ecac2f5cdb4300b7da195c76c5a4fca78c607f72ac5d441b58","sha256:ce442f0e19c5d92e00b35bd42dd09a30f888fe20fe4f67312fbecb971dc23332","sha256:b55a1191629ec484f3f711c05a6c942612e3a98d52587ec1b15a540ba356b054","sha256:ca1e0477244ef9f19fbf1ba3e2e90adb8970d6c0ba2e5e7c3cebdccd75cc0e9a","sha256:e7a74677e0bc45b7dd960eaefe32a84ac5e79df7674251a62e8c22adf3d5b6af","sha256:a5aee8cb909c972fc4c418d1ffbfb9662d41070218c98a2f55c062bb45c9771a","sha256:5196ca0ce6008355f2f58276a7628e88b6cb88befd0aa71ca3ba1f2785b1342b","sha256:64f03961fd7e15b1e58bbbd1a3acc45a17bddc48f24da36f54ffdc1d578b8496","sha256:e69c6ec90cd734cc76ef8bc887fcb039c65ee6fe653ab222efb0189acdbb0e5d","sha256:590947ad0288d75f87f19304deb05ef772cd6c78df04f7eb314b82ac85e13431","sha256:64750b678c65c4d32d72da7ae8637d0ca17d74999c797eed67662e9206458b31","sha256:469a9f664a27975d7312f19edd9cbe0edcdf5fc3c10442e2ada9e356e09040bd","sha256:ae96bfdb4dbcf1f145369428818712333f6f4d0c6932687e1dacea9bca71b1ef","sha256:01d17b9ab3fdc86272eece1563dbd2668722d05c327eb96f4773d719afd4f9f5","sha256:294d87c433d18c7c14d236f5339a32bb4576ac0cf4fd5a55c218068e7b840144","sha256:d9dd09088b80cd77bf148ddd1ba8e0afdf799c8d76ef2d6c28d1d748c9a32617"]}}