Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM ubuntu:20.04@sha256:8feb4d8ca5354def3d8fce243717141ce31e2c428701f6682bd2fafe15388214
FROM ubuntu:22.04@sha256:1ec65b2719518e27d4d25f104d93f9fac60dc437f81452302406825c46fcc9cb

ARG ADD_PUM

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
FROM ubuntu:20.04@sha256:8feb4d8ca5354def3d8fce243717141ce31e2c428701f6682bd2fafe15388214
FROM ubuntu:22.04@sha256:1ec65b2719518e27d4d25f104d93f9fac60dc437f81452302406825c46fcc9cb

ARG NIM_DEBFILE
ARG SM_IMAGE=nim-files/.placeholder
ARG PUM_IMAGE=nim-files/.placeholder

# Initial setup
Expand All @@ -12,7 +11,6 @@ RUN apt-get update && \

# NGINX Instance Manager 2.4.0+
COPY $NIM_DEBFILE /deployment/setup/nim.deb
COPY $SM_IMAGE /deployment/setup/sm.deb
COPY $PUM_IMAGE /deployment/setup/pum.deb

COPY ./container/startNIM.sh /deployment/
Expand All @@ -24,9 +22,6 @@ COPY $NIM_DEBFILE /deployment/setup/nim.deb

RUN apt-get -y install /deployment/setup/nim.deb && \
curl -s http://hg.nginx.org/nginx.org/raw-file/tip/xml/en/security_advisories.xml > /usr/share/nms/cve.xml \
# Optional Security Monitoring
&& if [ "$SM_IMAGE" != "nim-files/.placeholder" ] ; then \
apt-get -y install /deployment/setup/sm.deb; fi \
# Optional WAF Policy Compiler
&& if [ "$PUM_IMAGE" != "nim-files/.placeholder" ] ; then \
apt-get -y install /deployment/setup/pum.deb; fi \
Expand Down
16 changes: 7 additions & 9 deletions nginx-instance-manager/docker-deployment/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,6 @@ NGINX Instance Manager Docker image builder

-h - This help
-t [target image] - Docker image name to be created
-s - Enable Second Sight (https://github.com/F5Networks/SecondSight/) - optional

Manual build:

Expand All @@ -65,20 +64,19 @@ NGINX Instance Manager Docker image builder
-i - Automated build - requires cert & key
-C [file.crt] - Certificate file to pull packages from the official NGINX repository
-K [file.key] - Key file to pull packages from the official NGINX repository
-W - Enable Security Monitoring - optional
-P [version] - Enable WAF policy compiler, version can be any [v3.1088.2|v4.100.1|v4.2.0|v4.218.0|v4.279.0|v4.402.0|v4.457.0|v4.583.0] - optional
-P [version] - Enable WAF policy compiler, version can be [v3.1088.2|v4.100.1|v4.2.0|v4.218.0|v4.279.0|v4.402.0|v4.457.0|v4.583.0|v4.641.0|v4.762.0|v4.815.0|v5.17.0|v5.48.0|v5.144.0|v5.210.0|v5.264.0|v5.342.0|v5.442.0] - optional

=== Examples:

Manual build:
./scripts/buildNIM.sh -n nim-files/nms-instance-manager_2.6.0-698150575~focal_amd64.deb \
-w nim-files/nms-sm_1.0.0-697204659~focal_amd64.deb \
-p nim-files/nms-nap-compiler-v4.2.0.deb \
-t my.registry.tld/nginx-nms:2.6.0
./scripts/buildNIM.sh -t my-private-registry/nginx-instance-manager:2.15.1-nap-v4.815.0-manualbuild \
-n nim-files/nms-instance-manager_2.15.1-1175574316~focal_amd64.deb \
-w nim-files/nms-sm_1.7.1-1046510610~focal_amd64.deb \
-p nim-files/nms-nap-compiler-v4.815.0_4.815.0-1~focal_amd64.deb

Automated build:
./scripts/buildNIM.sh -i -C nginx-repo.crt -K nginx-repo.key
-W -P v4.583.0 -t my.registry.tld/nginx-nms:latest
./scripts/buildNIM.sh -i -C nginx-repo.crt -K nginx-repo.key \
-P v5.144.0 -t my.registry.tld/nginx-nms:latest
```

### Automated build
Expand Down
11 changes: 3 additions & 8 deletions nginx-instance-manager/docker-deployment/scripts/buildNIM.sh
Original file line number Diff line number Diff line change
Expand Up @@ -9,25 +9,23 @@ $0 [options]\n\n
-t [target image]\t- Docker image name to be created\n\n
Manual build:\n\n
-n [filename]\t\t- NGINX Instance Manager .deb package filename\n
-w [filename]\t\t- Security Monitoring .deb package filename - optional\n
-p [filename]\t\t- WAF policy compiler .deb package filename - optional\n\n
Automated build:\n\n
-i\t\t\t- Automated build - requires cert & key\n
-C [file.crt]\t\t- Certificate file to pull packages from the official NGINX repository\n
-K [file.key]\t\t- Key file to pull packages from the official NGINX repository\n
-P [version]\t\t- Enable WAF policy compiler, version can be any [v3.1088.2|v4.100.1|v4.2.0|v4.218.0|v4.279.0|v4.402.0|v4.457.0|v4.583.0|v4.641|v4.762|v4.815.0|v5.17.0|v5.48.0|v5.144.0] - optional\n\n
-P [version]\t\t- Enable WAF policy compiler, version can be [v3.1088.2|v4.100.1|v4.2.0|v4.218.0|v4.279.0|v4.402.0|v4.457.0|v4.583.0|v4.641.0|v4.762.0|v4.815.0|v5.17.0|v5.48.0|v5.144.0|v5.210.0|v5.264.0|v5.342.0|v5.442.0] - optional\n\n
=== Examples:\n\n
Manual build:\n
\t$0 -t my-private-registry/nginx-instance-manager:2.15.1-nap-v4.815.0-manualbuild \\\\\\n
\t\t-n nim-files/nms-instance-manager_2.15.1-1175574316~focal_amd64.deb \\\\\n
\t\t-w nim-files/nms-sm_1.7.1-1046510610~focal_amd64.deb \\\\\n
\t\t-p nim-files/nms-nap-compiler-v4.815.0_4.815.0-1~focal_amd64.deb\n\n
Automated build:\n
\t$0 -i -C nginx-repo.crt -K nginx-repo.key \\\\\n
\t\t-P v5.144.0 -t my.registry.tld/nginx-nms:latest\n
"

while getopts 'hn:w:p:t:siC:K:AP:' OPTION
while getopts 'hn:p:t:siC:K:AP:' OPTION
do
case "$OPTION" in
h)
Expand All @@ -37,9 +35,6 @@ do
n)
DEBFILE=$OPTARG
;;
w)
SM_IMAGE=$OPTARG
;;
p)
PUM_IMAGE=$OPTARG
;;
Expand Down Expand Up @@ -90,7 +85,7 @@ echo "==> Building NGINX Management Suite docker image"
if [ -z "${AUTOMATED_INSTALL}" ]
then
docker build --no-cache -f Dockerfile.manual --build-arg NIM_DEBFILE=$DEBFILE \
--build-arg SM_IMAGE=$SM_IMAGE --build-arg PUM_IMAGE=$PUM_IMAGE -t $IMGNAME .
--build-arg PUM_IMAGE=$PUM_IMAGE -t $IMGNAME .
else
DOCKER_BUILDKIT=1 docker build --no-cache -f Dockerfile.automated --secret id=nginx-key,src=$NGINX_KEY --secret id=nginx-crt,src=$NGINX_CERT \
--build-arg ADD_PUM=$ADD_PUM \
Expand Down