{"architecture":"amd64","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.8","PKG_RELEASE=1","DYNPKG_RELEASE=1","NJS_VERSION=0.9.6","NJS_RELEASE=1","ACME_VERSION=0.3.1","TARGETARCH=amd64","SUPERCRONIC_VERSION=0.2.44","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-04-13T19:34:19.693652859Z","history":[{"created":"2026-01-28T01:18:04.977843834Z","created_by":"ADD alpine-minirootfs-3.23.3-x86_64.tar.gz / # buildkit","comment":"buildkit.dockerfile.v0"},{"created":"2026-01-28T01:18:04.977843834Z","created_by":"CMD [\"/bin/sh\"]","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2026-04-07T17:31:12.396145313Z","created_by":"LABEL maintainer=NGINX Docker Maintainers \u003cdocker-maint@nginx.com\u003e","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2026-04-07T17:31:12.396145313Z","created_by":"ENV NGINX_VERSION=1.29.8","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2026-04-07T17:31:12.396145313Z","created_by":"ENV PKG_RELEASE=1","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2026-04-07T17:31:12.396145313Z","created_by":"ENV DYNPKG_RELEASE=1","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2026-04-07T17:31:12.396145313Z","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 DEPS=$(apk query --summarize depends --recursive --no-cache                        --repository \"@nginxorg https://nginx.org/packages/mainline/alpine/v$(egrep -o '^[0-9]+\\.[0-9]+' /etc/alpine-release)/main\"                        ${nginxPackages/=/@nginxorg=})             \u0026\u0026 apk add --no-cache $DEPS             \u0026\u0026 apk add --repositories-file /dev/null -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=\\\"7074c3ba1ece708140afd0220b16df77651fbb56cc012e901bc1c4a80531872b7a58ad97a28357646575ce625e94a0540796c045f95d33e40e6d3874ce7b3d79 *${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 DEPS=$(apk query --summarize depends --recursive --no-cache                        --repository \"@nginxorg ${tempDir}/packages/alpine/\"                        ${nginxPackages/=/@nginxorg=})             \u0026\u0026 apk add --no-cache $DEPS             \u0026\u0026 apk add --repositories-file /dev/null -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-04-07T17:31:12.432181371Z","created_by":"COPY docker-entrypoint.sh / # buildkit","comment":"buildkit.dockerfile.v0"},{"created":"2026-04-07T17:31:12.450913339Z","created_by":"COPY 10-listen-on-ipv6-by-default.sh /docker-entrypoint.d # buildkit","comment":"buildkit.dockerfile.v0"},{"created":"2026-04-07T17:31:12.468576621Z","created_by":"COPY 15-local-resolvers.envsh /docker-entrypoint.d # buildkit","comment":"buildkit.dockerfile.v0"},{"created":"2026-04-07T17:31:12.485662093Z","created_by":"COPY 20-envsubst-on-templates.sh /docker-entrypoint.d # buildkit","comment":"buildkit.dockerfile.v0"},{"created":"2026-04-07T17:31:12.503153379Z","created_by":"COPY 30-tune-worker-processes.sh /docker-entrypoint.d # buildkit","comment":"buildkit.dockerfile.v0"},{"created":"2026-04-07T17:31:12.503153379Z","created_by":"ENTRYPOINT [\"/docker-entrypoint.sh\"]","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2026-04-07T17:31:12.503153379Z","created_by":"EXPOSE map[80/tcp:{}]","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2026-04-07T17:31:12.503153379Z","created_by":"STOPSIGNAL SIGQUIT","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2026-04-07T17:31:12.503153379Z","created_by":"CMD [\"nginx\" \"-g\" \"daemon off;\"]","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2026-04-07T17:49:12.015849477Z","created_by":"ENV NJS_VERSION=0.9.6","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2026-04-07T17:49:12.015849477Z","created_by":"ENV NJS_RELEASE=1","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2026-04-07T17:49:12.015849477Z","created_by":"ENV ACME_VERSION=0.3.1","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2026-04-07T17:49:12.015849477Z","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=\\\"7074c3ba1ece708140afd0220b16df77651fbb56cc012e901bc1c4a80531872b7a58ad97a28357646575ce625e94a0540796c045f95d33e40e6d3874ce7b3d79 *${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-04-08T01:11:41.601673841Z","created_by":"ARG TARGETARCH=amd64","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2026-04-08T01:11:41.601673841Z","created_by":"ENV TARGETARCH=amd64 SUPERCRONIC_VERSION=0.2.44","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2026-04-08T01:11:41.601673841Z","created_by":"COPY Dockerfile /docker/art-nginx/ # buildkit","comment":"buildkit.dockerfile.v0"},{"created":"2026-04-08T01:11:44.348162458Z","created_by":"RUN |1 TARGETARCH=amd64 /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-04-08T01:11:45.393872451Z","created_by":"RUN |1 TARGETARCH=amd64 /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-04-13T19:34:19.199946022Z","created_by":"MAINTAINER installer-dev@jfrog.com","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2026-04-13T19:34:19.199946022Z","created_by":"COPY functions.sh / # buildkit","comment":"buildkit.dockerfile.v0"},{"created":"2026-04-13T19:34:19.261030325Z","created_by":"COPY entrypoint-nginx.sh / # buildkit","comment":"buildkit.dockerfile.v0"},{"created":"2026-04-13T19:34:19.329230534Z","created_by":"COPY artifactory-pro.conf /artifactory.conf # buildkit","comment":"buildkit.dockerfile.v0"},{"created":"2026-04-13T19:34:19.396415359Z","created_by":"COPY Dockerfile.nginx /docker/nginx-artifactory-pro/ # buildkit","comment":"buildkit.dockerfile.v0"},{"created":"2026-04-13T19:34:19.396415359Z","created_by":"ENV NGINX_DATA=/var/opt/jfrog/nginx","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2026-04-13T19:34:19.65112261Z","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-04-13T19:34:19.693652859Z","created_by":"COPY nginx.conf /etc/nginx/nginx.conf # buildkit","comment":"buildkit.dockerfile.v0"},{"created":"2026-04-13T19:34:19.693652859Z","created_by":"USER nginx","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2026-04-13T19:34:19.693652859Z","created_by":"VOLUME [/var/opt/jfrog/nginx]","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2026-04-13T19:34:19.693652859Z","created_by":"EXPOSE [8080/tcp 8443/tcp]","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2026-04-13T19:34:19.693652859Z","created_by":"STOPSIGNAL SIGTERM","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2026-04-13T19:34:19.693652859Z","created_by":"ENTRYPOINT [\"/entrypoint-nginx.sh\"]","comment":"buildkit.dockerfile.v0","empty_layer":true}],"os":"linux","rootfs":{"type":"layers","diff_ids":["sha256:989e799e634906e94dc9a5ee2ee26fc92ad260522990f26e707861a5f52bf64e","sha256:6e27cbd26acbdb7f06b136c2d7ff7d6bb0e19d9bfbb66aa59226a3afc0bc7c56","sha256:bdb037c8c9ed192d39f80dd8b5bf221b3e49619ce84b0e7a22ba71e861c2292f","sha256:f365cb491667f4c85433ddefbc16fde1784d45d34de6e5fce357c8d2297845a8","sha256:0e7bffb1d445d0d2ceec8e48afe2d9c9493d60216ca5c99b5a24d85c73d6c28f","sha256:2fe86858894fd2885d9aa2da95e963f4630e15c23eaabc5de502e8a8d0ead8e8","sha256:9f6dabb2aee2b2fd98bb9015a35e4d999e07a87c27a38971ac24bfd0fa6b77e2","sha256:3d4a088932cfb8b5a21cfa3b539a4bac3f5e090d5924c46f289571a633ea20ec","sha256:1776fd86ea856fc4bd5d4a0a07ccb8fa88ff0ce18a9317b6d30486e1b973b720","sha256:9ecda5bfb9037df7542cda5c33153cc9011c39bd2ba5aabd12a470be4adb9ec2","sha256:489b54ce535f041ef99b4f88ba9106e179bf8b3800f6935a4e3af224b1f5f9c3","sha256:c1e91e6385159c10d2ffc14755189823d26cdb2ea9a220d9758fe6d3e9112452","sha256:d98bcdfde3817f8e44ba5112fbef731b9eccb6510dfdadb4a4bc74e6914ee990","sha256:28a4de8580f48c539778a7c4c22c3c033d2bc8f2fd0200b07b028da3d42f5bd3","sha256:6fd41fe25b2c694c0ae627a6bd1387a5f85a52ab6ccc594114b33e9050d9725d","sha256:1799f0998abf44efdc8ab0066995b76d0ca626c8789fa50c3b3ae37749cb8559","sha256:c5f77067b9528a4f17ac88ead2e663f113c5d8ae726957bb99c080baf39074bf"]}}