| ADD alpine-minirootfs-3.24.1-x86_64.tar.gz / # buildkit |
| CMD ["/bin/sh"] |
| ARG TARGETARCH=amd64 |
| LABEL maintainer=argus |
| LABEL description=nginx with HTTP/3, ModSecurity v3, and OWASP CRS |
| LABEL nginx.version= |
| LABEL modsecurity.version= |
| LABEL owasp-crs.version= |
| RUN |1 TARGETARCH=amd64 /bin/sh -c apk add --no-cache openssl curl geoip libfuzzy2 libstdc++ libxml2 lmdb lua5.3-libs pcre2 yajl zlib brotli-libs zstd-libs tzdata ca-certificates logrotate # buildkit |
| RUN |1 TARGETARCH=amd64 /bin/sh -c addgroup -g 101 -S nginx && adduser -S -D -H -u 101 -h /var/cache/nginx -s /sbin/nologin -G nginx -g nginx nginx && mkdir -p /etc/nginx/conf.d /etc/nginx/stream.d /etc/nginx/certs /etc/nginx/includes /etc/nginx/modsec /etc/nginx/owasp-crs /etc/nginx/geoip /etc/nginx/acme-challenge /etc/nginx.default /var/log/nginx /var/log/modsec /var/cache/nginx /tmp/modsecurity/tmp /tmp/modsecurity/data /tmp/modsecurity/upload /scripts /etc/logrotate.d && chown -R nginx:nginx /var/log/nginx /var/cache/nginx /tmp/modsecurity # buildkit |
| COPY /usr/sbin/nginx /usr/sbin/nginx # buildkit |
| COPY /usr/lib/nginx/modules /usr/lib/nginx/modules # buildkit |
| COPY /etc/nginx/mime.types /etc/nginx/mime.types # buildkit |
| COPY /etc/nginx/fastcgi_params /etc/nginx/fastcgi_params # buildkit |
| COPY /etc/nginx/scgi_params /etc/nginx/scgi_params # buildkit |
| COPY /etc/nginx/uwsgi_params /etc/nginx/uwsgi_params # buildkit |
| COPY /usr/local/modsecurity/lib/libmodsecurity.so* /usr/local/lib/ # buildkit |
| RUN |1 TARGETARCH=amd64 /bin/sh -c ldconfig /usr/local/lib || true # buildkit |
| COPY /build/ModSecurity/unicode.mapping /etc/nginx/modsec/unicode.mapping # buildkit |
| COPY /etc/nginx/owasp-crs /etc/nginx/owasp-crs # buildkit |
| COPY nginx.conf /etc/nginx/nginx.conf # buildkit |
| COPY conf.d/default.conf /etc/nginx/conf.d/default.conf # buildkit |
| COPY conf.d/logging.conf /etc/nginx/conf.d/logging.conf # buildkit |
| COPY includes/ /etc/nginx/includes/ # buildkit |
| COPY modsec/ /etc/nginx/modsec/ # buildkit |
| COPY html/ /etc/nginx/html/ # buildkit |
| RUN |1 TARGETARCH=amd64 /bin/sh -c mkdir -p /usr/share/nginx && ln -sf /etc/nginx/html /usr/share/nginx/html # buildkit |
| COPY scripts/ /scripts/ # buildkit |
| RUN |1 TARGETARCH=amd64 /bin/sh -c chmod +x /scripts/*.sh # buildkit |
| RUN |1 TARGETARCH=amd64 /bin/sh -c chown -R nginx:nginx /etc/nginx/conf.d /etc/nginx/stream.d /etc/nginx/certs /etc/nginx/modsec /etc/nginx/html /etc/nginx/geoip && chmod -R 644 /etc/nginx/html/*.html # buildkit |
| RUN |1 TARGETARCH=amd64 /bin/sh -c cp -a /etc/nginx/. /etc/nginx.default/ # buildkit |
| EXPOSE [443/tcp 443/udp 80/tcp] |
| HEALTHCHECK &{["CMD-SHELL" "curl -f http://localhost/health || exit 1"] "30s" "10s" "0s" "0s" '\x03'} |
| STOPSIGNAL SIGQUIT |
| ENTRYPOINT ["/scripts/docker-entrypoint.sh"] |