{"architecture":"arm64","author":"installer-dev@jfrog.com","config":{"User":"nginx","ExposedPorts":{"443/tcp":{},"80/tcp":{}},"Env":["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin","NGINX_VERSION=1.23.4","PKG_RELEASE=1","NJS_VERSION=0.7.11","NGINX_DATA=/var/opt/jfrog/nginx"],"Entrypoint":["/entrypoint-nginx.sh"],"Volumes":{"/var/opt/jfrog/nginx":{}},"Labels":{"maintainer":"NGINX Docker Maintainers \u003cdocker-maint@nginx.com\u003e"},"StopSignal":"SIGTERM"},"created":"2025-02-01T19:41:52.745967623Z","history":[{"created":"2023-02-10T21:24:08.680236884Z","created_by":"/bin/sh -c #(nop) ADD file:9bd9ea42a9f3bdc769e80c6b8a4b117d65f73ae68e155a6172a1184e7ac8bcc1 in / "},{"created":"2023-02-10T21:24:08.79546184Z","created_by":"/bin/sh -c #(nop)  CMD [\"/bin/sh\"]","empty_layer":true},{"created":"2023-02-10T23:06:42.174671599Z","created_by":"/bin/sh -c #(nop)  LABEL maintainer=NGINX Docker Maintainers \u003cdocker-maint@nginx.com\u003e","empty_layer":true},{"created":"2023-03-28T21:40:35.402614553Z","created_by":"/bin/sh -c #(nop)  ENV NGINX_VERSION=1.23.4","empty_layer":true},{"created":"2023-03-28T21:40:35.491818686Z","created_by":"/bin/sh -c #(nop)  ENV PKG_RELEASE=1","empty_layer":true},{"created":"2023-03-28T21:40:40.73635302Z","created_by":"/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             \u0026\u0026 su nobody -s /bin/sh -c \"                 export HOME=${tempDir}                 \u0026\u0026 cd ${tempDir}                 \u0026\u0026 curl -f -O https://hg.nginx.org/pkg-oss/archive/${NGINX_VERSION}-${PKG_RELEASE}.tar.gz                 \u0026\u0026 PKGOSSCHECKSUM=\\\"8f3f6c1ddd984c0c7320d3bea25eee42749db6d69c251223cf91d69b8d80b703ab39eb94fcf731399a7693ebd8dd37d1b3232ea1184ca98e5ca0ba6165e1a05c *${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 -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 .build-deps             \u0026\u0026 apk add -X ${tempDir}/packages/alpine/ --no-cache $nginxPackages             ;;     esac     \u0026\u0026 apk del .checksum-deps     \u0026\u0026 if [ -n \"$tempDir\" ]; then rm -rf \"$tempDir\"; fi     \u0026\u0026 if [ -n \"/etc/apk/keys/abuild-key.rsa.pub\" ]; then rm -f /etc/apk/keys/abuild-key.rsa.pub; fi     \u0026\u0026 if [ -n \"/etc/apk/keys/nginx_signing.rsa.pub\" ]; then rm -f /etc/apk/keys/nginx_signing.rsa.pub; fi     \u0026\u0026 apk add --no-cache --virtual .gettext gettext     \u0026\u0026 mv /usr/bin/envsubst /tmp/         \u0026\u0026 runDeps=\"$(         scanelf --needed --nobanner /tmp/envsubst             | awk '{ gsub(/,/, \"\\nso:\", $2); print \"so:\" $2 }'             | sort -u             | xargs -r apk info --installed             | sort -u     )\"     \u0026\u0026 apk add --no-cache $runDeps     \u0026\u0026 apk del .gettext     \u0026\u0026 mv /tmp/envsubst /usr/local/bin/     \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"},{"created":"2023-03-28T21:40:40.856302145Z","created_by":"/bin/sh -c #(nop) COPY file:7b307b62e82255f040c9812421a30090bf9abf3685f27b02d77fcca99f997911 in / "},{"created":"2023-03-28T21:40:40.939516543Z","created_by":"/bin/sh -c #(nop) COPY file:5c18272734349488bd0c94ec8d382c872c1a0a435cca13bd4671353d6021d2cb in /docker-entrypoint.d "},{"created":"2023-03-28T21:40:41.019895429Z","created_by":"/bin/sh -c #(nop) COPY file:abbcbf84dc17ee4454b6b2e3cf914be88e02cf84d344ec45a5b31235379d722a in /docker-entrypoint.d "},{"created":"2023-03-28T21:40:41.099071248Z","created_by":"/bin/sh -c #(nop) COPY file:e57eef017a414ca793499729d80a7b9075790c9a804f930f1417e56d506970cf in /docker-entrypoint.d "},{"created":"2023-03-28T21:40:41.174450968Z","created_by":"/bin/sh -c #(nop)  ENTRYPOINT [\"/docker-entrypoint.sh\"]","empty_layer":true},{"created":"2023-03-28T21:40:41.255137415Z","created_by":"/bin/sh -c #(nop)  EXPOSE 80","empty_layer":true},{"created":"2023-03-28T21:40:41.335417261Z","created_by":"/bin/sh -c #(nop)  STOPSIGNAL SIGQUIT","empty_layer":true},{"created":"2023-03-28T21:40:41.414109453Z","created_by":"/bin/sh -c #(nop)  CMD [\"nginx\" \"-g\" \"daemon off;\"]","empty_layer":true},{"created":"2023-03-28T21:41:23.11614885Z","created_by":"/bin/sh -c #(nop)  ENV NJS_VERSION=0.7.11","empty_layer":true},{"created":"2023-03-28T21:41:28.814350546Z","created_by":"/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${PKG_RELEASE}         nginx-module-geoip=${NGINX_VERSION}-r${PKG_RELEASE}         nginx-module-image-filter=${NGINX_VERSION}-r${PKG_RELEASE}         nginx-module-njs=${NGINX_VERSION}.${NJS_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                 libxslt-dev                 gd-dev                 geoip-dev                 libedit-dev                 bash                 alpine-sdk                 findutils             \u0026\u0026 su nobody -s /bin/sh -c \"                 export HOME=${tempDir}                 \u0026\u0026 cd ${tempDir}                 \u0026\u0026 curl -f -O https://hg.nginx.org/pkg-oss/archive/${NGINX_VERSION}-${PKG_RELEASE}.tar.gz                 \u0026\u0026 PKGOSSCHECKSUM=\\\"8f3f6c1ddd984c0c7320d3bea25eee42749db6d69c251223cf91d69b8d80b703ab39eb94fcf731399a7693ebd8dd37d1b3232ea1184ca98e5ca0ba6165e1a05c *${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 module-geoip module-image-filter module-njs module-xslt                 \u0026\u0026 apk index -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 .build-deps             \u0026\u0026 apk add -X ${tempDir}/packages/alpine/ --no-cache $nginxPackages             ;;     esac     \u0026\u0026 apk del .checksum-deps     \u0026\u0026 if [ -n \"$tempDir\" ]; then rm -rf \"$tempDir\"; fi     \u0026\u0026 if [ -n \"/etc/apk/keys/abuild-key.rsa.pub\" ]; then rm -f /etc/apk/keys/abuild-key.rsa.pub; fi     \u0026\u0026 if [ -n \"/etc/apk/keys/nginx_signing.rsa.pub\" ]; then rm -f /etc/apk/keys/nginx_signing.rsa.pub; fi     \u0026\u0026 apk add --no-cache curl ca-certificates"},{"created":"2023-03-30T01:05:57.514103661Z","created_by":"COPY Dockerfile /docker/art-nginx/ # buildkit","comment":"buildkit.dockerfile.v0"},{"created":"2023-03-30T01:06:12.091941265Z","created_by":"RUN /bin/sh -c apk --no-cache add shadow \u0026\u0026     apk --no-cache add libcap \u0026\u0026     apk --no-cache add dcron \u0026\u0026     apk --no-cache add bash \u0026\u0026     apk --no-cache add logrotate \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":"2023-03-30T01:06:12.139814923Z","created_by":"COPY /etc/tls/private/example.key /etc/tls/private/example.key # buildkit","comment":"buildkit.dockerfile.v0"},{"created":"2023-03-30T01:06:12.187750712Z","created_by":"COPY /etc/tls/certs/example.crt /etc/tls/certs/example.crt # buildkit","comment":"buildkit.dockerfile.v0"},{"created":"2025-02-01T19:41:51.853100549Z","created_by":"MAINTAINER installer-dev@jfrog.com","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2025-02-01T19:41:51.853100549Z","created_by":"COPY functions.sh / # buildkit","comment":"buildkit.dockerfile.v0"},{"created":"2025-02-01T19:41:51.921419948Z","created_by":"COPY entrypoint-nginx.sh / # buildkit","comment":"buildkit.dockerfile.v0"},{"created":"2025-02-01T19:41:51.989239428Z","created_by":"COPY updateConf.sh / # buildkit","comment":"buildkit.dockerfile.v0"},{"created":"2025-02-01T19:41:52.070041909Z","created_by":"COPY artifactory-pro.conf /artifactory.conf # buildkit","comment":"buildkit.dockerfile.v0"},{"created":"2025-02-01T19:41:52.145790892Z","created_by":"COPY Dockerfile.nginx /docker/nginx-artifactory-pro/ # buildkit","comment":"buildkit.dockerfile.v0"},{"created":"2025-02-01T19:41:52.145790892Z","created_by":"ENV NGINX_DATA=/var/opt/jfrog/nginx","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2025-02-01T19:41:52.701135072Z","created_by":"RUN /bin/sh -c groupmod -g 107 nginx \u0026\u0026     usermod -u 104 nginx \u0026\u0026     chmod +r /etc/tls/private/example.key /etc/tls/certs/example.crt \u0026\u0026     chmod +x /entrypoint-nginx.sh /updateConf.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     setcap CAP_NET_BIND_SERVICE=+eip /usr/sbin/nginx \u0026\u0026     touch /var/run/nginx.pid \u0026\u0026     chown -R 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 \u0026\u0026     rm -rf /etc/crontabs/root \u0026\u0026     touch /run/crond.pid /run/dcron.pid /etc/crontabs/root \u0026\u0026     chown -R nginx:nginx /usr/sbin/crond /usr/bin/crontab /etc/crontabs/ /run/crond.pid /run/dcron.pid \u0026\u0026     chmod +x /usr/bin/crontab \u0026\u0026     setcap cap_setgid=ep /usr/sbin/crond \u0026\u0026     setcap cap_setgid=ep /usr/bin/crontab # buildkit","comment":"buildkit.dockerfile.v0"},{"created":"2025-02-01T19:41:52.745967623Z","created_by":"COPY nginx.conf /etc/nginx/nginx.conf # buildkit","comment":"buildkit.dockerfile.v0"},{"created":"2025-02-01T19:41:52.745967623Z","created_by":"USER nginx","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2025-02-01T19:41:52.745967623Z","created_by":"VOLUME [/var/opt/jfrog/nginx]","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2025-02-01T19:41:52.745967623Z","created_by":"EXPOSE map[443/tcp:{} 80/tcp:{}]","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2025-02-01T19:41:52.745967623Z","created_by":"STOPSIGNAL SIGTERM","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2025-02-01T19:41:52.745967623Z","created_by":"ENTRYPOINT [\"/entrypoint-nginx.sh\"]","comment":"buildkit.dockerfile.v0","empty_layer":true}],"os":"linux","rootfs":{"type":"layers","diff_ids":["sha256:edf70074bd40c0b1216367c29c18d453b43cc69e5123268ba66dd45d86a9e8a8","sha256:06ec222ac2f65bf60d520f600a6e90d1cc6e67921d9d6377d5fc31c25b434655","sha256:d09796954c880239c8865712e411768988abcc2ce3cd5728a1ddfe57d81c9ce6","sha256:4bac21ce81ffa975ad272534f456674ce8376832bf4d6dd7d1a95e4fb5f35295","sha256:9ca793aaa645deb1f9530b9d5f4dadcd9bf44e5f352c91ac71887834aab49372","sha256:4c187c83a00595d5a27a6998369c00109e3ccb9accd34a6f9af9f9b99ad5c3ce","sha256:2d8d506ae4eed2572a44090ead4b01f8cf3dc87eba1fdbc06cb39a42f050bc84","sha256:95cc0d27aa10b38a10b772f72d4f3d133a69d8f1877de14a2c1d020fbc56b59d","sha256:394b0c0dca025fc1bb631e8f52da9d856342a0fe0e5caec75ca3706048bc4dd1","sha256:6ac564a62561df5eb5ca24ede06c6a4a4948b75a88feadcb32a99e4f4408396a","sha256:42532783d900b4a61f3e96ca0c986c2b7115304c7af7964b4d02d56ca566ea28","sha256:2e7bc9a08495b2324b997f2e1efd622aa0f6380e430e7f9d7f00b7add2ef7950","sha256:ff58cf27ed704792dc2819b930d110e7dc1d24b85ef935c528b37039e87d5f4b","sha256:473b4756f280719e49f51c0d3c585d6da1fc98b70cd1eb6a74827f694503ec8f","sha256:fccebb1adebc81edc01aa6ef3b8c8dffd287171ad1cc8d4cc12f57a62e4e5aee","sha256:125b3082687e5625877d2bf0eb03b2eccf43799056469571bd9c0863c5157578","sha256:a48c63c6e42a7bb5d2bce66f5845673cf3fd3bebf9ef96aa16b67514407970b9","sha256:0ec26d32c232b4a577b02e2990ebfce5c0687190b2678f2b95236cf4228e3108"]}}