Namespace
uozi
Image / Tag
nginx-ui:sha-0ee88d8
Content Digest
sha256:ecf939bff4ba387ca34683d77454406fd33122280b359c8d33dade4b7a9110ef
Details
Created

2026-02-08 11:45:50 UTC

Size

118 MB

Content Digest
Labels
  • maintainer
    NGINX Docker Maintainers <docker-maint@nginx.com>
  • org.opencontainers.image.created
    2026-02-08T11:45:15.370Z
  • org.opencontainers.image.description
    Yet another WebUI for Nginx
  • org.opencontainers.image.licenses
    AGPL-3.0
  • org.opencontainers.image.revision
    0ee88d8429ffe459148aaea04294f6eb28caf72c
  • org.opencontainers.image.source
    https://github.com/0xJacky/nginx-ui
  • org.opencontainers.image.title
    nginx-ui
  • org.opencontainers.image.url
    https://github.com/0xJacky/nginx-ui
  • org.opencontainers.image.version
    cursor-docker-api-stat-path-27ca

Environment
ACME_VERSION

0.3.1

DEBIAN_FRONTEND

noninteractive

DYNPKG_RELEASE

1~trixie

NGINX_UI_OFFICIAL_DOCKER

true

NGINX_UI_WORKING_DIR

/var/run/

NGINX_VERSION

1.29.5

NJS_RELEASE

1~trixie

NJS_VERSION

0.9.5

PATH

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

PKG_RELEASE

1~trixie


Layers

[#000] sha256:0c8d55a45c0dc58de60579b9cc5b708de9e7957f4591fc7de941b67c7e245da0 - 24.09% (28.4 MB)

[#001] sha256:46bf3a120c8ebc0c207a3a819bb44ad7e6bbcd0b27c2c8e7430b8baea6c321d2 - 26.81% (31.6 MB)

[#002] sha256:4f4efe02d542e6a146723a61b42b2e063b2f89f58430dd4d9a8aad7ac26c905c - 0.0% (625 Bytes)

[#003] sha256:7b6cb8ccac7b09e037d667024c9afc9c0429738a2b7b24c2d41f5bce008c139c - 0.0% (955 Bytes)

[#004] sha256:f73400a233fdfe4b0e1ebf8a8035349bf8b8cfdc85da665c97b4099d1e8ae7df - 0.0% (404 Bytes)

[#005] sha256:47cd406a84ef91b76fa7a653ed5e89663af9f8c2644a0ed0387fa0b1395e5114 - 0.0% (1.18 KB)

[#006] sha256:bae5a1799a803b0a3df8179c56dd95fdb6f88c7aa10600d101196c723994f679 - 0.0% (1.36 KB)

[#007] sha256:3bc9360f45baf9010e677f97932624d01a31b54913b59f13f53648d029961193 - 4.7% (5.54 MB)

[#008] sha256:68dc5ab30fa6f20a3816a32b6945d0a765ea8c6d00bc65fb812b0232f06a65ec - 2.49% (2.93 MB)

[#009] sha256:0d39c0f00ca7f413ff4f3ddff74114bc8643f005c952b02a3f1a693401ccedf8 - 0.0% (339 Bytes)

[#010] sha256:bf8842e44514466c3f4d024ce6b5899acd7065c58e5d836d1776f876a2c23887 - 0.0% (267 Bytes)

[#011] sha256:af77764f0e1d3708d5b7558d92216042b4f093ea77f6b3294df5a1a4789ea276 - 0.0% (2.75 KB)

[#012] sha256:74b64994c724d72fb367ec6b61dcb147035f44863d568a764a8e36ba4f51d79e - 0.0% (214 Bytes)

[#013] sha256:3d059894474732e89fd697457cdfda8b2e2c92c8a96367a06fe3bb9610ffeb2f - 0.0% (469 Bytes)

[#014] sha256:f720a83e8241f11cc390cc3a84f03fd092789048ab1204f201b6d3dca3f140c5 - 0.0% (621 Bytes)

[#015] sha256:483894e12cf4adc18383a5820c263d54ba1936aaabbc1032fc9a9e4d7f6a8ba5 - 0.0% (259 Bytes)

[#016] sha256:f79eeab9927d5186c21e6b995ce9346ee13d2e9805949623df55eafd8a67918c - 0.0% (275 Bytes)

[#017] sha256:de237a001f4ecbfbbeb6dc587c20a1305d760f8995efd7d9b60c8d7e76649c46 - 0.0% (565 Bytes)

[#018] sha256:28426178421b0354ebaf1ee19ad83f1f94bacde8bbd14b149b06f8b83f64f87b - 0.0% (514 Bytes)

[#019] sha256:7b5564b1e82e83690d203f87794171b89145b5b9afff01a7c01dc9b090b2c442 - 41.9% (49.4 MB)

[#020] sha256:8717f8f361d67bf1cfff164fb066cc3e3146e102f3fc73909224663a15b36586 - 0.0% (280 Bytes)

[#021] sha256:da20d48b51491819dc2fe669e15e2670d4ad600afc1ecbb562f4b5d9a3807aa3 - 0.0% (189 Bytes)


History
2026-02-02 00:00:00 UTC (debuerreotype 0.17)

# debian.sh --arch 'amd64' out/ 'trixie' '@1769990400'

2026-02-04 23:53:09 UTC (buildkit.dockerfile.v0)

LABEL maintainer=NGINX Docker Maintainers <docker-maint@nginx.com>

2026-02-04 23:53:09 UTC (buildkit.dockerfile.v0)

ENV NGINX_VERSION=1.29.5

2026-02-04 23:53:09 UTC (buildkit.dockerfile.v0)

ENV NJS_VERSION=0.9.5

2026-02-04 23:53:09 UTC (buildkit.dockerfile.v0)

ENV NJS_RELEASE=1~trixie

2026-02-04 23:53:09 UTC (buildkit.dockerfile.v0)

ENV ACME_VERSION=0.3.1

2026-02-04 23:53:09 UTC (buildkit.dockerfile.v0)

ENV PKG_RELEASE=1~trixie

2026-02-04 23:53:09 UTC (buildkit.dockerfile.v0)

ENV DYNPKG_RELEASE=1~trixie

2026-02-04 23:53:09 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -x && groupadd --system --gid 101 nginx && useradd --system --gid nginx --no-create-home --home /nonexistent --comment "nginx user" --shell /bin/false --uid 101 nginx && apt-get update && apt-get install --no-install-recommends --no-install-suggests -y gnupg1 ca-certificates && NGINX_GPGKEYS="573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62 8540A6F18833A80E9C1653A42FD21310B49F6B46 9E9BE90EACBCDE69FE9B204CBCDCD8A38D88A2B3"; NGINX_GPGKEY_PATH=/etc/apt/keyrings/nginx-archive-keyring.gpg; export GNUPGHOME="$(mktemp -d)"; found=''; for NGINX_GPGKEY in $NGINX_GPGKEYS; do for server in hkp://keyserver.ubuntu.com:80 pgp.mit.edu ; do echo "Fetching GPG key $NGINX_GPGKEY from $server"; gpg1 --batch --keyserver "$server" --keyserver-options timeout=10 --recv-keys "$NGINX_GPGKEY" && found=yes && break; done; test -z "$found" && echo >&2 "error: failed to fetch GPG key $NGINX_GPGKEY" && exit 1; done; gpg1 --batch --export $NGINX_GPGKEYS > "$NGINX_GPGKEY_PATH" ; rm -rf "$GNUPGHOME"; apt-get remove --purge --auto-remove -y gnupg1 && rm -rf /var/lib/apt/lists/* && dpkgArch="$(dpkg --print-architecture)" && nginxPackages=" nginx=${NGINX_VERSION}-${PKG_RELEASE} nginx-module-xslt=${NGINX_VERSION}-${DYNPKG_RELEASE} nginx-module-geoip=${NGINX_VERSION}-${DYNPKG_RELEASE} nginx-module-image-filter=${NGINX_VERSION}-${DYNPKG_RELEASE} nginx-module-njs=${NGINX_VERSION}+${NJS_VERSION}-${NJS_RELEASE} nginx-module-acme=${NGINX_VERSION}+${ACME_VERSION}-${PKG_RELEASE} " && case "$dpkgArch" in amd64|arm64) echo "deb [signed-by=$NGINX_GPGKEY_PATH] https://nginx.org/packages/mainline/debian/ trixie nginx" >> /etc/apt/sources.list.d/nginx.list && apt-get update ;; *) tempDir="$(mktemp -d)" && chmod 777 "$tempDir" && savedAptMark="$(apt-mark showmanual)" && apt-get update && apt-get install --no-install-recommends --no-install-suggests -y cargo curl devscripts equivs git libxml2-utils lsb-release xsltproc && ( cd "$tempDir" && export CARGO_HOME="$tempDir/.cargo" && REVISION="${NGINX_VERSION}-${PKG_RELEASE}" && REVISION=${REVISION%~*} && curl -f -L -O https://github.com/nginx/pkg-oss/archive/${REVISION}.tar.gz && PKGOSSCHECKSUM="b8584eaa97130ba7743dfbb2a10f665d64cb54b864e2038d0fd298d24682fc05eb4472738430b15862dabc6f374917f1b9889117051a852d36d0a6c8bc898921 *${REVISION}.tar.gz" && if [ "$(openssl sha512 -r ${REVISION}.tar.gz)" = "$PKGOSSCHECKSUM" ]; then echo "pkg-oss tarball checksum verification succeeded!"; else echo "pkg-oss tarball checksum verification failed!"; exit 1; fi && tar xzvf ${REVISION}.tar.gz && cd pkg-oss-${REVISION} && cd debian && for target in base module-geoip module-image-filter module-njs module-xslt module-acme; do make rules-$target; mk-build-deps --install --tool="apt-get -o Debug::pkgProblemResolver=yes --no-install-recommends --yes" debuild-$target/nginx-$NGINX_VERSION/debian/control; done && make base module-geoip module-image-filter module-njs module-xslt module-acme ) && apt-mark showmanual | xargs apt-mark auto > /dev/null && { [ -z "$savedAptMark" ] || apt-mark manual $savedAptMark; } && ls -lAFh "$tempDir" && ( cd "$tempDir" && dpkg-scanpackages . > Packages ) && grep '^Package: ' "$tempDir/Packages" && echo "deb [ trusted=yes ] file://$tempDir ./" > /etc/apt/sources.list.d/temp.list && apt-get -o Acquire::GzipIndexes=false update ;; esac && apt-get install --no-install-recommends --no-install-suggests -y $nginxPackages gettext-base curl && apt-get remove --purge --auto-remove -y && rm -rf /var/lib/apt/lists/* /etc/apt/sources.list.d/nginx.list && if [ -n "$tempDir" ]; then apt-get purge -y --auto-remove && rm -rf "$tempDir" /etc/apt/sources.list.d/temp.list; fi && ln -sf /dev/stdout /var/log/nginx/access.log && ln -sf /dev/stderr /var/log/nginx/error.log && mkdir /docker-entrypoint.d # buildkit

2026-02-04 23:53:09 UTC (buildkit.dockerfile.v0)

COPY docker-entrypoint.sh / # buildkit

2026-02-04 23:53:09 UTC (buildkit.dockerfile.v0)

COPY 10-listen-on-ipv6-by-default.sh /docker-entrypoint.d # buildkit

2026-02-04 23:53:09 UTC (buildkit.dockerfile.v0)

COPY 15-local-resolvers.envsh /docker-entrypoint.d # buildkit

2026-02-04 23:53:09 UTC (buildkit.dockerfile.v0)

COPY 20-envsubst-on-templates.sh /docker-entrypoint.d # buildkit

2026-02-04 23:53:09 UTC (buildkit.dockerfile.v0)

COPY 30-tune-worker-processes.sh /docker-entrypoint.d # buildkit

2026-02-04 23:53:09 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["/docker-entrypoint.sh"]

2026-02-04 23:53:09 UTC (buildkit.dockerfile.v0)

EXPOSE map[80/tcp:{}]

2026-02-04 23:53:09 UTC (buildkit.dockerfile.v0)

STOPSIGNAL SIGQUIT

2026-02-04 23:53:09 UTC (buildkit.dockerfile.v0)

CMD ["nginx" "-g" "daemon off;"]

2026-02-08 00:10:25 UTC (buildkit.dockerfile.v0)

ARG TARGETOS=linux

2026-02-08 00:10:25 UTC (buildkit.dockerfile.v0)

ARG TARGETARCH=amd64

2026-02-08 00:10:25 UTC (buildkit.dockerfile.v0)

ARG TARGETVARIANT=

2026-02-08 00:10:25 UTC (buildkit.dockerfile.v0)

ARG S6_OVERLAY_VERSION=3.2.1.0

2026-02-08 00:10:25 UTC (buildkit.dockerfile.v0)

ENV DEBIAN_FRONTEND=noninteractive

2026-02-08 00:10:25 UTC (buildkit.dockerfile.v0)

RUN |4 TARGETOS=linux TARGETARCH=amd64 TARGETVARIANT= S6_OVERLAY_VERSION=3.2.1.0 /bin/sh -c apt-get update -y && apt install -y --no-install-recommends wget xz-utils logrotate nginx-module-geoip && rm -rf /var/lib/apt/lists/* # buildkit

2026-02-08 00:10:27 UTC (buildkit.dockerfile.v0)

RUN |4 TARGETOS=linux TARGETARCH=amd64 TARGETVARIANT= S6_OVERLAY_VERSION=3.2.1.0 /bin/sh -c case "${TARGETARCH}/${TARGETVARIANT}" in "amd64/"*) S6_ARCH="x86_64" ;; "arm64/"*) S6_ARCH="aarch64" ;; "arm/v7"*) S6_ARCH="arm" ;; "arm/v6"*) S6_ARCH="arm" ;; "arm/v5"*) S6_ARCH="arm" ;; *) echo "Unsupported arch: ${TARGETARCH}/${TARGETVARIANT}" && exit 1 ;; esac && wget -O /tmp/s6-overlay-noarch.tar.xz https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLAY_VERSION}/s6-overlay-noarch.tar.xz && tar -C / -Jxpf /tmp/s6-overlay-noarch.tar.xz && wget -O /tmp/s6-overlay-${S6_ARCH}.tar.xz https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLAY_VERSION}/s6-overlay-${S6_ARCH}.tar.xz && tar -C / -Jxpf /tmp/s6-overlay-${S6_ARCH}.tar.xz && wget -O /tmp/s6-overlay-noarch.tar.xz https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLAY_VERSION}/s6-overlay-noarch.tar.xz && tar -C / -Jxpf /tmp/s6-overlay-noarch.tar.xz # buildkit

2026-02-08 00:10:27 UTC (buildkit.dockerfile.v0)

COPY nginx-ui-base/nginx /etc/s6-overlay/s6-rc.d/nginx/run # buildkit

2026-02-08 00:10:27 UTC (buildkit.dockerfile.v0)

RUN |4 TARGETOS=linux TARGETARCH=amd64 TARGETVARIANT= S6_OVERLAY_VERSION=3.2.1.0 /bin/sh -c echo 'longrun' > /etc/s6-overlay/s6-rc.d/nginx/type && touch /etc/s6-overlay/s6-rc.d/user/contents.d/nginx # buildkit

2026-02-08 00:10:27 UTC (buildkit.dockerfile.v0)

RUN |4 TARGETOS=linux TARGETARCH=amd64 TARGETVARIANT= S6_OVERLAY_VERSION=3.2.1.0 /bin/sh -c mkdir -p /usr/local/etc && mkdir /etc/nginx/sites-available && mkdir /etc/nginx/sites-enabled && mkdir /etc/nginx/streams-available && mkdir /etc/nginx/streams-enabled && cp -r /etc/nginx /usr/local/etc/nginx # buildkit

2026-02-08 00:10:27 UTC (buildkit.dockerfile.v0)

COPY nginx-ui-base/init-config.up /etc/s6-overlay/s6-rc.d/init-config/up # buildkit

2026-02-08 00:10:27 UTC (buildkit.dockerfile.v0)

COPY nginx-ui-base/init-config.sh /etc/s6-overlay/s6-rc.d/init-config/init-config.sh # buildkit

2026-02-08 00:10:27 UTC (buildkit.dockerfile.v0)

RUN |4 TARGETOS=linux TARGETARCH=amd64 TARGETVARIANT= S6_OVERLAY_VERSION=3.2.1.0 /bin/sh -c chmod +x /etc/s6-overlay/s6-rc.d/init-config/init-config.sh && echo 'oneshot' > /etc/s6-overlay/s6-rc.d/init-config/type && touch /etc/s6-overlay/s6-rc.d/user/contents.d/init-config && mkdir -p /etc/s6-overlay/s6-rc.d/nginx/dependencies.d && touch /etc/s6-overlay/s6-rc.d/nginx/dependencies.d/init-config # buildkit

2026-02-08 00:10:27 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["/init"]

2026-02-08 11:45:48 UTC (buildkit.dockerfile.v0)

ARG TARGETOS=linux

2026-02-08 11:45:48 UTC (buildkit.dockerfile.v0)

ARG TARGETARCH=amd64

2026-02-08 11:45:48 UTC (buildkit.dockerfile.v0)

ARG TARGETVARIANT=

2026-02-08 11:45:48 UTC (buildkit.dockerfile.v0)

EXPOSE [443/tcp 80/tcp]

2026-02-08 11:45:48 UTC (buildkit.dockerfile.v0)

ENV NGINX_UI_OFFICIAL_DOCKER=true

2026-02-08 11:45:48 UTC (buildkit.dockerfile.v0)

ENV NGINX_UI_WORKING_DIR=/var/run/

2026-02-08 11:45:48 UTC (buildkit.dockerfile.v0)

COPY resources/docker/nginx-ui.run /etc/s6-overlay/s6-rc.d/nginx-ui/run # buildkit

2026-02-08 11:45:48 UTC (buildkit.dockerfile.v0)

RUN |3 TARGETOS=linux TARGETARCH=amd64 TARGETVARIANT= /bin/sh -c echo 'longrun' > /etc/s6-overlay/s6-rc.d/nginx-ui/type && touch /etc/s6-overlay/s6-rc.d/user/contents.d/nginx-ui # buildkit

2026-02-08 11:45:48 UTC (buildkit.dockerfile.v0)

COPY resources/docker/nginx.conf /usr/local/etc/nginx/nginx.conf # buildkit

2026-02-08 11:45:48 UTC (buildkit.dockerfile.v0)

COPY resources/docker/nginx-ui.conf /usr/local/etc/nginx/conf.d/nginx-ui.conf # buildkit

2026-02-08 11:45:49 UTC (buildkit.dockerfile.v0)

COPY nginx-ui-linux-amd64/nginx-ui /usr/local/bin/nginx-ui # buildkit

2026-02-08 11:45:50 UTC (buildkit.dockerfile.v0)

RUN |3 TARGETOS=linux TARGETARCH=amd64 TARGETVARIANT= /bin/sh -c rm -f /etc/nginx/conf.d/default.conf && rm -f /usr/local/etc/nginx/conf.d/default.conf # buildkit

2026-02-08 11:45:50 UTC (buildkit.dockerfile.v0)

RUN |3 TARGETOS=linux TARGETARCH=amd64 TARGETVARIANT= /bin/sh -c rm -f /var/log/nginx/access.log && touch /var/log/nginx/access.log && rm -f /var/log/nginx/error.log && touch /var/log/nginx/error.log # buildkit

Details
Created

2026-02-08 11:45:51 UTC

Size

108 MB

Content Digest
Labels
  • maintainer
    NGINX Docker Maintainers <docker-maint@nginx.com>
  • org.opencontainers.image.created
    2026-02-08T11:45:15.370Z
  • org.opencontainers.image.description
    Yet another WebUI for Nginx
  • org.opencontainers.image.licenses
    AGPL-3.0
  • org.opencontainers.image.revision
    0ee88d8429ffe459148aaea04294f6eb28caf72c
  • org.opencontainers.image.source
    https://github.com/0xJacky/nginx-ui
  • org.opencontainers.image.title
    nginx-ui
  • org.opencontainers.image.url
    https://github.com/0xJacky/nginx-ui
  • org.opencontainers.image.version
    cursor-docker-api-stat-path-27ca

Environment
ACME_VERSION

0.3.1

DEBIAN_FRONTEND

noninteractive

DYNPKG_RELEASE

1~trixie

NGINX_UI_OFFICIAL_DOCKER

true

NGINX_UI_WORKING_DIR

/var/run/

NGINX_VERSION

1.29.5

NJS_RELEASE

1~trixie

NJS_VERSION

0.9.5

PATH

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

PKG_RELEASE

1~trixie


Layers

[#000] sha256:2a2986ba48ae233640829460f6772db2ffbc330d97d2b29a533694dfdc7dc893 - 24.76% (26.7 MB)

[#001] sha256:3026da25d314020b9bfb3f9a7df209bb439855051ffdf13a1bddecd5d65b9764 - 23.18% (25 MB)

[#002] sha256:31d394b0c9eda37c098db2471823834f196fc546d924d31f47e554b378133051 - 0.0% (622 Bytes)

[#003] sha256:160550a38939336200af2cd259eca3335d639a3cd12a56d1489ba1ed975ab63e - 0.0% (955 Bytes)

[#004] sha256:2d60fc99a13273494ddd0db00d237d67b3c2ce7871ca036b2f20d7b67bd9cc04 - 0.0% (403 Bytes)

[#005] sha256:f555b1dc3229914c0a06e99b683bad0845529b5014af39c989682d849d6435a3 - 0.0% (1.18 KB)

[#006] sha256:8f6e65a70f11422cc1b5007f8e7e22f124f40db1d8ab33268f3b00615b5be8b0 - 0.0% (1.36 KB)

[#007] sha256:204acaeb05030bf299aaccead7c1321420b26035568a5e3f0883d4f3925365a6 - 5.31% (5.71 MB)

[#008] sha256:741d4b0c9c9027d6f6075ead6055a1006941e7c67c2bfa2b9aa1468da068bb6b - 2.88% (3.1 MB)

[#009] sha256:e7e3b10fc43825477b38e8539fa3cf6684f970627153b90a4d11b018f71c63bc - 0.0% (341 Bytes)

[#010] sha256:800d79dc862589a8b1f2139f49bc35e796b0fcb096d0b42137a88fbcbb893250 - 0.0% (268 Bytes)

[#011] sha256:563947faa8a551f7c9bdbfeb52d6dce7d7c029a9e7612ff224bba111b0532262 - 0.0% (2.75 KB)

[#012] sha256:508d91c302c782d46f542cdb79108f41d0bfc93aada2afb4d2caa79bc4c665ed - 0.0% (216 Bytes)

[#013] sha256:5c058e77c2ddbd9d731d3a382b6c406de5fbbd9340938c9b273276d413714e90 - 0.0% (469 Bytes)

[#014] sha256:557d3244098b7d694af4455beb0134505301519e6cdb55087badfdee52621373 - 0.0% (624 Bytes)

[#015] sha256:805b04f75bccb95cd0adb78efdd53c81eb4e33ab3a5a8445a98067f4fb8eb113 - 0.0% (259 Bytes)

[#016] sha256:fd1db47c73929f54f568fe1176213762f00f5e56a96d444ebb42abddb432ff1a - 0.0% (274 Bytes)

[#017] sha256:409895f48f739a865692d045cbbbbfab86018cf7e041bf6e5fc6abad2927a76c - 0.0% (564 Bytes)

[#018] sha256:cf3f97946cce45319ad30736668f403694905e0de07167e625f11b6c41b8ac0a - 0.0% (514 Bytes)

[#019] sha256:c39bc86599df0dd8b0392005a48cc7dd48806dd5dead3b19390635132b24ad54 - 43.86% (47.2 MB)

[#020] sha256:0f4234a21484b8e4cafd7c8409c7673d76158ffe3c929ce1fca907f7a049d4a3 - 0.0% (279 Bytes)

[#021] sha256:690ddd4c73f3fe163cd62f6c38fe87c82b73a4f76871422e6045ef101621306b - 0.0% (189 Bytes)


History
2026-02-02 00:00:00 UTC (debuerreotype 0.17)

# debian.sh --arch 'armel' out/ 'trixie' '@1769990400'

2026-02-05 00:02:24 UTC (buildkit.dockerfile.v0)

LABEL maintainer=NGINX Docker Maintainers <docker-maint@nginx.com>

2026-02-05 00:02:24 UTC (buildkit.dockerfile.v0)

ENV NGINX_VERSION=1.29.5

2026-02-05 00:02:24 UTC (buildkit.dockerfile.v0)

ENV NJS_VERSION=0.9.5

2026-02-05 00:02:24 UTC (buildkit.dockerfile.v0)

ENV NJS_RELEASE=1~trixie

2026-02-05 00:02:24 UTC (buildkit.dockerfile.v0)

ENV ACME_VERSION=0.3.1

2026-02-05 00:02:24 UTC (buildkit.dockerfile.v0)

ENV PKG_RELEASE=1~trixie

2026-02-05 00:02:24 UTC (buildkit.dockerfile.v0)

ENV DYNPKG_RELEASE=1~trixie

2026-02-05 00:02:24 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -x && groupadd --system --gid 101 nginx && useradd --system --gid nginx --no-create-home --home /nonexistent --comment "nginx user" --shell /bin/false --uid 101 nginx && apt-get update && apt-get install --no-install-recommends --no-install-suggests -y gnupg1 ca-certificates && NGINX_GPGKEYS="573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62 8540A6F18833A80E9C1653A42FD21310B49F6B46 9E9BE90EACBCDE69FE9B204CBCDCD8A38D88A2B3"; NGINX_GPGKEY_PATH=/etc/apt/keyrings/nginx-archive-keyring.gpg; export GNUPGHOME="$(mktemp -d)"; found=''; for NGINX_GPGKEY in $NGINX_GPGKEYS; do for server in hkp://keyserver.ubuntu.com:80 pgp.mit.edu ; do echo "Fetching GPG key $NGINX_GPGKEY from $server"; gpg1 --batch --keyserver "$server" --keyserver-options timeout=10 --recv-keys "$NGINX_GPGKEY" && found=yes && break; done; test -z "$found" && echo >&2 "error: failed to fetch GPG key $NGINX_GPGKEY" && exit 1; done; gpg1 --batch --export $NGINX_GPGKEYS > "$NGINX_GPGKEY_PATH" ; rm -rf "$GNUPGHOME"; apt-get remove --purge --auto-remove -y gnupg1 && rm -rf /var/lib/apt/lists/* && dpkgArch="$(dpkg --print-architecture)" && nginxPackages=" nginx=${NGINX_VERSION}-${PKG_RELEASE} nginx-module-xslt=${NGINX_VERSION}-${DYNPKG_RELEASE} nginx-module-geoip=${NGINX_VERSION}-${DYNPKG_RELEASE} nginx-module-image-filter=${NGINX_VERSION}-${DYNPKG_RELEASE} nginx-module-njs=${NGINX_VERSION}+${NJS_VERSION}-${NJS_RELEASE} nginx-module-acme=${NGINX_VERSION}+${ACME_VERSION}-${PKG_RELEASE} " && case "$dpkgArch" in amd64|arm64) echo "deb [signed-by=$NGINX_GPGKEY_PATH] https://nginx.org/packages/mainline/debian/ trixie nginx" >> /etc/apt/sources.list.d/nginx.list && apt-get update ;; *) tempDir="$(mktemp -d)" && chmod 777 "$tempDir" && savedAptMark="$(apt-mark showmanual)" && apt-get update && apt-get install --no-install-recommends --no-install-suggests -y cargo curl devscripts equivs git libxml2-utils lsb-release xsltproc && ( cd "$tempDir" && export CARGO_HOME="$tempDir/.cargo" && REVISION="${NGINX_VERSION}-${PKG_RELEASE}" && REVISION=${REVISION%~*} && curl -f -L -O https://github.com/nginx/pkg-oss/archive/${REVISION}.tar.gz && PKGOSSCHECKSUM="b8584eaa97130ba7743dfbb2a10f665d64cb54b864e2038d0fd298d24682fc05eb4472738430b15862dabc6f374917f1b9889117051a852d36d0a6c8bc898921 *${REVISION}.tar.gz" && if [ "$(openssl sha512 -r ${REVISION}.tar.gz)" = "$PKGOSSCHECKSUM" ]; then echo "pkg-oss tarball checksum verification succeeded!"; else echo "pkg-oss tarball checksum verification failed!"; exit 1; fi && tar xzvf ${REVISION}.tar.gz && cd pkg-oss-${REVISION} && cd debian && for target in base module-geoip module-image-filter module-njs module-xslt module-acme; do make rules-$target; mk-build-deps --install --tool="apt-get -o Debug::pkgProblemResolver=yes --no-install-recommends --yes" debuild-$target/nginx-$NGINX_VERSION/debian/control; done && make base module-geoip module-image-filter module-njs module-xslt module-acme ) && apt-mark showmanual | xargs apt-mark auto > /dev/null && { [ -z "$savedAptMark" ] || apt-mark manual $savedAptMark; } && ls -lAFh "$tempDir" && ( cd "$tempDir" && dpkg-scanpackages . > Packages ) && grep '^Package: ' "$tempDir/Packages" && echo "deb [ trusted=yes ] file://$tempDir ./" > /etc/apt/sources.list.d/temp.list && apt-get -o Acquire::GzipIndexes=false update ;; esac && apt-get install --no-install-recommends --no-install-suggests -y $nginxPackages gettext-base curl && apt-get remove --purge --auto-remove -y && rm -rf /var/lib/apt/lists/* /etc/apt/sources.list.d/nginx.list && if [ -n "$tempDir" ]; then apt-get purge -y --auto-remove && rm -rf "$tempDir" /etc/apt/sources.list.d/temp.list; fi && ln -sf /dev/stdout /var/log/nginx/access.log && ln -sf /dev/stderr /var/log/nginx/error.log && mkdir /docker-entrypoint.d # buildkit

2026-02-05 00:02:24 UTC (buildkit.dockerfile.v0)

COPY docker-entrypoint.sh / # buildkit

2026-02-05 00:02:24 UTC (buildkit.dockerfile.v0)

COPY 10-listen-on-ipv6-by-default.sh /docker-entrypoint.d # buildkit

2026-02-05 00:02:24 UTC (buildkit.dockerfile.v0)

COPY 15-local-resolvers.envsh /docker-entrypoint.d # buildkit

2026-02-05 00:02:24 UTC (buildkit.dockerfile.v0)

COPY 20-envsubst-on-templates.sh /docker-entrypoint.d # buildkit

2026-02-05 00:02:24 UTC (buildkit.dockerfile.v0)

COPY 30-tune-worker-processes.sh /docker-entrypoint.d # buildkit

2026-02-05 00:02:24 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["/docker-entrypoint.sh"]

2026-02-05 00:02:24 UTC (buildkit.dockerfile.v0)

EXPOSE map[80/tcp:{}]

2026-02-05 00:02:24 UTC (buildkit.dockerfile.v0)

STOPSIGNAL SIGQUIT

2026-02-05 00:02:24 UTC (buildkit.dockerfile.v0)

CMD ["nginx" "-g" "daemon off;"]

2026-02-08 00:11:38 UTC (buildkit.dockerfile.v0)

ARG TARGETOS=linux

2026-02-08 00:11:38 UTC (buildkit.dockerfile.v0)

ARG TARGETARCH=arm

2026-02-08 00:11:38 UTC (buildkit.dockerfile.v0)

ARG TARGETVARIANT=v5

2026-02-08 00:11:38 UTC (buildkit.dockerfile.v0)

ARG S6_OVERLAY_VERSION=3.2.1.0

2026-02-08 00:11:38 UTC (buildkit.dockerfile.v0)

ENV DEBIAN_FRONTEND=noninteractive

2026-02-08 00:11:38 UTC (buildkit.dockerfile.v0)

RUN |4 TARGETOS=linux TARGETARCH=arm TARGETVARIANT=v5 S6_OVERLAY_VERSION=3.2.1.0 /bin/sh -c apt-get update -y && apt install -y --no-install-recommends wget xz-utils logrotate nginx-module-geoip && rm -rf /var/lib/apt/lists/* # buildkit

2026-02-08 00:11:41 UTC (buildkit.dockerfile.v0)

RUN |4 TARGETOS=linux TARGETARCH=arm TARGETVARIANT=v5 S6_OVERLAY_VERSION=3.2.1.0 /bin/sh -c case "${TARGETARCH}/${TARGETVARIANT}" in "amd64/"*) S6_ARCH="x86_64" ;; "arm64/"*) S6_ARCH="aarch64" ;; "arm/v7"*) S6_ARCH="arm" ;; "arm/v6"*) S6_ARCH="arm" ;; "arm/v5"*) S6_ARCH="arm" ;; *) echo "Unsupported arch: ${TARGETARCH}/${TARGETVARIANT}" && exit 1 ;; esac && wget -O /tmp/s6-overlay-noarch.tar.xz https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLAY_VERSION}/s6-overlay-noarch.tar.xz && tar -C / -Jxpf /tmp/s6-overlay-noarch.tar.xz && wget -O /tmp/s6-overlay-${S6_ARCH}.tar.xz https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLAY_VERSION}/s6-overlay-${S6_ARCH}.tar.xz && tar -C / -Jxpf /tmp/s6-overlay-${S6_ARCH}.tar.xz && wget -O /tmp/s6-overlay-noarch.tar.xz https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLAY_VERSION}/s6-overlay-noarch.tar.xz && tar -C / -Jxpf /tmp/s6-overlay-noarch.tar.xz # buildkit

2026-02-08 00:11:41 UTC (buildkit.dockerfile.v0)

COPY nginx-ui-base/nginx /etc/s6-overlay/s6-rc.d/nginx/run # buildkit

2026-02-08 00:11:41 UTC (buildkit.dockerfile.v0)

RUN |4 TARGETOS=linux TARGETARCH=arm TARGETVARIANT=v5 S6_OVERLAY_VERSION=3.2.1.0 /bin/sh -c echo 'longrun' > /etc/s6-overlay/s6-rc.d/nginx/type && touch /etc/s6-overlay/s6-rc.d/user/contents.d/nginx # buildkit

2026-02-08 00:11:41 UTC (buildkit.dockerfile.v0)

RUN |4 TARGETOS=linux TARGETARCH=arm TARGETVARIANT=v5 S6_OVERLAY_VERSION=3.2.1.0 /bin/sh -c mkdir -p /usr/local/etc && mkdir /etc/nginx/sites-available && mkdir /etc/nginx/sites-enabled && mkdir /etc/nginx/streams-available && mkdir /etc/nginx/streams-enabled && cp -r /etc/nginx /usr/local/etc/nginx # buildkit

2026-02-08 00:11:41 UTC (buildkit.dockerfile.v0)

COPY nginx-ui-base/init-config.up /etc/s6-overlay/s6-rc.d/init-config/up # buildkit

2026-02-08 00:11:41 UTC (buildkit.dockerfile.v0)

COPY nginx-ui-base/init-config.sh /etc/s6-overlay/s6-rc.d/init-config/init-config.sh # buildkit

2026-02-08 00:11:41 UTC (buildkit.dockerfile.v0)

RUN |4 TARGETOS=linux TARGETARCH=arm TARGETVARIANT=v5 S6_OVERLAY_VERSION=3.2.1.0 /bin/sh -c chmod +x /etc/s6-overlay/s6-rc.d/init-config/init-config.sh && echo 'oneshot' > /etc/s6-overlay/s6-rc.d/init-config/type && touch /etc/s6-overlay/s6-rc.d/user/contents.d/init-config && mkdir -p /etc/s6-overlay/s6-rc.d/nginx/dependencies.d && touch /etc/s6-overlay/s6-rc.d/nginx/dependencies.d/init-config # buildkit

2026-02-08 00:11:41 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["/init"]

2026-02-08 11:45:48 UTC (buildkit.dockerfile.v0)

ARG TARGETOS=linux

2026-02-08 11:45:48 UTC (buildkit.dockerfile.v0)

ARG TARGETARCH=arm

2026-02-08 11:45:48 UTC (buildkit.dockerfile.v0)

ARG TARGETVARIANT=v5

2026-02-08 11:45:48 UTC (buildkit.dockerfile.v0)

EXPOSE [443/tcp 80/tcp]

2026-02-08 11:45:48 UTC (buildkit.dockerfile.v0)

ENV NGINX_UI_OFFICIAL_DOCKER=true

2026-02-08 11:45:48 UTC (buildkit.dockerfile.v0)

ENV NGINX_UI_WORKING_DIR=/var/run/

2026-02-08 11:45:48 UTC (buildkit.dockerfile.v0)

COPY resources/docker/nginx-ui.run /etc/s6-overlay/s6-rc.d/nginx-ui/run # buildkit

2026-02-08 11:45:48 UTC (buildkit.dockerfile.v0)

RUN |3 TARGETOS=linux TARGETARCH=arm TARGETVARIANT=v5 /bin/sh -c echo 'longrun' > /etc/s6-overlay/s6-rc.d/nginx-ui/type && touch /etc/s6-overlay/s6-rc.d/user/contents.d/nginx-ui # buildkit

2026-02-08 11:45:48 UTC (buildkit.dockerfile.v0)

COPY resources/docker/nginx.conf /usr/local/etc/nginx/nginx.conf # buildkit

2026-02-08 11:45:48 UTC (buildkit.dockerfile.v0)

COPY resources/docker/nginx-ui.conf /usr/local/etc/nginx/conf.d/nginx-ui.conf # buildkit

2026-02-08 11:45:50 UTC (buildkit.dockerfile.v0)

COPY nginx-ui-linux-armv5/nginx-ui /usr/local/bin/nginx-ui # buildkit

2026-02-08 11:45:50 UTC (buildkit.dockerfile.v0)

RUN |3 TARGETOS=linux TARGETARCH=arm TARGETVARIANT=v5 /bin/sh -c rm -f /etc/nginx/conf.d/default.conf && rm -f /usr/local/etc/nginx/conf.d/default.conf # buildkit

2026-02-08 11:45:51 UTC (buildkit.dockerfile.v0)

RUN |3 TARGETOS=linux TARGETARCH=arm TARGETVARIANT=v5 /bin/sh -c rm -f /var/log/nginx/access.log && touch /var/log/nginx/access.log && rm -f /var/log/nginx/error.log && touch /var/log/nginx/error.log # buildkit

Details
Created

2026-02-08 11:45:51 UTC

Size

108 MB

Content Digest
Labels
  • maintainer
    NGINX Docker Maintainers <docker-maint@nginx.com>
  • org.opencontainers.image.created
    2026-02-08T11:45:15.370Z
  • org.opencontainers.image.description
    Yet another WebUI for Nginx
  • org.opencontainers.image.licenses
    AGPL-3.0
  • org.opencontainers.image.revision
    0ee88d8429ffe459148aaea04294f6eb28caf72c
  • org.opencontainers.image.source
    https://github.com/0xJacky/nginx-ui
  • org.opencontainers.image.title
    nginx-ui
  • org.opencontainers.image.url
    https://github.com/0xJacky/nginx-ui
  • org.opencontainers.image.version
    cursor-docker-api-stat-path-27ca

Environment
ACME_VERSION

0.3.1

DEBIAN_FRONTEND

noninteractive

DYNPKG_RELEASE

1~trixie

NGINX_UI_OFFICIAL_DOCKER

true

NGINX_UI_WORKING_DIR

/var/run/

NGINX_VERSION

1.29.5

NJS_RELEASE

1~trixie

NJS_VERSION

0.9.5

PATH

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

PKG_RELEASE

1~trixie


Layers

[#000] sha256:2a2986ba48ae233640829460f6772db2ffbc330d97d2b29a533694dfdc7dc893 - 24.77% (26.7 MB)

[#001] sha256:3026da25d314020b9bfb3f9a7df209bb439855051ffdf13a1bddecd5d65b9764 - 23.19% (25 MB)

[#002] sha256:31d394b0c9eda37c098db2471823834f196fc546d924d31f47e554b378133051 - 0.0% (622 Bytes)

[#003] sha256:160550a38939336200af2cd259eca3335d639a3cd12a56d1489ba1ed975ab63e - 0.0% (955 Bytes)

[#004] sha256:2d60fc99a13273494ddd0db00d237d67b3c2ce7871ca036b2f20d7b67bd9cc04 - 0.0% (403 Bytes)

[#005] sha256:f555b1dc3229914c0a06e99b683bad0845529b5014af39c989682d849d6435a3 - 0.0% (1.18 KB)

[#006] sha256:8f6e65a70f11422cc1b5007f8e7e22f124f40db1d8ab33268f3b00615b5be8b0 - 0.0% (1.36 KB)

[#007] sha256:1f8ae4ec2b5e99b948e8e11892f705c717aeca216943329c7e61bdcfa7e2d165 - 5.31% (5.71 MB)

[#008] sha256:72c89220fc31075ac2116050dda6dc315069b3fb0a4f1cf86db2316ad8caf004 - 2.88% (3.1 MB)

[#009] sha256:e7e3b10fc43825477b38e8539fa3cf6684f970627153b90a4d11b018f71c63bc - 0.0% (341 Bytes)

[#010] sha256:800d79dc862589a8b1f2139f49bc35e796b0fcb096d0b42137a88fbcbb893250 - 0.0% (268 Bytes)

[#011] sha256:563947faa8a551f7c9bdbfeb52d6dce7d7c029a9e7612ff224bba111b0532262 - 0.0% (2.75 KB)

[#012] sha256:508d91c302c782d46f542cdb79108f41d0bfc93aada2afb4d2caa79bc4c665ed - 0.0% (216 Bytes)

[#013] sha256:5c058e77c2ddbd9d731d3a382b6c406de5fbbd9340938c9b273276d413714e90 - 0.0% (469 Bytes)

[#014] sha256:557d3244098b7d694af4455beb0134505301519e6cdb55087badfdee52621373 - 0.0% (624 Bytes)

[#015] sha256:805b04f75bccb95cd0adb78efdd53c81eb4e33ab3a5a8445a98067f4fb8eb113 - 0.0% (259 Bytes)

[#016] sha256:fd1db47c73929f54f568fe1176213762f00f5e56a96d444ebb42abddb432ff1a - 0.0% (274 Bytes)

[#017] sha256:409895f48f739a865692d045cbbbbfab86018cf7e041bf6e5fc6abad2927a76c - 0.0% (564 Bytes)

[#018] sha256:cf3f97946cce45319ad30736668f403694905e0de07167e625f11b6c41b8ac0a - 0.0% (514 Bytes)

[#019] sha256:24d64c7533013078381b51cd342797c4ffc7c1e7b609a74856cbaf40bc3f3fb2 - 43.84% (47.2 MB)

[#020] sha256:0f4234a21484b8e4cafd7c8409c7673d76158ffe3c929ce1fca907f7a049d4a3 - 0.0% (279 Bytes)

[#021] sha256:690ddd4c73f3fe163cd62f6c38fe87c82b73a4f76871422e6045ef101621306b - 0.0% (189 Bytes)


History
2026-02-02 00:00:00 UTC (debuerreotype 0.17)

# debian.sh --arch 'armel' out/ 'trixie' '@1769990400'

2026-02-05 00:02:24 UTC (buildkit.dockerfile.v0)

LABEL maintainer=NGINX Docker Maintainers <docker-maint@nginx.com>

2026-02-05 00:02:24 UTC (buildkit.dockerfile.v0)

ENV NGINX_VERSION=1.29.5

2026-02-05 00:02:24 UTC (buildkit.dockerfile.v0)

ENV NJS_VERSION=0.9.5

2026-02-05 00:02:24 UTC (buildkit.dockerfile.v0)

ENV NJS_RELEASE=1~trixie

2026-02-05 00:02:24 UTC (buildkit.dockerfile.v0)

ENV ACME_VERSION=0.3.1

2026-02-05 00:02:24 UTC (buildkit.dockerfile.v0)

ENV PKG_RELEASE=1~trixie

2026-02-05 00:02:24 UTC (buildkit.dockerfile.v0)

ENV DYNPKG_RELEASE=1~trixie

2026-02-05 00:02:24 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -x && groupadd --system --gid 101 nginx && useradd --system --gid nginx --no-create-home --home /nonexistent --comment "nginx user" --shell /bin/false --uid 101 nginx && apt-get update && apt-get install --no-install-recommends --no-install-suggests -y gnupg1 ca-certificates && NGINX_GPGKEYS="573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62 8540A6F18833A80E9C1653A42FD21310B49F6B46 9E9BE90EACBCDE69FE9B204CBCDCD8A38D88A2B3"; NGINX_GPGKEY_PATH=/etc/apt/keyrings/nginx-archive-keyring.gpg; export GNUPGHOME="$(mktemp -d)"; found=''; for NGINX_GPGKEY in $NGINX_GPGKEYS; do for server in hkp://keyserver.ubuntu.com:80 pgp.mit.edu ; do echo "Fetching GPG key $NGINX_GPGKEY from $server"; gpg1 --batch --keyserver "$server" --keyserver-options timeout=10 --recv-keys "$NGINX_GPGKEY" && found=yes && break; done; test -z "$found" && echo >&2 "error: failed to fetch GPG key $NGINX_GPGKEY" && exit 1; done; gpg1 --batch --export $NGINX_GPGKEYS > "$NGINX_GPGKEY_PATH" ; rm -rf "$GNUPGHOME"; apt-get remove --purge --auto-remove -y gnupg1 && rm -rf /var/lib/apt/lists/* && dpkgArch="$(dpkg --print-architecture)" && nginxPackages=" nginx=${NGINX_VERSION}-${PKG_RELEASE} nginx-module-xslt=${NGINX_VERSION}-${DYNPKG_RELEASE} nginx-module-geoip=${NGINX_VERSION}-${DYNPKG_RELEASE} nginx-module-image-filter=${NGINX_VERSION}-${DYNPKG_RELEASE} nginx-module-njs=${NGINX_VERSION}+${NJS_VERSION}-${NJS_RELEASE} nginx-module-acme=${NGINX_VERSION}+${ACME_VERSION}-${PKG_RELEASE} " && case "$dpkgArch" in amd64|arm64) echo "deb [signed-by=$NGINX_GPGKEY_PATH] https://nginx.org/packages/mainline/debian/ trixie nginx" >> /etc/apt/sources.list.d/nginx.list && apt-get update ;; *) tempDir="$(mktemp -d)" && chmod 777 "$tempDir" && savedAptMark="$(apt-mark showmanual)" && apt-get update && apt-get install --no-install-recommends --no-install-suggests -y cargo curl devscripts equivs git libxml2-utils lsb-release xsltproc && ( cd "$tempDir" && export CARGO_HOME="$tempDir/.cargo" && REVISION="${NGINX_VERSION}-${PKG_RELEASE}" && REVISION=${REVISION%~*} && curl -f -L -O https://github.com/nginx/pkg-oss/archive/${REVISION}.tar.gz && PKGOSSCHECKSUM="b8584eaa97130ba7743dfbb2a10f665d64cb54b864e2038d0fd298d24682fc05eb4472738430b15862dabc6f374917f1b9889117051a852d36d0a6c8bc898921 *${REVISION}.tar.gz" && if [ "$(openssl sha512 -r ${REVISION}.tar.gz)" = "$PKGOSSCHECKSUM" ]; then echo "pkg-oss tarball checksum verification succeeded!"; else echo "pkg-oss tarball checksum verification failed!"; exit 1; fi && tar xzvf ${REVISION}.tar.gz && cd pkg-oss-${REVISION} && cd debian && for target in base module-geoip module-image-filter module-njs module-xslt module-acme; do make rules-$target; mk-build-deps --install --tool="apt-get -o Debug::pkgProblemResolver=yes --no-install-recommends --yes" debuild-$target/nginx-$NGINX_VERSION/debian/control; done && make base module-geoip module-image-filter module-njs module-xslt module-acme ) && apt-mark showmanual | xargs apt-mark auto > /dev/null && { [ -z "$savedAptMark" ] || apt-mark manual $savedAptMark; } && ls -lAFh "$tempDir" && ( cd "$tempDir" && dpkg-scanpackages . > Packages ) && grep '^Package: ' "$tempDir/Packages" && echo "deb [ trusted=yes ] file://$tempDir ./" > /etc/apt/sources.list.d/temp.list && apt-get -o Acquire::GzipIndexes=false update ;; esac && apt-get install --no-install-recommends --no-install-suggests -y $nginxPackages gettext-base curl && apt-get remove --purge --auto-remove -y && rm -rf /var/lib/apt/lists/* /etc/apt/sources.list.d/nginx.list && if [ -n "$tempDir" ]; then apt-get purge -y --auto-remove && rm -rf "$tempDir" /etc/apt/sources.list.d/temp.list; fi && ln -sf /dev/stdout /var/log/nginx/access.log && ln -sf /dev/stderr /var/log/nginx/error.log && mkdir /docker-entrypoint.d # buildkit

2026-02-05 00:02:24 UTC (buildkit.dockerfile.v0)

COPY docker-entrypoint.sh / # buildkit

2026-02-05 00:02:24 UTC (buildkit.dockerfile.v0)

COPY 10-listen-on-ipv6-by-default.sh /docker-entrypoint.d # buildkit

2026-02-05 00:02:24 UTC (buildkit.dockerfile.v0)

COPY 15-local-resolvers.envsh /docker-entrypoint.d # buildkit

2026-02-05 00:02:24 UTC (buildkit.dockerfile.v0)

COPY 20-envsubst-on-templates.sh /docker-entrypoint.d # buildkit

2026-02-05 00:02:24 UTC (buildkit.dockerfile.v0)

COPY 30-tune-worker-processes.sh /docker-entrypoint.d # buildkit

2026-02-05 00:02:24 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["/docker-entrypoint.sh"]

2026-02-05 00:02:24 UTC (buildkit.dockerfile.v0)

EXPOSE map[80/tcp:{}]

2026-02-05 00:02:24 UTC (buildkit.dockerfile.v0)

STOPSIGNAL SIGQUIT

2026-02-05 00:02:24 UTC (buildkit.dockerfile.v0)

CMD ["nginx" "-g" "daemon off;"]

2026-02-08 00:11:38 UTC (buildkit.dockerfile.v0)

ARG TARGETOS=linux

2026-02-08 00:11:38 UTC (buildkit.dockerfile.v0)

ARG TARGETARCH=arm

2026-02-08 00:11:38 UTC (buildkit.dockerfile.v0)

ARG TARGETVARIANT=v6

2026-02-08 00:11:38 UTC (buildkit.dockerfile.v0)

ARG S6_OVERLAY_VERSION=3.2.1.0

2026-02-08 00:11:38 UTC (buildkit.dockerfile.v0)

ENV DEBIAN_FRONTEND=noninteractive

2026-02-08 00:11:38 UTC (buildkit.dockerfile.v0)

RUN |4 TARGETOS=linux TARGETARCH=arm TARGETVARIANT=v6 S6_OVERLAY_VERSION=3.2.1.0 /bin/sh -c apt-get update -y && apt install -y --no-install-recommends wget xz-utils logrotate nginx-module-geoip && rm -rf /var/lib/apt/lists/* # buildkit

2026-02-08 00:11:41 UTC (buildkit.dockerfile.v0)

RUN |4 TARGETOS=linux TARGETARCH=arm TARGETVARIANT=v6 S6_OVERLAY_VERSION=3.2.1.0 /bin/sh -c case "${TARGETARCH}/${TARGETVARIANT}" in "amd64/"*) S6_ARCH="x86_64" ;; "arm64/"*) S6_ARCH="aarch64" ;; "arm/v7"*) S6_ARCH="arm" ;; "arm/v6"*) S6_ARCH="arm" ;; "arm/v5"*) S6_ARCH="arm" ;; *) echo "Unsupported arch: ${TARGETARCH}/${TARGETVARIANT}" && exit 1 ;; esac && wget -O /tmp/s6-overlay-noarch.tar.xz https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLAY_VERSION}/s6-overlay-noarch.tar.xz && tar -C / -Jxpf /tmp/s6-overlay-noarch.tar.xz && wget -O /tmp/s6-overlay-${S6_ARCH}.tar.xz https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLAY_VERSION}/s6-overlay-${S6_ARCH}.tar.xz && tar -C / -Jxpf /tmp/s6-overlay-${S6_ARCH}.tar.xz && wget -O /tmp/s6-overlay-noarch.tar.xz https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLAY_VERSION}/s6-overlay-noarch.tar.xz && tar -C / -Jxpf /tmp/s6-overlay-noarch.tar.xz # buildkit

2026-02-08 00:11:41 UTC (buildkit.dockerfile.v0)

COPY nginx-ui-base/nginx /etc/s6-overlay/s6-rc.d/nginx/run # buildkit

2026-02-08 00:11:41 UTC (buildkit.dockerfile.v0)

RUN |4 TARGETOS=linux TARGETARCH=arm TARGETVARIANT=v6 S6_OVERLAY_VERSION=3.2.1.0 /bin/sh -c echo 'longrun' > /etc/s6-overlay/s6-rc.d/nginx/type && touch /etc/s6-overlay/s6-rc.d/user/contents.d/nginx # buildkit

2026-02-08 00:11:41 UTC (buildkit.dockerfile.v0)

RUN |4 TARGETOS=linux TARGETARCH=arm TARGETVARIANT=v6 S6_OVERLAY_VERSION=3.2.1.0 /bin/sh -c mkdir -p /usr/local/etc && mkdir /etc/nginx/sites-available && mkdir /etc/nginx/sites-enabled && mkdir /etc/nginx/streams-available && mkdir /etc/nginx/streams-enabled && cp -r /etc/nginx /usr/local/etc/nginx # buildkit

2026-02-08 00:11:41 UTC (buildkit.dockerfile.v0)

COPY nginx-ui-base/init-config.up /etc/s6-overlay/s6-rc.d/init-config/up # buildkit

2026-02-08 00:11:41 UTC (buildkit.dockerfile.v0)

COPY nginx-ui-base/init-config.sh /etc/s6-overlay/s6-rc.d/init-config/init-config.sh # buildkit

2026-02-08 00:11:41 UTC (buildkit.dockerfile.v0)

RUN |4 TARGETOS=linux TARGETARCH=arm TARGETVARIANT=v6 S6_OVERLAY_VERSION=3.2.1.0 /bin/sh -c chmod +x /etc/s6-overlay/s6-rc.d/init-config/init-config.sh && echo 'oneshot' > /etc/s6-overlay/s6-rc.d/init-config/type && touch /etc/s6-overlay/s6-rc.d/user/contents.d/init-config && mkdir -p /etc/s6-overlay/s6-rc.d/nginx/dependencies.d && touch /etc/s6-overlay/s6-rc.d/nginx/dependencies.d/init-config # buildkit

2026-02-08 00:11:41 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["/init"]

2026-02-08 11:45:48 UTC (buildkit.dockerfile.v0)

ARG TARGETOS=linux

2026-02-08 11:45:48 UTC (buildkit.dockerfile.v0)

ARG TARGETARCH=arm

2026-02-08 11:45:48 UTC (buildkit.dockerfile.v0)

ARG TARGETVARIANT=v6

2026-02-08 11:45:48 UTC (buildkit.dockerfile.v0)

EXPOSE [443/tcp 80/tcp]

2026-02-08 11:45:48 UTC (buildkit.dockerfile.v0)

ENV NGINX_UI_OFFICIAL_DOCKER=true

2026-02-08 11:45:48 UTC (buildkit.dockerfile.v0)

ENV NGINX_UI_WORKING_DIR=/var/run/

2026-02-08 11:45:48 UTC (buildkit.dockerfile.v0)

COPY resources/docker/nginx-ui.run /etc/s6-overlay/s6-rc.d/nginx-ui/run # buildkit

2026-02-08 11:45:48 UTC (buildkit.dockerfile.v0)

RUN |3 TARGETOS=linux TARGETARCH=arm TARGETVARIANT=v6 /bin/sh -c echo 'longrun' > /etc/s6-overlay/s6-rc.d/nginx-ui/type && touch /etc/s6-overlay/s6-rc.d/user/contents.d/nginx-ui # buildkit

2026-02-08 11:45:48 UTC (buildkit.dockerfile.v0)

COPY resources/docker/nginx.conf /usr/local/etc/nginx/nginx.conf # buildkit

2026-02-08 11:45:49 UTC (buildkit.dockerfile.v0)

COPY resources/docker/nginx-ui.conf /usr/local/etc/nginx/conf.d/nginx-ui.conf # buildkit

2026-02-08 11:45:50 UTC (buildkit.dockerfile.v0)

COPY nginx-ui-linux-armv6/nginx-ui /usr/local/bin/nginx-ui # buildkit

2026-02-08 11:45:50 UTC (buildkit.dockerfile.v0)

RUN |3 TARGETOS=linux TARGETARCH=arm TARGETVARIANT=v6 /bin/sh -c rm -f /etc/nginx/conf.d/default.conf && rm -f /usr/local/etc/nginx/conf.d/default.conf # buildkit

2026-02-08 11:45:51 UTC (buildkit.dockerfile.v0)

RUN |3 TARGETOS=linux TARGETARCH=arm TARGETVARIANT=v6 /bin/sh -c rm -f /var/log/nginx/access.log && touch /var/log/nginx/access.log && rm -f /var/log/nginx/error.log && touch /var/log/nginx/error.log # buildkit

Details
Created

2026-02-08 11:45:51 UTC

Size

105 MB

Content Digest
Labels
  • maintainer
    NGINX Docker Maintainers <docker-maint@nginx.com>
  • org.opencontainers.image.created
    2026-02-08T11:45:15.370Z
  • org.opencontainers.image.description
    Yet another WebUI for Nginx
  • org.opencontainers.image.licenses
    AGPL-3.0
  • org.opencontainers.image.revision
    0ee88d8429ffe459148aaea04294f6eb28caf72c
  • org.opencontainers.image.source
    https://github.com/0xJacky/nginx-ui
  • org.opencontainers.image.title
    nginx-ui
  • org.opencontainers.image.url
    https://github.com/0xJacky/nginx-ui
  • org.opencontainers.image.version
    cursor-docker-api-stat-path-27ca

Environment
ACME_VERSION

0.3.1

DEBIAN_FRONTEND

noninteractive

DYNPKG_RELEASE

1~trixie

NGINX_UI_OFFICIAL_DOCKER

true

NGINX_UI_WORKING_DIR

/var/run/

NGINX_VERSION

1.29.5

NJS_RELEASE

1~trixie

NJS_VERSION

0.9.5

PATH

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

PKG_RELEASE

1~trixie


Layers

[#000] sha256:abdd0f3062e6238c89a40b3e40277debcba2796d6736373219a089086718b8b4 - 23.7% (25 MB)

[#001] sha256:2b6e0b6dc1e3f8f4af1ecd7d6b6e2d7587a229c2ab1964a976de77df9ed0ed68 - 23.6% (24.9 MB)

[#002] sha256:b993d744ab94d8be2b3f84f956c2f02619627414b029fbfc8c7228c4b17154dd - 0.0% (628 Bytes)

[#003] sha256:f43efd7d1d2163717044c78ee88600431c4855657cc0cb097df26f20e4e99c02 - 0.0% (957 Bytes)

[#004] sha256:b81d4686b1436a3d1d78b45c96e0cd77c5a5d2c4ad34f422d40dad39044ab24d - 0.0% (405 Bytes)

[#005] sha256:65a6f95fa97027d4cdcc2bbe674d6d417717e1a5742cc576c147ad042f941720 - 0.0% (1.18 KB)

[#006] sha256:b4723134ec30860e62adb2ff9b00b0c142506c41f196e7934cb7d43503693db0 - 0.0% (1.37 KB)

[#007] sha256:c49d985d1e11ce3bbe9454c30e013291f63727e8820967f92d70080aaf954ac8 - 5.04% (5.31 MB)

[#008] sha256:565051229168ea338ca4361b1f3c904f53c0a96157554b7fe31011dbbc69ec68 - 2.94% (3.1 MB)

[#009] sha256:5f63ea48a0baa076fa6d5ff57f7e339ff11850c08e733ff2bd5558f764cca8d5 - 0.0% (341 Bytes)

[#010] sha256:9f63277acc02ab0c63b52363e32d09008b9da095bf139a3cff6559d37625f45f - 0.0% (268 Bytes)

[#011] sha256:03374a5e6e5296c36f808566ad4d4dc0fdc41c80949e08e5468f26b20feee8ba - 0.0% (2.75 KB)

[#012] sha256:2f167d08e637690342d9e186fef86f93d904dd0f5a1bcd3960d78d2511871dbf - 0.0% (216 Bytes)

[#013] sha256:cf1d5ef354b2a2c44b81ad2eeae553f0e44dff73b46db6f45277ed34933fbae0 - 0.0% (469 Bytes)

[#014] sha256:4308bdd9fa2afedb168d16e66777908babaf781145d9b6b5e3d06760beac3ee4 - 0.0% (626 Bytes)

[#015] sha256:cf6de336e417e2a783bd536b41a93ea7080dd713a84a78d1907da0f6cd6242e2 - 0.0% (260 Bytes)

[#016] sha256:fd1db47c73929f54f568fe1176213762f00f5e56a96d444ebb42abddb432ff1a - 0.0% (274 Bytes)

[#017] sha256:3d4839e525a28ef609ce01ceefde9c99f86b63a6660f04b1b92b2302ea272ed7 - 0.0% (564 Bytes)

[#018] sha256:9b5a9b9b686c19b43587f4c9952088826c564dd7c215a8c615e42601a5c9bb92 - 0.0% (514 Bytes)

[#019] sha256:4c9b0ccef00da651675a5b1cbf21e5307cc5977f2ea2f0642d6e5852cbce8df8 - 44.71% (47.2 MB)

[#020] sha256:9886c2c789dd68bba187b1629b72fbe615b124c01e159c86789e189bc76390fb - 0.0% (281 Bytes)

[#021] sha256:b68533d76c958b49c884f6ad1b19d35059c73ade8483f90b081b7485eb9d1515 - 0.0% (189 Bytes)


History
2026-02-02 00:00:00 UTC (debuerreotype 0.17)

# debian.sh --arch 'armhf' out/ 'trixie' '@1769990400'

2026-02-05 00:00:42 UTC (buildkit.dockerfile.v0)

LABEL maintainer=NGINX Docker Maintainers <docker-maint@nginx.com>

2026-02-05 00:00:42 UTC (buildkit.dockerfile.v0)

ENV NGINX_VERSION=1.29.5

2026-02-05 00:00:42 UTC (buildkit.dockerfile.v0)

ENV NJS_VERSION=0.9.5

2026-02-05 00:00:42 UTC (buildkit.dockerfile.v0)

ENV NJS_RELEASE=1~trixie

2026-02-05 00:00:42 UTC (buildkit.dockerfile.v0)

ENV ACME_VERSION=0.3.1

2026-02-05 00:00:42 UTC (buildkit.dockerfile.v0)

ENV PKG_RELEASE=1~trixie

2026-02-05 00:00:42 UTC (buildkit.dockerfile.v0)

ENV DYNPKG_RELEASE=1~trixie

2026-02-05 00:00:42 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -x && groupadd --system --gid 101 nginx && useradd --system --gid nginx --no-create-home --home /nonexistent --comment "nginx user" --shell /bin/false --uid 101 nginx && apt-get update && apt-get install --no-install-recommends --no-install-suggests -y gnupg1 ca-certificates && NGINX_GPGKEYS="573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62 8540A6F18833A80E9C1653A42FD21310B49F6B46 9E9BE90EACBCDE69FE9B204CBCDCD8A38D88A2B3"; NGINX_GPGKEY_PATH=/etc/apt/keyrings/nginx-archive-keyring.gpg; export GNUPGHOME="$(mktemp -d)"; found=''; for NGINX_GPGKEY in $NGINX_GPGKEYS; do for server in hkp://keyserver.ubuntu.com:80 pgp.mit.edu ; do echo "Fetching GPG key $NGINX_GPGKEY from $server"; gpg1 --batch --keyserver "$server" --keyserver-options timeout=10 --recv-keys "$NGINX_GPGKEY" && found=yes && break; done; test -z "$found" && echo >&2 "error: failed to fetch GPG key $NGINX_GPGKEY" && exit 1; done; gpg1 --batch --export $NGINX_GPGKEYS > "$NGINX_GPGKEY_PATH" ; rm -rf "$GNUPGHOME"; apt-get remove --purge --auto-remove -y gnupg1 && rm -rf /var/lib/apt/lists/* && dpkgArch="$(dpkg --print-architecture)" && nginxPackages=" nginx=${NGINX_VERSION}-${PKG_RELEASE} nginx-module-xslt=${NGINX_VERSION}-${DYNPKG_RELEASE} nginx-module-geoip=${NGINX_VERSION}-${DYNPKG_RELEASE} nginx-module-image-filter=${NGINX_VERSION}-${DYNPKG_RELEASE} nginx-module-njs=${NGINX_VERSION}+${NJS_VERSION}-${NJS_RELEASE} nginx-module-acme=${NGINX_VERSION}+${ACME_VERSION}-${PKG_RELEASE} " && case "$dpkgArch" in amd64|arm64) echo "deb [signed-by=$NGINX_GPGKEY_PATH] https://nginx.org/packages/mainline/debian/ trixie nginx" >> /etc/apt/sources.list.d/nginx.list && apt-get update ;; *) tempDir="$(mktemp -d)" && chmod 777 "$tempDir" && savedAptMark="$(apt-mark showmanual)" && apt-get update && apt-get install --no-install-recommends --no-install-suggests -y cargo curl devscripts equivs git libxml2-utils lsb-release xsltproc && ( cd "$tempDir" && export CARGO_HOME="$tempDir/.cargo" && REVISION="${NGINX_VERSION}-${PKG_RELEASE}" && REVISION=${REVISION%~*} && curl -f -L -O https://github.com/nginx/pkg-oss/archive/${REVISION}.tar.gz && PKGOSSCHECKSUM="b8584eaa97130ba7743dfbb2a10f665d64cb54b864e2038d0fd298d24682fc05eb4472738430b15862dabc6f374917f1b9889117051a852d36d0a6c8bc898921 *${REVISION}.tar.gz" && if [ "$(openssl sha512 -r ${REVISION}.tar.gz)" = "$PKGOSSCHECKSUM" ]; then echo "pkg-oss tarball checksum verification succeeded!"; else echo "pkg-oss tarball checksum verification failed!"; exit 1; fi && tar xzvf ${REVISION}.tar.gz && cd pkg-oss-${REVISION} && cd debian && for target in base module-geoip module-image-filter module-njs module-xslt module-acme; do make rules-$target; mk-build-deps --install --tool="apt-get -o Debug::pkgProblemResolver=yes --no-install-recommends --yes" debuild-$target/nginx-$NGINX_VERSION/debian/control; done && make base module-geoip module-image-filter module-njs module-xslt module-acme ) && apt-mark showmanual | xargs apt-mark auto > /dev/null && { [ -z "$savedAptMark" ] || apt-mark manual $savedAptMark; } && ls -lAFh "$tempDir" && ( cd "$tempDir" && dpkg-scanpackages . > Packages ) && grep '^Package: ' "$tempDir/Packages" && echo "deb [ trusted=yes ] file://$tempDir ./" > /etc/apt/sources.list.d/temp.list && apt-get -o Acquire::GzipIndexes=false update ;; esac && apt-get install --no-install-recommends --no-install-suggests -y $nginxPackages gettext-base curl && apt-get remove --purge --auto-remove -y && rm -rf /var/lib/apt/lists/* /etc/apt/sources.list.d/nginx.list && if [ -n "$tempDir" ]; then apt-get purge -y --auto-remove && rm -rf "$tempDir" /etc/apt/sources.list.d/temp.list; fi && ln -sf /dev/stdout /var/log/nginx/access.log && ln -sf /dev/stderr /var/log/nginx/error.log && mkdir /docker-entrypoint.d # buildkit

2026-02-05 00:00:42 UTC (buildkit.dockerfile.v0)

COPY docker-entrypoint.sh / # buildkit

2026-02-05 00:00:42 UTC (buildkit.dockerfile.v0)

COPY 10-listen-on-ipv6-by-default.sh /docker-entrypoint.d # buildkit

2026-02-05 00:00:42 UTC (buildkit.dockerfile.v0)

COPY 15-local-resolvers.envsh /docker-entrypoint.d # buildkit

2026-02-05 00:00:42 UTC (buildkit.dockerfile.v0)

COPY 20-envsubst-on-templates.sh /docker-entrypoint.d # buildkit

2026-02-05 00:00:42 UTC (buildkit.dockerfile.v0)

COPY 30-tune-worker-processes.sh /docker-entrypoint.d # buildkit

2026-02-05 00:00:42 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["/docker-entrypoint.sh"]

2026-02-05 00:00:42 UTC (buildkit.dockerfile.v0)

EXPOSE map[80/tcp:{}]

2026-02-05 00:00:42 UTC (buildkit.dockerfile.v0)

STOPSIGNAL SIGQUIT

2026-02-05 00:00:42 UTC (buildkit.dockerfile.v0)

CMD ["nginx" "-g" "daemon off;"]

2026-02-08 00:11:16 UTC (buildkit.dockerfile.v0)

ARG TARGETOS=linux

2026-02-08 00:11:16 UTC (buildkit.dockerfile.v0)

ARG TARGETARCH=arm

2026-02-08 00:11:16 UTC (buildkit.dockerfile.v0)

ARG TARGETVARIANT=v7

2026-02-08 00:11:16 UTC (buildkit.dockerfile.v0)

ARG S6_OVERLAY_VERSION=3.2.1.0

2026-02-08 00:11:16 UTC (buildkit.dockerfile.v0)

ENV DEBIAN_FRONTEND=noninteractive

2026-02-08 00:11:16 UTC (buildkit.dockerfile.v0)

RUN |4 TARGETOS=linux TARGETARCH=arm TARGETVARIANT=v7 S6_OVERLAY_VERSION=3.2.1.0 /bin/sh -c apt-get update -y && apt install -y --no-install-recommends wget xz-utils logrotate nginx-module-geoip && rm -rf /var/lib/apt/lists/* # buildkit

2026-02-08 00:11:20 UTC (buildkit.dockerfile.v0)

RUN |4 TARGETOS=linux TARGETARCH=arm TARGETVARIANT=v7 S6_OVERLAY_VERSION=3.2.1.0 /bin/sh -c case "${TARGETARCH}/${TARGETVARIANT}" in "amd64/"*) S6_ARCH="x86_64" ;; "arm64/"*) S6_ARCH="aarch64" ;; "arm/v7"*) S6_ARCH="arm" ;; "arm/v6"*) S6_ARCH="arm" ;; "arm/v5"*) S6_ARCH="arm" ;; *) echo "Unsupported arch: ${TARGETARCH}/${TARGETVARIANT}" && exit 1 ;; esac && wget -O /tmp/s6-overlay-noarch.tar.xz https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLAY_VERSION}/s6-overlay-noarch.tar.xz && tar -C / -Jxpf /tmp/s6-overlay-noarch.tar.xz && wget -O /tmp/s6-overlay-${S6_ARCH}.tar.xz https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLAY_VERSION}/s6-overlay-${S6_ARCH}.tar.xz && tar -C / -Jxpf /tmp/s6-overlay-${S6_ARCH}.tar.xz && wget -O /tmp/s6-overlay-noarch.tar.xz https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLAY_VERSION}/s6-overlay-noarch.tar.xz && tar -C / -Jxpf /tmp/s6-overlay-noarch.tar.xz # buildkit

2026-02-08 00:11:20 UTC (buildkit.dockerfile.v0)

COPY nginx-ui-base/nginx /etc/s6-overlay/s6-rc.d/nginx/run # buildkit

2026-02-08 00:11:20 UTC (buildkit.dockerfile.v0)

RUN |4 TARGETOS=linux TARGETARCH=arm TARGETVARIANT=v7 S6_OVERLAY_VERSION=3.2.1.0 /bin/sh -c echo 'longrun' > /etc/s6-overlay/s6-rc.d/nginx/type && touch /etc/s6-overlay/s6-rc.d/user/contents.d/nginx # buildkit

2026-02-08 00:11:20 UTC (buildkit.dockerfile.v0)

RUN |4 TARGETOS=linux TARGETARCH=arm TARGETVARIANT=v7 S6_OVERLAY_VERSION=3.2.1.0 /bin/sh -c mkdir -p /usr/local/etc && mkdir /etc/nginx/sites-available && mkdir /etc/nginx/sites-enabled && mkdir /etc/nginx/streams-available && mkdir /etc/nginx/streams-enabled && cp -r /etc/nginx /usr/local/etc/nginx # buildkit

2026-02-08 00:11:20 UTC (buildkit.dockerfile.v0)

COPY nginx-ui-base/init-config.up /etc/s6-overlay/s6-rc.d/init-config/up # buildkit

2026-02-08 00:11:20 UTC (buildkit.dockerfile.v0)

COPY nginx-ui-base/init-config.sh /etc/s6-overlay/s6-rc.d/init-config/init-config.sh # buildkit

2026-02-08 00:11:21 UTC (buildkit.dockerfile.v0)

RUN |4 TARGETOS=linux TARGETARCH=arm TARGETVARIANT=v7 S6_OVERLAY_VERSION=3.2.1.0 /bin/sh -c chmod +x /etc/s6-overlay/s6-rc.d/init-config/init-config.sh && echo 'oneshot' > /etc/s6-overlay/s6-rc.d/init-config/type && touch /etc/s6-overlay/s6-rc.d/user/contents.d/init-config && mkdir -p /etc/s6-overlay/s6-rc.d/nginx/dependencies.d && touch /etc/s6-overlay/s6-rc.d/nginx/dependencies.d/init-config # buildkit

2026-02-08 00:11:21 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["/init"]

2026-02-08 11:45:48 UTC (buildkit.dockerfile.v0)

ARG TARGETOS=linux

2026-02-08 11:45:48 UTC (buildkit.dockerfile.v0)

ARG TARGETARCH=arm

2026-02-08 11:45:48 UTC (buildkit.dockerfile.v0)

ARG TARGETVARIANT=v7

2026-02-08 11:45:48 UTC (buildkit.dockerfile.v0)

EXPOSE [443/tcp 80/tcp]

2026-02-08 11:45:48 UTC (buildkit.dockerfile.v0)

ENV NGINX_UI_OFFICIAL_DOCKER=true

2026-02-08 11:45:48 UTC (buildkit.dockerfile.v0)

ENV NGINX_UI_WORKING_DIR=/var/run/

2026-02-08 11:45:48 UTC (buildkit.dockerfile.v0)

COPY resources/docker/nginx-ui.run /etc/s6-overlay/s6-rc.d/nginx-ui/run # buildkit

2026-02-08 11:45:48 UTC (buildkit.dockerfile.v0)

RUN |3 TARGETOS=linux TARGETARCH=arm TARGETVARIANT=v7 /bin/sh -c echo 'longrun' > /etc/s6-overlay/s6-rc.d/nginx-ui/type && touch /etc/s6-overlay/s6-rc.d/user/contents.d/nginx-ui # buildkit

2026-02-08 11:45:48 UTC (buildkit.dockerfile.v0)

COPY resources/docker/nginx.conf /usr/local/etc/nginx/nginx.conf # buildkit

2026-02-08 11:45:48 UTC (buildkit.dockerfile.v0)

COPY resources/docker/nginx-ui.conf /usr/local/etc/nginx/conf.d/nginx-ui.conf # buildkit

2026-02-08 11:45:49 UTC (buildkit.dockerfile.v0)

COPY nginx-ui-linux-armv7/nginx-ui /usr/local/bin/nginx-ui # buildkit

2026-02-08 11:45:50 UTC (buildkit.dockerfile.v0)

RUN |3 TARGETOS=linux TARGETARCH=arm TARGETVARIANT=v7 /bin/sh -c rm -f /etc/nginx/conf.d/default.conf && rm -f /usr/local/etc/nginx/conf.d/default.conf # buildkit

2026-02-08 11:45:51 UTC (buildkit.dockerfile.v0)

RUN |3 TARGETOS=linux TARGETARCH=arm TARGETVARIANT=v7 /bin/sh -c rm -f /var/log/nginx/access.log && touch /var/log/nginx/access.log && rm -f /var/log/nginx/error.log && touch /var/log/nginx/error.log # buildkit

Details
Created

2026-02-08 11:45:51 UTC

Size

113 MB

Content Digest
Labels
  • maintainer
    NGINX Docker Maintainers <docker-maint@nginx.com>
  • org.opencontainers.image.created
    2026-02-08T11:45:15.370Z
  • org.opencontainers.image.description
    Yet another WebUI for Nginx
  • org.opencontainers.image.licenses
    AGPL-3.0
  • org.opencontainers.image.revision
    0ee88d8429ffe459148aaea04294f6eb28caf72c
  • org.opencontainers.image.source
    https://github.com/0xJacky/nginx-ui
  • org.opencontainers.image.title
    nginx-ui
  • org.opencontainers.image.url
    https://github.com/0xJacky/nginx-ui
  • org.opencontainers.image.version
    cursor-docker-api-stat-path-27ca

Environment
ACME_VERSION

0.3.1

DEBIAN_FRONTEND

noninteractive

DYNPKG_RELEASE

1~trixie

NGINX_UI_OFFICIAL_DOCKER

true

NGINX_UI_WORKING_DIR

/var/run/

NGINX_VERSION

1.29.5

NJS_RELEASE

1~trixie

NJS_VERSION

0.9.5

PATH

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

PKG_RELEASE

1~trixie


Layers

[#000] sha256:3ea009573b472d108af9af31ec35a06fe3649084f6611cf11f7d594b85cf7a7c - 25.34% (28.7 MB)

[#001] sha256:efc7865cf13e460368cc89c201ba74f7b1e16fd489c647dd9e7c986fefb0da44 - 26.15% (29.7 MB)

[#002] sha256:5380ffdd215e97bce8fae5707d8307604544cb5a9db084290e144412e65c63e0 - 0.0% (626 Bytes)

[#003] sha256:fb8853dab2dabaa33ac144ddfea9f5601edc994cf38763fb8d3b9f7207b89d0c - 0.0% (955 Bytes)

[#004] sha256:1063666c8b8e795e6f8b7da6d7698e4cb8b50b7c49690c297131d16a36789bfa - 0.0% (404 Bytes)

[#005] sha256:0e9ba714bdf166e853fd20a64cb9578030aee1cc891a5db8cf08c0e584c71a57 - 0.0% (1.18 KB)

[#006] sha256:58072fb4fd7c2ee1925f1e45856b849481d10e4fdd51699cfa96849e010d58c0 - 0.0% (1.36 KB)

[#007] sha256:86602f87683ac324d9a87e848fea955e1ca2b2a8968208ac8a6d80e9816dd88a - 4.81% (5.45 MB)

[#008] sha256:88bc68e08a4af44fe811f9b1a7e6249cc0a54d0a238332a21648f7484317d0d0 - 2.93% (3.33 MB)

[#009] sha256:5664fac4df7784c4cae0d50495f6e842a69654397a03d34cca2b81849ae3df5d - 0.0% (341 Bytes)

[#010] sha256:41705a0f75a7e4d61ebeaab468b744cb7621d6723c7b4698c0eb1f0200684fce - 0.0% (269 Bytes)

[#011] sha256:b2549765dc473d8bd3865112339e71a1dcfd6802eee4a7e6e502c5c07edff740 - 0.0% (2.75 KB)

[#012] sha256:44f9a806c7866dfde4bb3fb668c87d78c70110a40705d96678ef1205d8e3514c - 0.0% (219 Bytes)

[#013] sha256:7fc05c7b40c9a0f8963c812797660fb2c237ec291d7be252b90ce4c643447edb - 0.0% (472 Bytes)

[#014] sha256:db023145bc6208027411a365044848ea1ff517f25203ed3ebf4856150db46fcd - 0.0% (625 Bytes)

[#015] sha256:71a2a677746aa060aaf703a97f767f8ff725022b7dae52b75ddc694887f355fb - 0.0% (259 Bytes)

[#016] sha256:f79eeab9927d5186c21e6b995ce9346ee13d2e9805949623df55eafd8a67918c - 0.0% (275 Bytes)

[#017] sha256:43b863169baa227b02d6d98cdfa02884b5c33f7b0494cafb7559637fd05970c6 - 0.0% (565 Bytes)

[#018] sha256:2ea395462754a556dd8bd1694db5c74ba14868c3ff7055894a6a9d38a2f78ba4 - 0.0% (514 Bytes)

[#019] sha256:acbce2162999f88c6bea238ba25f830c2d86b13a18a81fff13a6bc5df57159d3 - 40.76% (46.2 MB)

[#020] sha256:46c6d6db4e9007131f6157099c01620d5a05b2cd6e5f7611391260a4312b41f0 - 0.0% (285 Bytes)

[#021] sha256:3cffd64cf042bbb2c4566ec4fc43cf265e9da07f2c1430b11fdfbfeb41c8b56f - 0.0% (189 Bytes)


History
2026-02-02 00:00:00 UTC (debuerreotype 0.17)

# debian.sh --arch 'arm64' out/ 'trixie' '@1769990400'

2026-02-04 23:52:44 UTC (buildkit.dockerfile.v0)

LABEL maintainer=NGINX Docker Maintainers <docker-maint@nginx.com>

2026-02-04 23:52:44 UTC (buildkit.dockerfile.v0)

ENV NGINX_VERSION=1.29.5

2026-02-04 23:52:44 UTC (buildkit.dockerfile.v0)

ENV NJS_VERSION=0.9.5

2026-02-04 23:52:44 UTC (buildkit.dockerfile.v0)

ENV NJS_RELEASE=1~trixie

2026-02-04 23:52:44 UTC (buildkit.dockerfile.v0)

ENV ACME_VERSION=0.3.1

2026-02-04 23:52:44 UTC (buildkit.dockerfile.v0)

ENV PKG_RELEASE=1~trixie

2026-02-04 23:52:44 UTC (buildkit.dockerfile.v0)

ENV DYNPKG_RELEASE=1~trixie

2026-02-04 23:52:44 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -x && groupadd --system --gid 101 nginx && useradd --system --gid nginx --no-create-home --home /nonexistent --comment "nginx user" --shell /bin/false --uid 101 nginx && apt-get update && apt-get install --no-install-recommends --no-install-suggests -y gnupg1 ca-certificates && NGINX_GPGKEYS="573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62 8540A6F18833A80E9C1653A42FD21310B49F6B46 9E9BE90EACBCDE69FE9B204CBCDCD8A38D88A2B3"; NGINX_GPGKEY_PATH=/etc/apt/keyrings/nginx-archive-keyring.gpg; export GNUPGHOME="$(mktemp -d)"; found=''; for NGINX_GPGKEY in $NGINX_GPGKEYS; do for server in hkp://keyserver.ubuntu.com:80 pgp.mit.edu ; do echo "Fetching GPG key $NGINX_GPGKEY from $server"; gpg1 --batch --keyserver "$server" --keyserver-options timeout=10 --recv-keys "$NGINX_GPGKEY" && found=yes && break; done; test -z "$found" && echo >&2 "error: failed to fetch GPG key $NGINX_GPGKEY" && exit 1; done; gpg1 --batch --export $NGINX_GPGKEYS > "$NGINX_GPGKEY_PATH" ; rm -rf "$GNUPGHOME"; apt-get remove --purge --auto-remove -y gnupg1 && rm -rf /var/lib/apt/lists/* && dpkgArch="$(dpkg --print-architecture)" && nginxPackages=" nginx=${NGINX_VERSION}-${PKG_RELEASE} nginx-module-xslt=${NGINX_VERSION}-${DYNPKG_RELEASE} nginx-module-geoip=${NGINX_VERSION}-${DYNPKG_RELEASE} nginx-module-image-filter=${NGINX_VERSION}-${DYNPKG_RELEASE} nginx-module-njs=${NGINX_VERSION}+${NJS_VERSION}-${NJS_RELEASE} nginx-module-acme=${NGINX_VERSION}+${ACME_VERSION}-${PKG_RELEASE} " && case "$dpkgArch" in amd64|arm64) echo "deb [signed-by=$NGINX_GPGKEY_PATH] https://nginx.org/packages/mainline/debian/ trixie nginx" >> /etc/apt/sources.list.d/nginx.list && apt-get update ;; *) tempDir="$(mktemp -d)" && chmod 777 "$tempDir" && savedAptMark="$(apt-mark showmanual)" && apt-get update && apt-get install --no-install-recommends --no-install-suggests -y cargo curl devscripts equivs git libxml2-utils lsb-release xsltproc && ( cd "$tempDir" && export CARGO_HOME="$tempDir/.cargo" && REVISION="${NGINX_VERSION}-${PKG_RELEASE}" && REVISION=${REVISION%~*} && curl -f -L -O https://github.com/nginx/pkg-oss/archive/${REVISION}.tar.gz && PKGOSSCHECKSUM="b8584eaa97130ba7743dfbb2a10f665d64cb54b864e2038d0fd298d24682fc05eb4472738430b15862dabc6f374917f1b9889117051a852d36d0a6c8bc898921 *${REVISION}.tar.gz" && if [ "$(openssl sha512 -r ${REVISION}.tar.gz)" = "$PKGOSSCHECKSUM" ]; then echo "pkg-oss tarball checksum verification succeeded!"; else echo "pkg-oss tarball checksum verification failed!"; exit 1; fi && tar xzvf ${REVISION}.tar.gz && cd pkg-oss-${REVISION} && cd debian && for target in base module-geoip module-image-filter module-njs module-xslt module-acme; do make rules-$target; mk-build-deps --install --tool="apt-get -o Debug::pkgProblemResolver=yes --no-install-recommends --yes" debuild-$target/nginx-$NGINX_VERSION/debian/control; done && make base module-geoip module-image-filter module-njs module-xslt module-acme ) && apt-mark showmanual | xargs apt-mark auto > /dev/null && { [ -z "$savedAptMark" ] || apt-mark manual $savedAptMark; } && ls -lAFh "$tempDir" && ( cd "$tempDir" && dpkg-scanpackages . > Packages ) && grep '^Package: ' "$tempDir/Packages" && echo "deb [ trusted=yes ] file://$tempDir ./" > /etc/apt/sources.list.d/temp.list && apt-get -o Acquire::GzipIndexes=false update ;; esac && apt-get install --no-install-recommends --no-install-suggests -y $nginxPackages gettext-base curl && apt-get remove --purge --auto-remove -y && rm -rf /var/lib/apt/lists/* /etc/apt/sources.list.d/nginx.list && if [ -n "$tempDir" ]; then apt-get purge -y --auto-remove && rm -rf "$tempDir" /etc/apt/sources.list.d/temp.list; fi && ln -sf /dev/stdout /var/log/nginx/access.log && ln -sf /dev/stderr /var/log/nginx/error.log && mkdir /docker-entrypoint.d # buildkit

2026-02-04 23:52:45 UTC (buildkit.dockerfile.v0)

COPY docker-entrypoint.sh / # buildkit

2026-02-04 23:52:45 UTC (buildkit.dockerfile.v0)

COPY 10-listen-on-ipv6-by-default.sh /docker-entrypoint.d # buildkit

2026-02-04 23:52:45 UTC (buildkit.dockerfile.v0)

COPY 15-local-resolvers.envsh /docker-entrypoint.d # buildkit

2026-02-04 23:52:45 UTC (buildkit.dockerfile.v0)

COPY 20-envsubst-on-templates.sh /docker-entrypoint.d # buildkit

2026-02-04 23:52:45 UTC (buildkit.dockerfile.v0)

COPY 30-tune-worker-processes.sh /docker-entrypoint.d # buildkit

2026-02-04 23:52:45 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["/docker-entrypoint.sh"]

2026-02-04 23:52:45 UTC (buildkit.dockerfile.v0)

EXPOSE map[80/tcp:{}]

2026-02-04 23:52:45 UTC (buildkit.dockerfile.v0)

STOPSIGNAL SIGQUIT

2026-02-04 23:52:45 UTC (buildkit.dockerfile.v0)

CMD ["nginx" "-g" "daemon off;"]

2026-02-08 00:11:28 UTC (buildkit.dockerfile.v0)

ARG TARGETOS=linux

2026-02-08 00:11:28 UTC (buildkit.dockerfile.v0)

ARG TARGETARCH=arm64

2026-02-08 00:11:28 UTC (buildkit.dockerfile.v0)

ARG TARGETVARIANT=

2026-02-08 00:11:28 UTC (buildkit.dockerfile.v0)

ARG S6_OVERLAY_VERSION=3.2.1.0

2026-02-08 00:11:28 UTC (buildkit.dockerfile.v0)

ENV DEBIAN_FRONTEND=noninteractive

2026-02-08 00:11:28 UTC (buildkit.dockerfile.v0)

RUN |4 TARGETOS=linux TARGETARCH=arm64 TARGETVARIANT= S6_OVERLAY_VERSION=3.2.1.0 /bin/sh -c apt-get update -y && apt install -y --no-install-recommends wget xz-utils logrotate nginx-module-geoip && rm -rf /var/lib/apt/lists/* # buildkit

2026-02-08 00:11:32 UTC (buildkit.dockerfile.v0)

RUN |4 TARGETOS=linux TARGETARCH=arm64 TARGETVARIANT= S6_OVERLAY_VERSION=3.2.1.0 /bin/sh -c case "${TARGETARCH}/${TARGETVARIANT}" in "amd64/"*) S6_ARCH="x86_64" ;; "arm64/"*) S6_ARCH="aarch64" ;; "arm/v7"*) S6_ARCH="arm" ;; "arm/v6"*) S6_ARCH="arm" ;; "arm/v5"*) S6_ARCH="arm" ;; *) echo "Unsupported arch: ${TARGETARCH}/${TARGETVARIANT}" && exit 1 ;; esac && wget -O /tmp/s6-overlay-noarch.tar.xz https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLAY_VERSION}/s6-overlay-noarch.tar.xz && tar -C / -Jxpf /tmp/s6-overlay-noarch.tar.xz && wget -O /tmp/s6-overlay-${S6_ARCH}.tar.xz https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLAY_VERSION}/s6-overlay-${S6_ARCH}.tar.xz && tar -C / -Jxpf /tmp/s6-overlay-${S6_ARCH}.tar.xz && wget -O /tmp/s6-overlay-noarch.tar.xz https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLAY_VERSION}/s6-overlay-noarch.tar.xz && tar -C / -Jxpf /tmp/s6-overlay-noarch.tar.xz # buildkit

2026-02-08 00:11:32 UTC (buildkit.dockerfile.v0)

COPY nginx-ui-base/nginx /etc/s6-overlay/s6-rc.d/nginx/run # buildkit

2026-02-08 00:11:32 UTC (buildkit.dockerfile.v0)

RUN |4 TARGETOS=linux TARGETARCH=arm64 TARGETVARIANT= S6_OVERLAY_VERSION=3.2.1.0 /bin/sh -c echo 'longrun' > /etc/s6-overlay/s6-rc.d/nginx/type && touch /etc/s6-overlay/s6-rc.d/user/contents.d/nginx # buildkit

2026-02-08 00:11:33 UTC (buildkit.dockerfile.v0)

RUN |4 TARGETOS=linux TARGETARCH=arm64 TARGETVARIANT= S6_OVERLAY_VERSION=3.2.1.0 /bin/sh -c mkdir -p /usr/local/etc && mkdir /etc/nginx/sites-available && mkdir /etc/nginx/sites-enabled && mkdir /etc/nginx/streams-available && mkdir /etc/nginx/streams-enabled && cp -r /etc/nginx /usr/local/etc/nginx # buildkit

2026-02-08 00:11:33 UTC (buildkit.dockerfile.v0)

COPY nginx-ui-base/init-config.up /etc/s6-overlay/s6-rc.d/init-config/up # buildkit

2026-02-08 00:11:33 UTC (buildkit.dockerfile.v0)

COPY nginx-ui-base/init-config.sh /etc/s6-overlay/s6-rc.d/init-config/init-config.sh # buildkit

2026-02-08 00:11:33 UTC (buildkit.dockerfile.v0)

RUN |4 TARGETOS=linux TARGETARCH=arm64 TARGETVARIANT= S6_OVERLAY_VERSION=3.2.1.0 /bin/sh -c chmod +x /etc/s6-overlay/s6-rc.d/init-config/init-config.sh && echo 'oneshot' > /etc/s6-overlay/s6-rc.d/init-config/type && touch /etc/s6-overlay/s6-rc.d/user/contents.d/init-config && mkdir -p /etc/s6-overlay/s6-rc.d/nginx/dependencies.d && touch /etc/s6-overlay/s6-rc.d/nginx/dependencies.d/init-config # buildkit

2026-02-08 00:11:33 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["/init"]

2026-02-08 11:45:48 UTC (buildkit.dockerfile.v0)

ARG TARGETOS=linux

2026-02-08 11:45:48 UTC (buildkit.dockerfile.v0)

ARG TARGETARCH=arm64

2026-02-08 11:45:48 UTC (buildkit.dockerfile.v0)

ARG TARGETVARIANT=

2026-02-08 11:45:48 UTC (buildkit.dockerfile.v0)

EXPOSE [443/tcp 80/tcp]

2026-02-08 11:45:48 UTC (buildkit.dockerfile.v0)

ENV NGINX_UI_OFFICIAL_DOCKER=true

2026-02-08 11:45:48 UTC (buildkit.dockerfile.v0)

ENV NGINX_UI_WORKING_DIR=/var/run/

2026-02-08 11:45:48 UTC (buildkit.dockerfile.v0)

COPY resources/docker/nginx-ui.run /etc/s6-overlay/s6-rc.d/nginx-ui/run # buildkit

2026-02-08 11:45:48 UTC (buildkit.dockerfile.v0)

RUN |3 TARGETOS=linux TARGETARCH=arm64 TARGETVARIANT= /bin/sh -c echo 'longrun' > /etc/s6-overlay/s6-rc.d/nginx-ui/type && touch /etc/s6-overlay/s6-rc.d/user/contents.d/nginx-ui # buildkit

2026-02-08 11:45:48 UTC (buildkit.dockerfile.v0)

COPY resources/docker/nginx.conf /usr/local/etc/nginx/nginx.conf # buildkit

2026-02-08 11:45:48 UTC (buildkit.dockerfile.v0)

COPY resources/docker/nginx-ui.conf /usr/local/etc/nginx/conf.d/nginx-ui.conf # buildkit

2026-02-08 11:45:49 UTC (buildkit.dockerfile.v0)

COPY nginx-ui-linux-arm64/nginx-ui /usr/local/bin/nginx-ui # buildkit

2026-02-08 11:45:50 UTC (buildkit.dockerfile.v0)

RUN |3 TARGETOS=linux TARGETARCH=arm64 TARGETVARIANT= /bin/sh -c rm -f /etc/nginx/conf.d/default.conf && rm -f /usr/local/etc/nginx/conf.d/default.conf # buildkit

2026-02-08 11:45:51 UTC (buildkit.dockerfile.v0)

RUN |3 TARGETOS=linux TARGETARCH=arm64 TARGETVARIANT= /bin/sh -c rm -f /var/log/nginx/access.log && touch /var/log/nginx/access.log && rm -f /var/log/nginx/error.log && touch /var/log/nginx/error.log # buildkit

Danger Zone
Delete Tag

Please be careful as this will not just delete the reference but also the actual content!

For example when you have latest and v1.2.3 both pointing to the same image
the deletion of latest will also permanently remove v1.2.3.

Delete