11# syntax=docker/dockerfile:1.16
22ARG BUILD_OS=debian
3- ARG NGINX_OSS_VERSION=1.27
4- ARG NGINX_PLUS_VERSION=R34
3+ ARG NGINX_OSS_VERSION=1.29
4+ ARG NGINX_PLUS_VERSION=R35
55ARG DOWNLOAD_TAG=edge
66ARG DEBIAN_FRONTEND=noninteractive
77ARG PREBUILT_BASE_IMG=nginx/nginx-ingress:${DOWNLOAD_TAG}
@@ -13,8 +13,8 @@ ARG PACKAGE_REPO=pkgs.nginx.com
1313FROM ghcr.io/nginx/dependencies/nginx-ubi:ubi8@sha256:12b2f675a94fed04ab5787d78a27b4f8723991bdbe1403257e71de368e7ec852 AS ubi8-packages
1414FROM ghcr.io/nginx/dependencies/nginx-ubi:ubi9@sha256:c9c269ae1ae6a4608fe4e6536073cdea9445433de652fd8ac667992a1ed198d6 AS ubi9-packages
1515FROM ghcr.io/nginx/alpine-fips:0.3.0-alpine3.19@sha256:449f1a149e81e36bb929ebd362433a06a158ff2a7e3ba05b4b8d9ea96d59ae91 AS alpine-fips-3.19
16- FROM ghcr.io/nginx/alpine-fips:0.3.0-alpine3.21 @sha256:5e5033f34ae7147ce8df928fa58c485bc08ded8ace22428b4c16df30e3b39901 AS alpine-fips-3.21
17- FROM redhat/ubi9-minimal:9.6@sha256:e6b39b0a2cd88c0d904552eee0dca461bc74fe86fda3648ca4f8150913c79d0f AS ubi-minimal
16+ FROM ghcr.io/nginx/alpine-fips:0.3.0-alpine3.22 @sha256:86a8ec5ff400572d9004fcfe1468f9c22954ebd7d2b57910cb8d454f148f4ad4 AS alpine-fips-3.22
17+ FROM redhat/ubi9-minimal:9.6@sha256:8d905a93f1392d4a8f7fb906bd49bf540290674b28d82de3536bb4d0898bf9d7 AS ubi-minimal
1818FROM golang:1.24-alpine@sha256:c8c5f95d64aa79b6547f3b626eb84b16a7ce18a139e3e9ca19a8c078b85ba80d AS golang-builder
1919
2020# ############################################ NGINX files #############################################
@@ -82,7 +82,7 @@ USER 101
8282
8383
8484# ############################################ Base image for Alpine #############################################
85- FROM nginx:1.27.5-alpine @sha256:65645c7bb6a0661892a8b03b89d0743208a18dd2f3f17a54ef4b76fb8e2f2a10 AS alpine
85+ FROM nginx:1.29.1-alpine3.22 @sha256:599f75c32c9bfe5859e022f75d26e4d939f5b1097c7abc1add287d48ec100f1e AS alpine
8686ARG PACKAGE_REPO
8787ARG NGINX_OSS_VERSION
8888
@@ -93,15 +93,14 @@ RUN --mount=type=bind,from=nginx-files,src=nginx_signing.rsa.pub,target=/etc/apk
9393 && export $(cat /tmp/user_agent) \
9494 && printf "%s%s%s\n " "http://packages.nginx.org/nginx/mainline/alpine/v" `egrep -o '^[0-9]+\. [0-9]+' /etc/alpine-release` "/main" >> /etc/apk/repositories \
9595 && printf "%s%s%s\n " "http://packages.nginx.org/nginx-agent/alpine/v" `egrep -o '^[0-9]+\. [0-9]+' /etc/alpine-release` "/main" >> /etc/apk/repositories \
96- && apk add --no-cache nginx-module-otel~${NGINX_OSS_VERSION} " nginx-agent<3.1" \
96+ && apk add --no-cache nginx-module-otel~${NGINX_OSS_VERSION} nginx-agent~3.2 \
9797 && ldconfig /usr/local/lib/ \
9898 && agent.sh \
9999 && sed -i -e '/nginx.org/d' /etc/apk/repositories
100100
101101
102102# ############################################ Base image for Debian #############################################
103- FROM nginx:1.27.5@sha256:6784fb0834aa7dbbe12e3d7471e69c290df3e6ba810dc38b34ae33d3c1c05f7d AS debian
104- ARG NGINX_OSS_VERSION
103+ FROM nginx:1.29.1@sha256:33e0bbc7ca9ecf108140af6288c7c9d1ecc77548cbfd3952fd8466a75edefe57 AS debian
105104
106105RUN --mount=type=bind,from=nginx-files,src=nginx_signing.key,target=/tmp/nginx_signing.key \
107106 --mount=type=bind,from=nginx-files,src=90pkgs-nginx,target=/etc/apt/apt.conf.d/90pkgs-nginx \
@@ -116,7 +115,7 @@ RUN --mount=type=bind,from=nginx-files,src=nginx_signing.key,target=/tmp/nginx_s
116115 http://packages.nginx.org/nginx-agent/debian `lsb_release -cs` agent" >> /etc/apt/sources.list.d/nginx.list \
117116 && printf "%s" "Package: *\n Pin: origin nginx.org\n Pin: release o=nginx\n Pin-Priority: 900\n " > /etc/apt/preferences.d/99nginx \
118117 && apt-get update \
119- && apt-get install --no-install-recommends --no-install-suggests -y nginx-agent=3.0 .* nginx-module-otel=${NGINX_OSS_VERSION}* \
118+ && apt-get install --no-install-recommends --no-install-suggests -y nginx-agent=3.2 .* nginx-module-otel=${NGINX_OSS_VERSION}* \
120119 && apt-get purge --auto-remove -y gpg \
121120 && rm -rf /var/lib/apt/lists/* /etc/apt/preferences.d/99nginx /etc/apt/sources.list.d/nginx.list \
122121 && agent.sh
@@ -159,12 +158,12 @@ RUN --mount=type=bind,from=nginx-files,src=nginx_signing.key,target=/tmp/nginx_s
159158 && printf "%s\n " "[agent]" "name=agent repo" \
160159 "baseurl=https://packages.nginx.org/nginx-agent/centos/9/\$ basearch/" \
161160 "gpgcheck=1" "enabled=1" "module_hotfixes=true" >> /etc/yum.repos.d/nginx.repo \
162- && microdnf --nodocs install -y nginx-${NGINX_OSS_VERSION}* nginx-module-njs-${NGINX_OSS_VERSION}* nginx-module-otel-${NGINX_OSS_VERSION}* nginx-module-image-filter-${NGINX_OSS_VERSION}* nginx-module-xslt-${NGINX_OSS_VERSION}* nginx-agent-3.0 .* \
161+ && microdnf --nodocs install -y nginx-${NGINX_OSS_VERSION}* nginx-module-njs-${NGINX_OSS_VERSION}* nginx-module-otel-${NGINX_OSS_VERSION}* nginx-module-image-filter-${NGINX_OSS_VERSION}* nginx-module-xslt-${NGINX_OSS_VERSION}* nginx-agent-3.2 .* \
163162 && rm /etc/yum.repos.d/nginx.repo \
164163 && ubi-clean.sh
165164
166165# ############################################ Base image for Alpine with NGINX Plus ##############################################
167- FROM alpine:3.21 @sha256:b6a6be0ff92ab6db8acd94f5d1b7a6c2f0f5d10ce3c24af348d333ac6da80685 AS alpine-plus
166+ FROM alpine:3.22 @sha256:4bcff63911fcb4448bd4fdacec207030997caf25e9bea4045fa6c8c44de311d1 AS alpine-plus
168167ARG NGINX_PLUS_VERSION
169168ARG PACKAGE_REPO
170169
@@ -179,7 +178,7 @@ RUN --mount=type=secret,id=nginx-repo.crt,dst=/etc/apk/cert.pem,mode=0644 \
179178 export $(cat /tmp/user_agent) \
180179 && printf "%s\n " "https://${PACKAGE_REPO}/plus/${NGINX_PLUS_VERSION}/alpine/v$(grep -E -o '^[0-9]+\. [0-9]+' /etc/alpine-release)/main" >> /etc/apk/repositories \
181180 && printf "%s\n " "https://${PACKAGE_REPO}/nginx-agent/alpine/v$(grep -E -o '^[0-9]+\. [0-9]+' /etc/alpine-release)/main" >> /etc/apk/repositories \
182- && apk add --no-cache nginx-plus nginx-plus-module-njs nginx-plus-module-otel nginx-plus-module-fips-check " nginx-agent<3.1" libcap libcurl \
181+ && apk add --no-cache nginx-plus nginx-plus-module-njs nginx-plus-module-otel nginx-plus-module-fips-check nginx-agent~3.2 libcap libcurl \
183182 && mkdir -p /etc/nginx/reporting/ && cp -av /tmp/nginx/reporting/tracking.info /etc/nginx/reporting/tracking.info \
184183 && agent.sh \
185184 && sed -i -e '/nginx.com/d' /etc/apk/repositories
@@ -191,7 +190,7 @@ ARG NGINX_PLUS_VERSION
191190
192191ENV NGINX_VERSION=${NGINX_PLUS_VERSION}
193192
194- RUN --mount=type=bind,from=alpine-fips-3.21 ,target=/tmp/fips/ \
193+ RUN --mount=type=bind,from=alpine-fips-3.22 ,target=/tmp/fips/ \
195194 --mount=type=bind,from=nginx-files,src=tracking.info,target=/tmp/nginx/reporting/tracking.info \
196195 mkdir -p /usr/ssl \
197196 && cp -av /tmp/fips/usr/lib/ossl-modules/fips.so /usr/lib/ossl-modules/fips.so \
@@ -220,7 +219,7 @@ RUN --mount=type=bind,from=alpine-fips-3.19,target=/tmp/fips/ \
220219 && printf "%s\n " "https://pkgs.nginx.com/app-protect-security-updates/alpine/v$(grep -E -o '^[0-9]+\. [0-9]+' /etc/alpine-release)/main" >> /etc/apk/repositories \
221220 && printf "%s\n " "https://${PACKAGE_REPO}/nginx-agent/alpine/v$(grep -E -o '^[0-9]+\. [0-9]+' /etc/alpine-release)/main" >> /etc/apk/repositories \
222221 && apk add --no-cache libcap-utils libcurl nginx-plus nginx-plus-module-njs nginx-plus-module-otel nginx-plus-module-fips-check \
223- && apk add --no-cache " nginx-agent<3" \
222+ && apk add --no-cache nginx-agent~2 \
224223 && mkdir -p /usr/ssl \
225224 && cp -av /tmp/fips/usr/lib/ossl-modules/fips.so /usr/lib/ossl-modules/fips.so \
226225 && cp -av /tmp/fips/usr/ssl/fipsmodule.cnf /usr/ssl/fipsmodule.cnf \
@@ -251,21 +250,21 @@ RUN --mount=type=bind,from=alpine-fips-3.19,target=/tmp/fips/ \
251250 && printf "%s\n " "https://${PACKAGE_REPO}/app-protect-x-plus/alpine/v$(grep -E -o '^[0-9]+\. [0-9]+' /etc/alpine-release)/main" >> /etc/apk/repositories \
252251 && printf "%s\n " "https://${PACKAGE_REPO}/nginx-agent/alpine/v$(grep -E -o '^[0-9]+\. [0-9]+' /etc/alpine-release)/main" >> /etc/apk/repositories \
253252 && apk add --no-cache libcap-utils libcurl nginx-plus nginx-plus-module-njs nginx-plus-module-otel nginx-plus-module-fips-check \
254- && apk add --no-cache " nginx-agent<3" \
253+ && apk add --no-cache nginx-agent~2 \
255254 && mkdir -p /usr/ssl \
256255 && cp -av /tmp/fips/usr/lib/ossl-modules/fips.so /usr/lib/ossl-modules/fips.so \
257256 && cp -av /tmp/fips/usr/ssl/fipsmodule.cnf /usr/ssl/fipsmodule.cnf \
258257 && cp -av /tmp/fips/etc/ssl/openssl.cnf /etc/ssl/openssl.cnf \
259258 && mkdir -p /etc/nginx/reporting/ \
260259 && cp -av /tmp/nginx/reporting/tracking.info /etc/nginx/reporting/tracking.info \
261- && apk add --no-cache app-protect-module-plus~=34 .5.442 \
260+ && apk add --no-cache app-protect-module-plus~=35 .5.498 \
262261 && sed -i -e '/nginx.com/d' /etc/apk/repositories \
263262 && nap-waf.sh \
264263 agent.sh
265264
266265
267266# ############################################ Base image for Debian with NGINX Plus only #############################################
268- FROM debian:12-slim@sha256:2424c1850714a4d94666ec928e24d86de958646737b1d113f5b2207be44d37d8 AS debian-plus-only
267+ FROM debian:12-slim@sha256:8f8e63bb364a33694362f38ee9a9e38b09eb9eb138584693800b87ca173bfd4a AS debian-plus-only
269268ARG NGINX_PLUS_VERSION
270269
271270ENV NGINX_VERSION=${NGINX_PLUS_VERSION}
@@ -308,7 +307,7 @@ RUN --mount=type=secret,id=nginx-repo.crt,dst=/etc/ssl/nginx/nginx-repo.crt,mode
308307 apt-get update \
309308 && cp /tmp/nginx-agent.sources /etc/apt/sources.list.d/nginx-agent.sources \
310309 && apt-get update \
311- && apt-get install --no-install-recommends --no-install-suggests -y nginx-agent=3.0 .* \
310+ && apt-get install --no-install-recommends --no-install-suggests -y nginx-agent=3.2 .* \
312311 && agent.sh \
313312 && rm -rf /var/lib/apt/lists/* /etc/apt/sources.list.d/nginx-agent.sources
314313
@@ -360,7 +359,7 @@ RUN --mount=type=secret,id=nginx-repo.crt,dst=/etc/ssl/nginx/nginx-repo.crt,mode
360359 --mount=type=bind,from=nginx-files,src=nap-waf.sh,target=/usr/local/bin/nap-waf.sh \
361360 --mount=type=bind,from=nginx-files,src=debian-agent-12.sources,target=/etc/apt/sources.list.d/nginx-agent.sources \
362361 apt-get update \
363- && apt-get install --no-install-recommends --no-install-suggests -y nginx-agent=2.* app-protect-module-plus=34 +5.442 * nginx-plus-module-appprotect=34 +5.442 * app-protect-plugin=6.16 .0* \
362+ && apt-get install --no-install-recommends --no-install-suggests -y nginx-agent=2.* app-protect-module-plus=35 +5.498 * nginx-plus-module-appprotect=35 +5.498 * app-protect-plugin=6.20 .0* \
364363 && nap-waf.sh \
365364 && agent.sh
366365
@@ -385,7 +384,7 @@ RUN --mount=type=secret,id=nginx-repo.crt,dst=/etc/ssl/nginx/nginx-repo.crt,mode
385384 mkdir -p /etc/nginx/reporting/ && cp -av /tmp/nginx/reporting/tracking.info /etc/nginx/reporting/tracking.info \
386385 && ubi-setup.sh \
387386 && rpm -Uvh /ubi-bin/c-ares-*.rpm \
388- && microdnf --nodocs install -y nginx-plus nginx-plus-module-njs nginx-plus-module-otel nginx-plus-module-fips-check nginx-agent-3.0 .* \
387+ && microdnf --nodocs install -y nginx-plus nginx-plus-module-njs nginx-plus-module-otel nginx-plus-module-fips-check nginx-agent-3.2 .* \
389388 && agent.sh \
390389 && ubi-clean.sh
391390
@@ -462,7 +461,7 @@ RUN --mount=type=secret,id=nginx-repo.crt,dst=/etc/ssl/nginx/nginx-repo.crt,mode
462461 && rpm -ivh https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm \
463462 && rpm -Uvh /ubi-bin/c-ares-*.rpm \
464463 && microdnf --nodocs install -y ca-certificates shadow-utils subscription-manager \
465- && microdnf --nodocs install -y nginx-plus-module-otel nginx-agent-2.* app-protect-module-plus-34 +5.442 * \
464+ && microdnf --nodocs install -y nginx-plus-module-otel nginx-agent-2.* app-protect-module-plus-35 +5.498 * \
466465 && nap-waf.sh \
467466 && ubi-clean.sh \
468467 && agent.sh
@@ -532,7 +531,7 @@ RUN --mount=type=secret,id=nginx-repo.crt,dst=/etc/ssl/nginx/nginx-repo.crt,mode
532531 && rpm --import /tmp/nginx_signing.key \
533532 && rpm -Uvh /ubi-bin/c-ares-*.rpm \
534533 && dnf --nodocs install -y nginx-plus nginx-plus-module-njs nginx-plus-module-otel nginx-plus-module-fips-check nginx-agent-2.* \
535- && dnf --nodocs install -y app-protect-module-plus-34 +5.442 * \
534+ && dnf --nodocs install -y app-protect-module-plus-35 +5.498 * \
536535 && nap-waf.sh \
537536 && agent.sh \
538537 && dnf clean all
0 commit comments