Namespace
uozi
Image / Tag
nginx-ui:sha-70bb2c0
Content Digest
sha256:0d78b1ac43f9872be8721251edbb655aac22bbf4fc958b22d1e25bb00d15b87c
Details
Created

2026-08-03 08:11:45 UTC

Size

109 MB

Content Digest
Labels
  • maintainer
    NGINX Docker Maintainers <docker-maint@nginx.com>
  • org.opencontainers.image.created
    2026-08-03T08:10:58.781Z
  • org.opencontainers.image.description
    Yet another WebUI for Nginx
  • org.opencontainers.image.licenses
    AGPL-3.0
  • org.opencontainers.image.revision
    70bb2c06d416baf1157aeb607fbe37f384fafc32
  • 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
    dev

Environment
ACME_VERSION

0.4.1

DEBIAN_FRONTEND

noninteractive

DYNPKG_RELEASE

1~trixie

NGINX_UI_OFFICIAL_DOCKER

true

NGINX_UI_WORKING_DIR

/var/run/

NGINX_VERSION

1.31.3

NJS_RELEASE

1~trixie

NJS_VERSION

1.0.0

PATH

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

PKG_RELEASE

1~trixie


Layers

[#000] sha256:062e450697faa5f02a3a74eba9864ee4d79bc9cfbd65769fc6cdff2c05c6a053 - 26.1% (28.4 MB)

[#001] sha256:82454cdbf456a77f9ff1bb88b121c2a739e38c30ea689c135c7cca6249eabe4e - 29.21% (31.8 MB)

[#002] sha256:3c7ab7949321f47c96fc0918f9f72e8f51bd452cdef1e0dad9599880317380b9 - 0.0% (626 Bytes)

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

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

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

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

[#007] sha256:5409c4527587e17479ea1d5f1fe7088c968fe131e50fbbf71faeb5340fd84aee - 5.1% (5.55 MB)

[#008] sha256:d5d18b5c6453edcdc89193bfe8b8ce63b869465cae9b530ab901c5d01b783c97 - 2.11% (2.3 MB)

[#009] sha256:a767cd101a56999a43b0695575cba534d2ea955056cddf4082d59aba8d6e181b - 0.0% (437 Bytes)

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

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

[#012] sha256:e4cfb6829133d56ab9f2b141b2e756031102e84f1f6c60ad37c93db5231f81a8 - 0.0% (215 Bytes)

[#013] sha256:ea2d69a41ad80ffd166511739263019f7ec183c981d1de21fc77933c06918e9d - 0.0% (1.68 KB)

[#014] sha256:13e259af647947413e1b7a64c5b898bcd1f6c1637f8a023a8909f4196a2fe796 - 0.0% (330 Bytes)

[#015] sha256:3e10d1b8c92b83849a5b91993aaaf3d4281b059dba68ad7081251412c98a588c - 0.0% (254 Bytes)

[#016] sha256:cde64f25cbe091d070ec1b9aa3efa1d837485045bd4ba09563215d626aa55553 - 0.0% (273 Bytes)

[#017] sha256:964105d1f443b37f41a0933ad7b79c5b1918be2b1b3cd56120af07887c6472bc - 0.0% (555 Bytes)

[#018] sha256:6524eaa84785cf19d0f081b28f06711c603961dd2221e4c3d66a01c5df2d19cc - 0.0% (721 Bytes)

[#019] sha256:3ab9eb2b151aefdd19538960ab404094fc5712a3b56f8f1fb8f3c6c54f82b511 - 0.0% (611 Bytes)

[#020] sha256:74dfc8d037759491e58cbb5da083a10c5c39789d6528ef10d8bd9c4057458256 - 37.47% (40.8 MB)

[#021] sha256:c0566b89ee2b82f1f0e694703d9db42d064b520dcb86bc54fa0e749ecc16a4e9 - 0.0% (267 Bytes)

[#022] sha256:96d30d942fc5280fdceb70bf6896761cdf6bb551bea4da2e941cbfe5ffe6d45d - 0.0% (187 Bytes)


History
2026-07-13 00:00:00 UTC (debuerreotype 0.17)

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

2026-07-15 23:30:55 UTC (buildkit.dockerfile.v0)

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

2026-07-15 23:30:55 UTC (buildkit.dockerfile.v0)

ENV NGINX_VERSION=1.31.3

2026-07-15 23:30:55 UTC (buildkit.dockerfile.v0)

ENV NJS_VERSION=1.0.0

2026-07-15 23:30:55 UTC (buildkit.dockerfile.v0)

ENV NJS_RELEASE=1~trixie

2026-07-15 23:30:55 UTC (buildkit.dockerfile.v0)

ENV ACME_VERSION=0.4.1

2026-07-15 23:30:55 UTC (buildkit.dockerfile.v0)

ENV PKG_RELEASE=1~trixie

2026-07-15 23:30:55 UTC (buildkit.dockerfile.v0)

ENV DYNPKG_RELEASE=1~trixie

2026-07-15 23:30:55 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="524b75cc72657ce77d90cd25c305aba0a19a7f8a3e5dec8e1cc585cd7985663a444c7873e9040b4576285b49ac117c1ea4bb4077dc592eca52316935e1f75adf *${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-07-15 23:30:55 UTC (buildkit.dockerfile.v0)

COPY docker-entrypoint.sh / # buildkit

2026-07-15 23:30:55 UTC (buildkit.dockerfile.v0)

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

2026-07-15 23:30:55 UTC (buildkit.dockerfile.v0)

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

2026-07-15 23:30:55 UTC (buildkit.dockerfile.v0)

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

2026-07-15 23:30:55 UTC (buildkit.dockerfile.v0)

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

2026-07-15 23:30:55 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["/docker-entrypoint.sh"]

2026-07-15 23:30:55 UTC (buildkit.dockerfile.v0)

EXPOSE map[80/tcp:{}]

2026-07-15 23:30:55 UTC (buildkit.dockerfile.v0)

STOPSIGNAL SIGQUIT

2026-07-15 23:30:55 UTC (buildkit.dockerfile.v0)

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

2026-08-03 08:11:43 UTC (buildkit.dockerfile.v0)

ARG TARGETOS=linux

2026-08-03 08:11:43 UTC (buildkit.dockerfile.v0)

ARG TARGETARCH=amd64

2026-08-03 08:11:43 UTC (buildkit.dockerfile.v0)

ARG TARGETVARIANT=

2026-08-03 08:11:43 UTC (buildkit.dockerfile.v0)

ARG S6_OVERLAY_VERSION=3.2.1.0

2026-08-03 08:11:43 UTC (buildkit.dockerfile.v0)

EXPOSE [443/tcp 80/tcp]

2026-08-03 08:11:43 UTC (buildkit.dockerfile.v0)

ENV DEBIAN_FRONTEND=noninteractive

2026-08-03 08:11:43 UTC (buildkit.dockerfile.v0)

ENV NGINX_UI_OFFICIAL_DOCKER=true

2026-08-03 08:11:43 UTC (buildkit.dockerfile.v0)

ENV NGINX_UI_WORKING_DIR=/var/run/

2026-08-03 08:11:43 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-get install -y --no-install-recommends wget xz-utils logrotate nginx-module-geoip && rm -rf /var/lib/apt/lists/* # buildkit

2026-08-03 08:11:44 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" ;; "riscv64/"*) S6_ARCH="riscv64" ;; *) 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 && rm -f /tmp/s6-overlay-noarch.tar.xz /tmp/s6-overlay-${S6_ARCH}.tar.xz # buildkit

2026-08-03 08:11:44 UTC (buildkit.dockerfile.v0)

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

2026-08-03 08:11:44 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-08-03 08:11:44 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-08-03 08:11:44 UTC (buildkit.dockerfile.v0)

COPY resources/docker/init-config.up /etc/s6-overlay/s6-rc.d/init-config/up # buildkit

2026-08-03 08:11:44 UTC (buildkit.dockerfile.v0)

COPY resources/docker/init-config.sh /etc/s6-overlay/s6-rc.d/init-config/init-config.sh # buildkit

2026-08-03 08:11:44 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-08-03 08:11:44 UTC (buildkit.dockerfile.v0)

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

2026-08-03 08:11:44 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-ui/type && touch /etc/s6-overlay/s6-rc.d/user/contents.d/nginx-ui # buildkit

2026-08-03 08:11:44 UTC (buildkit.dockerfile.v0)

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

2026-08-03 08:11:44 UTC (buildkit.dockerfile.v0)

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

2026-08-03 08:11:44 UTC (buildkit.dockerfile.v0)

COPY resources/docker/nginx-ui.conf.known-hashes /usr/local/share/nginx-ui/nginx-ui.conf.known-hashes # buildkit

2026-08-03 08:11:44 UTC (buildkit.dockerfile.v0)

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

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

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

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

RUN |4 TARGETOS=linux TARGETARCH=amd64 TARGETVARIANT= S6_OVERLAY_VERSION=3.2.1.0 /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

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

ENTRYPOINT ["/init"]

Details
Created

2026-08-03 08:13:22 UTC

Size

98.9 MB

Content Digest
Labels
  • maintainer
    NGINX Docker Maintainers <docker-maint@nginx.com>
  • org.opencontainers.image.created
    2026-08-03T08:10:58.781Z
  • org.opencontainers.image.description
    Yet another WebUI for Nginx
  • org.opencontainers.image.licenses
    AGPL-3.0
  • org.opencontainers.image.revision
    70bb2c06d416baf1157aeb607fbe37f384fafc32
  • 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
    dev

Environment
ACME_VERSION

0.4.1

DEBIAN_FRONTEND

noninteractive

DYNPKG_RELEASE

1~trixie

NGINX_UI_OFFICIAL_DOCKER

true

NGINX_UI_WORKING_DIR

/var/run/

NGINX_VERSION

1.31.3

NJS_RELEASE

1~trixie

NJS_VERSION

1.0.0

PATH

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

PKG_RELEASE

1~trixie


Layers

[#000] sha256:9ce68cca63faf1f06434dd1423cb52db0d4251ee3f1838e43e5893fae28f9267 - 26.95% (26.7 MB)

[#001] sha256:25f1eed098aba85c77d4906c49f04d838fb3b71a56753ef33c1b8714ca05b59c - 25.37% (25.1 MB)

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

[#003] sha256:5213896cc4dd185ce8610a6a609fd1f3116cd6711fb7c14817ceaf304d888dc6 - 0.0% (956 Bytes)

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

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

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

[#007] sha256:1bdddb9b7582605e7bc4c52f8a777b35383a16967f57361eb57a4ddd1416e58e - 5.79% (5.72 MB)

[#008] sha256:b38edea317f433c5de8791bfb2003b6ed5aa8f2392757de329cd80490b4330e2 - 2.55% (2.52 MB)

[#009] sha256:6565d11d1f1c2f7ae0fcc8d64184cf9802133c5f355110797abf7d7951aa3e05 - 0.0% (437 Bytes)

[#010] sha256:29eff3497b8b2341e790a48231e2ded1fb37b69ad1fb9e05f03d6d47273c32d1 - 0.0% (269 Bytes)

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

[#012] sha256:3592fd538b8fe03353045f36ef7c138a8f91a4e71d82489cd5f4763b4c9fa0c4 - 0.0% (216 Bytes)

[#013] sha256:fc17a5f577590ce8d76e7a67ba9ab7d8df4cf7c96b05b231530ca377fd80b3d1 - 0.0% (1.68 KB)

[#014] sha256:4b3e85d4215260437f77fd1e1e2a84650a712cdf005e3dd66ae7766780f99395 - 0.0% (329 Bytes)

[#015] sha256:76929a0775ffb163b5b8e6947b0d6c6abb0cdc1e594d3d3af951e4d35d4fc865 - 0.0% (254 Bytes)

[#016] sha256:1dd750baefaa1d20aa0e23cc207f05a8ecbcae709dc69e173dc4dcd23609e1c6 - 0.0% (271 Bytes)

[#017] sha256:57899960d03eceb144e43d707477bd4a94aa7916a3cdda0aee6f079778751339 - 0.0% (557 Bytes)

[#018] sha256:0d84ae5520cbed6510c73552851cb7de71fe234019864f4e392870a19a451e4d - 0.0% (722 Bytes)

[#019] sha256:07c2d97087df367e3181034f8bbfd0e914585bbe553215731e1446f6cab4d569 - 0.0% (612 Bytes)

[#020] sha256:bfacaf578016f9b34580308f6d6985de055add62fa78333a52cb173d1c7e9295 - 39.33% (38.9 MB)

[#021] sha256:6ad5cb0a43baf45aadf77ed36659d164bfda019198b12cd03cfa1f26f1af2197 - 0.0% (263 Bytes)

[#022] sha256:492e274fb6600ce3edaabb64327bf9cb3b8b62905830af20a6d3a86f27cca9a6 - 0.0% (186 Bytes)


History
2026-07-13 00:00:00 UTC (debuerreotype 0.17)

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

2026-07-15 23:40:56 UTC (buildkit.dockerfile.v0)

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

2026-07-15 23:40:56 UTC (buildkit.dockerfile.v0)

ENV NGINX_VERSION=1.31.3

2026-07-15 23:40:56 UTC (buildkit.dockerfile.v0)

ENV NJS_VERSION=1.0.0

2026-07-15 23:40:56 UTC (buildkit.dockerfile.v0)

ENV NJS_RELEASE=1~trixie

2026-07-15 23:40:56 UTC (buildkit.dockerfile.v0)

ENV ACME_VERSION=0.4.1

2026-07-15 23:40:56 UTC (buildkit.dockerfile.v0)

ENV PKG_RELEASE=1~trixie

2026-07-15 23:40:56 UTC (buildkit.dockerfile.v0)

ENV DYNPKG_RELEASE=1~trixie

2026-07-15 23:40:56 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="524b75cc72657ce77d90cd25c305aba0a19a7f8a3e5dec8e1cc585cd7985663a444c7873e9040b4576285b49ac117c1ea4bb4077dc592eca52316935e1f75adf *${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-07-15 23:40:56 UTC (buildkit.dockerfile.v0)

COPY docker-entrypoint.sh / # buildkit

2026-07-15 23:40:56 UTC (buildkit.dockerfile.v0)

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

2026-07-15 23:40:56 UTC (buildkit.dockerfile.v0)

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

2026-07-15 23:40:56 UTC (buildkit.dockerfile.v0)

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

2026-07-15 23:40:57 UTC (buildkit.dockerfile.v0)

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

2026-07-15 23:40:57 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["/docker-entrypoint.sh"]

2026-07-15 23:40:57 UTC (buildkit.dockerfile.v0)

EXPOSE map[80/tcp:{}]

2026-07-15 23:40:57 UTC (buildkit.dockerfile.v0)

STOPSIGNAL SIGQUIT

2026-07-15 23:40:57 UTC (buildkit.dockerfile.v0)

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

2026-08-03 08:13:19 UTC (buildkit.dockerfile.v0)

ARG TARGETOS=linux

2026-08-03 08:13:19 UTC (buildkit.dockerfile.v0)

ARG TARGETARCH=arm

2026-08-03 08:13:19 UTC (buildkit.dockerfile.v0)

ARG TARGETVARIANT=v5

2026-08-03 08:13:19 UTC (buildkit.dockerfile.v0)

ARG S6_OVERLAY_VERSION=3.2.1.0

2026-08-03 08:13:19 UTC (buildkit.dockerfile.v0)

EXPOSE [443/tcp 80/tcp]

2026-08-03 08:13:19 UTC (buildkit.dockerfile.v0)

ENV DEBIAN_FRONTEND=noninteractive

2026-08-03 08:13:19 UTC (buildkit.dockerfile.v0)

ENV NGINX_UI_OFFICIAL_DOCKER=true

2026-08-03 08:13:19 UTC (buildkit.dockerfile.v0)

ENV NGINX_UI_WORKING_DIR=/var/run/

2026-08-03 08:13:19 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-get install -y --no-install-recommends wget xz-utils logrotate nginx-module-geoip && rm -rf /var/lib/apt/lists/* # buildkit

2026-08-03 08:13:20 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" ;; "riscv64/"*) S6_ARCH="riscv64" ;; *) 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 && rm -f /tmp/s6-overlay-noarch.tar.xz /tmp/s6-overlay-${S6_ARCH}.tar.xz # buildkit

2026-08-03 08:13:20 UTC (buildkit.dockerfile.v0)

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

2026-08-03 08:13:21 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-08-03 08:13:21 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-08-03 08:13:21 UTC (buildkit.dockerfile.v0)

COPY resources/docker/init-config.up /etc/s6-overlay/s6-rc.d/init-config/up # buildkit

2026-08-03 08:13:21 UTC (buildkit.dockerfile.v0)

COPY resources/docker/init-config.sh /etc/s6-overlay/s6-rc.d/init-config/init-config.sh # buildkit

2026-08-03 08:13:21 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-08-03 08:13:21 UTC (buildkit.dockerfile.v0)

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

2026-08-03 08:13:21 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-ui/type && touch /etc/s6-overlay/s6-rc.d/user/contents.d/nginx-ui # buildkit

2026-08-03 08:13:21 UTC (buildkit.dockerfile.v0)

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

2026-08-03 08:13:21 UTC (buildkit.dockerfile.v0)

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

2026-08-03 08:13:21 UTC (buildkit.dockerfile.v0)

COPY resources/docker/nginx-ui.conf.known-hashes /usr/local/share/nginx-ui/nginx-ui.conf.known-hashes # buildkit

2026-08-03 08:13:21 UTC (buildkit.dockerfile.v0)

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

2026-08-03 08:13:21 UTC (buildkit.dockerfile.v0)

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

2026-08-03 08:13:22 UTC (buildkit.dockerfile.v0)

RUN |4 TARGETOS=linux TARGETARCH=arm TARGETVARIANT=v5 S6_OVERLAY_VERSION=3.2.1.0 /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

2026-08-03 08:13:22 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["/init"]

Details
Created

2026-08-03 08:13:20 UTC

Size

98.9 MB

Content Digest
Labels
  • maintainer
    NGINX Docker Maintainers <docker-maint@nginx.com>
  • org.opencontainers.image.created
    2026-08-03T08:10:58.781Z
  • org.opencontainers.image.description
    Yet another WebUI for Nginx
  • org.opencontainers.image.licenses
    AGPL-3.0
  • org.opencontainers.image.revision
    70bb2c06d416baf1157aeb607fbe37f384fafc32
  • 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
    dev

Environment
ACME_VERSION

0.4.1

DEBIAN_FRONTEND

noninteractive

DYNPKG_RELEASE

1~trixie

NGINX_UI_OFFICIAL_DOCKER

true

NGINX_UI_WORKING_DIR

/var/run/

NGINX_VERSION

1.31.3

NJS_RELEASE

1~trixie

NJS_VERSION

1.0.0

PATH

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

PKG_RELEASE

1~trixie


Layers

[#000] sha256:9ce68cca63faf1f06434dd1423cb52db0d4251ee3f1838e43e5893fae28f9267 - 26.96% (26.7 MB)

[#001] sha256:25f1eed098aba85c77d4906c49f04d838fb3b71a56753ef33c1b8714ca05b59c - 25.38% (25.1 MB)

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

[#003] sha256:5213896cc4dd185ce8610a6a609fd1f3116cd6711fb7c14817ceaf304d888dc6 - 0.0% (956 Bytes)

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

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

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

[#007] sha256:3fd31bd41777101cfe8f6b0eb54af1dc25611930aa943ad4c555fc312e05ed02 - 5.79% (5.72 MB)

[#008] sha256:0eaf6473f15fd36c5ba3a23563fa13ea8bdd39caa5db11bee5025f36ae51784a - 2.55% (2.52 MB)

[#009] sha256:c7e7267bc58a36300748b5441ef5d00e4b6b7df2e6127bda295e63add69361ba - 0.0% (437 Bytes)

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

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

[#012] sha256:fb0ec273da4cf1c864e26123b3034b97bd54722a0e7428c0a6abf0e619e5de1d - 0.0% (218 Bytes)

[#013] sha256:103e903f76665af2524fba351ceefbd701cf9282a991870cc2d9cdf0a3e599b0 - 0.0% (1.69 KB)

[#014] sha256:2fb3666493c415f7acab116871acd741de9026ea080a9daba03dc7e38362905f - 0.0% (329 Bytes)

[#015] sha256:ecdf398f41e798bb3289460a0a789df83b76eb911b6b633a00d29c391b077e80 - 0.0% (254 Bytes)

[#016] sha256:1efead4efe6ae0dbe759c5d7e01929a4090187d60f188d145b44d4a0a2f79388 - 0.0% (271 Bytes)

[#017] sha256:542ead1168745b1b69d74348bd8d03a304bb0421c1deef8d3d7f59690cab93dd - 0.0% (556 Bytes)

[#018] sha256:c77bd502ffab778b169c97a483927b07400bd690bb883e799f2d8df501c1323c - 0.0% (721 Bytes)

[#019] sha256:b3f913c4d18c8c8281897e1177d38b63d6d415a5899d2d84b9982c1aa948df96 - 0.0% (611 Bytes)

[#020] sha256:c5fc9ff89650690f6d3dab7872926fdb098571c7cf6ded987661cc3d2e54841f - 39.31% (38.9 MB)

[#021] sha256:b08cecff27e523b8e7a96090c1b753bb34bf4addd6b5b0d56f657356cfc38aea - 0.0% (267 Bytes)

[#022] sha256:42cab841ff5990c63825092c0b45286f268b889805e7d3cf45949a159ff9705a - 0.0% (186 Bytes)


History
2026-07-13 00:00:00 UTC (debuerreotype 0.17)

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

2026-07-15 23:40:56 UTC (buildkit.dockerfile.v0)

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

2026-07-15 23:40:56 UTC (buildkit.dockerfile.v0)

ENV NGINX_VERSION=1.31.3

2026-07-15 23:40:56 UTC (buildkit.dockerfile.v0)

ENV NJS_VERSION=1.0.0

2026-07-15 23:40:56 UTC (buildkit.dockerfile.v0)

ENV NJS_RELEASE=1~trixie

2026-07-15 23:40:56 UTC (buildkit.dockerfile.v0)

ENV ACME_VERSION=0.4.1

2026-07-15 23:40:56 UTC (buildkit.dockerfile.v0)

ENV PKG_RELEASE=1~trixie

2026-07-15 23:40:56 UTC (buildkit.dockerfile.v0)

ENV DYNPKG_RELEASE=1~trixie

2026-07-15 23:40:56 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="524b75cc72657ce77d90cd25c305aba0a19a7f8a3e5dec8e1cc585cd7985663a444c7873e9040b4576285b49ac117c1ea4bb4077dc592eca52316935e1f75adf *${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-07-15 23:40:56 UTC (buildkit.dockerfile.v0)

COPY docker-entrypoint.sh / # buildkit

2026-07-15 23:40:56 UTC (buildkit.dockerfile.v0)

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

2026-07-15 23:40:56 UTC (buildkit.dockerfile.v0)

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

2026-07-15 23:40:56 UTC (buildkit.dockerfile.v0)

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

2026-07-15 23:40:57 UTC (buildkit.dockerfile.v0)

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

2026-07-15 23:40:57 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["/docker-entrypoint.sh"]

2026-07-15 23:40:57 UTC (buildkit.dockerfile.v0)

EXPOSE map[80/tcp:{}]

2026-07-15 23:40:57 UTC (buildkit.dockerfile.v0)

STOPSIGNAL SIGQUIT

2026-07-15 23:40:57 UTC (buildkit.dockerfile.v0)

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

2026-08-03 08:13:17 UTC (buildkit.dockerfile.v0)

ARG TARGETOS=linux

2026-08-03 08:13:17 UTC (buildkit.dockerfile.v0)

ARG TARGETARCH=arm

2026-08-03 08:13:17 UTC (buildkit.dockerfile.v0)

ARG TARGETVARIANT=v6

2026-08-03 08:13:17 UTC (buildkit.dockerfile.v0)

ARG S6_OVERLAY_VERSION=3.2.1.0

2026-08-03 08:13:17 UTC (buildkit.dockerfile.v0)

EXPOSE [443/tcp 80/tcp]

2026-08-03 08:13:17 UTC (buildkit.dockerfile.v0)

ENV DEBIAN_FRONTEND=noninteractive

2026-08-03 08:13:17 UTC (buildkit.dockerfile.v0)

ENV NGINX_UI_OFFICIAL_DOCKER=true

2026-08-03 08:13:17 UTC (buildkit.dockerfile.v0)

ENV NGINX_UI_WORKING_DIR=/var/run/

2026-08-03 08:13:17 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-get install -y --no-install-recommends wget xz-utils logrotate nginx-module-geoip && rm -rf /var/lib/apt/lists/* # buildkit

2026-08-03 08:13:19 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" ;; "riscv64/"*) S6_ARCH="riscv64" ;; *) 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 && rm -f /tmp/s6-overlay-noarch.tar.xz /tmp/s6-overlay-${S6_ARCH}.tar.xz # buildkit

2026-08-03 08:13:19 UTC (buildkit.dockerfile.v0)

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

2026-08-03 08:13:19 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-08-03 08:13:20 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-08-03 08:13:20 UTC (buildkit.dockerfile.v0)

COPY resources/docker/init-config.up /etc/s6-overlay/s6-rc.d/init-config/up # buildkit

2026-08-03 08:13:20 UTC (buildkit.dockerfile.v0)

COPY resources/docker/init-config.sh /etc/s6-overlay/s6-rc.d/init-config/init-config.sh # buildkit

2026-08-03 08:13:20 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-08-03 08:13:20 UTC (buildkit.dockerfile.v0)

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

2026-08-03 08:13:20 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-ui/type && touch /etc/s6-overlay/s6-rc.d/user/contents.d/nginx-ui # buildkit

2026-08-03 08:13:20 UTC (buildkit.dockerfile.v0)

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

2026-08-03 08:13:20 UTC (buildkit.dockerfile.v0)

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

2026-08-03 08:13:20 UTC (buildkit.dockerfile.v0)

COPY resources/docker/nginx-ui.conf.known-hashes /usr/local/share/nginx-ui/nginx-ui.conf.known-hashes # buildkit

2026-08-03 08:13:20 UTC (buildkit.dockerfile.v0)

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

2026-08-03 08:13:20 UTC (buildkit.dockerfile.v0)

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

2026-08-03 08:13:20 UTC (buildkit.dockerfile.v0)

RUN |4 TARGETOS=linux TARGETARCH=arm TARGETVARIANT=v6 S6_OVERLAY_VERSION=3.2.1.0 /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

2026-08-03 08:13:20 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["/init"]

Details
Created

2026-08-03 08:13:03 UTC

Size

96.7 MB

Content Digest
Labels
  • maintainer
    NGINX Docker Maintainers <docker-maint@nginx.com>
  • org.opencontainers.image.created
    2026-08-03T08:10:58.781Z
  • org.opencontainers.image.description
    Yet another WebUI for Nginx
  • org.opencontainers.image.licenses
    AGPL-3.0
  • org.opencontainers.image.revision
    70bb2c06d416baf1157aeb607fbe37f384fafc32
  • 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
    dev

Environment
ACME_VERSION

0.4.1

DEBIAN_FRONTEND

noninteractive

DYNPKG_RELEASE

1~trixie

NGINX_UI_OFFICIAL_DOCKER

true

NGINX_UI_WORKING_DIR

/var/run/

NGINX_VERSION

1.31.3

NJS_RELEASE

1~trixie

NJS_VERSION

1.0.0

PATH

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

PKG_RELEASE

1~trixie


Layers

[#000] sha256:8b0c60fc22122a8e02a3c7dc27db46ec4b01b60e0c0959df8f52f036a5b48482 - 25.84% (25 MB)

[#001] sha256:d359f0ec5aac839d9dc0fcbeaf9b5ec868c754a133afae3052e053eec5b7e9cf - 25.9% (25 MB)

[#002] sha256:9b1a2f3b85537164b47f644b9879e4069534cabb29649fdf8d3b2db2f728b09a - 0.0% (626 Bytes)

[#003] sha256:211feecc91ff40a773c5b19af66bf51b01a6bc6884ceb8c3e04e498dda7b6afa - 0.0% (956 Bytes)

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

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

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

[#007] sha256:c72398096b2ecfe9cc97abbcf5e5b2e1417872227495d2940d954f4c767eb82d - 5.5% (5.32 MB)

[#008] sha256:e360d218b708c4c646e3abf10a8de182128698cb4f724bce7eeaaee5e8f17dce - 2.61% (2.52 MB)

[#009] sha256:d46c6fc3d3c667d16c702016f7fd6daf07496038d8743ff5eea7ba0919a077c3 - 0.0% (437 Bytes)

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

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

[#012] sha256:56b5415aa79777f1f0e00c9d7eb293c7ad2041c88107e32ad615eee954cc17d1 - 0.0% (216 Bytes)

[#013] sha256:f8dd0439da97ed47b072c8c76ea39358a5cd60d098b2f046c00b3c315a0a57be - 0.0% (1.68 KB)

[#014] sha256:7cedac53c2d257863eb638d6ff8eae14bd278d702235c37e2aa27ac83acf96cf - 0.0% (337 Bytes)

[#015] sha256:ebb49103f5b3c747b1157f68b7689dbcb61afedf7f2a647553225ac8e64b2526 - 0.0% (257 Bytes)

[#016] sha256:c8c9fdacbde3d8eb1441892fb95de06b2c49e3ecf2dfd876b9f900f362b037fd - 0.0% (273 Bytes)

[#017] sha256:b19ae640a0d076684e5632d6bf86455ab6ab820e2dcc5254191280e741d08ac8 - 0.0% (559 Bytes)

[#018] sha256:591833f9e8eb08c35e34723959828468e039e8767ec77b7a1dcb11a672ed5c5b - 0.0% (725 Bytes)

[#019] sha256:fb136297b71d0c0d4955182e28487e5e4d15635e6be06ba05217ef9a481503b8 - 0.0% (613 Bytes)

[#020] sha256:3088eee495f4009e589a65303c015ced4a09daf7db768a066a66cedb1a6c652a - 40.15% (38.8 MB)

[#021] sha256:7e13ce815ded2f8fcaceffb1520dc5df99dfd284b7c7acf395213f735cfc386c - 0.0% (269 Bytes)

[#022] sha256:d8c49869f1e8ab6e4b3ab07bca96e25dfab413b9cc2e81e9cce2c0cb549edf25 - 0.0% (188 Bytes)


History
2026-07-13 00:00:00 UTC (debuerreotype 0.17)

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

2026-07-15 23:38:48 UTC (buildkit.dockerfile.v0)

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

2026-07-15 23:38:48 UTC (buildkit.dockerfile.v0)

ENV NGINX_VERSION=1.31.3

2026-07-15 23:38:48 UTC (buildkit.dockerfile.v0)

ENV NJS_VERSION=1.0.0

2026-07-15 23:38:48 UTC (buildkit.dockerfile.v0)

ENV NJS_RELEASE=1~trixie

2026-07-15 23:38:48 UTC (buildkit.dockerfile.v0)

ENV ACME_VERSION=0.4.1

2026-07-15 23:38:48 UTC (buildkit.dockerfile.v0)

ENV PKG_RELEASE=1~trixie

2026-07-15 23:38:48 UTC (buildkit.dockerfile.v0)

ENV DYNPKG_RELEASE=1~trixie

2026-07-15 23:38:48 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="524b75cc72657ce77d90cd25c305aba0a19a7f8a3e5dec8e1cc585cd7985663a444c7873e9040b4576285b49ac117c1ea4bb4077dc592eca52316935e1f75adf *${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-07-15 23:38:48 UTC (buildkit.dockerfile.v0)

COPY docker-entrypoint.sh / # buildkit

2026-07-15 23:38:48 UTC (buildkit.dockerfile.v0)

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

2026-07-15 23:38:48 UTC (buildkit.dockerfile.v0)

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

2026-07-15 23:38:48 UTC (buildkit.dockerfile.v0)

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

2026-07-15 23:38:48 UTC (buildkit.dockerfile.v0)

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

2026-07-15 23:38:48 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["/docker-entrypoint.sh"]

2026-07-15 23:38:48 UTC (buildkit.dockerfile.v0)

EXPOSE map[80/tcp:{}]

2026-07-15 23:38:48 UTC (buildkit.dockerfile.v0)

STOPSIGNAL SIGQUIT

2026-07-15 23:38:48 UTC (buildkit.dockerfile.v0)

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

2026-08-03 08:12:57 UTC (buildkit.dockerfile.v0)

ARG TARGETOS=linux

2026-08-03 08:12:57 UTC (buildkit.dockerfile.v0)

ARG TARGETARCH=arm

2026-08-03 08:12:57 UTC (buildkit.dockerfile.v0)

ARG TARGETVARIANT=v7

2026-08-03 08:12:57 UTC (buildkit.dockerfile.v0)

ARG S6_OVERLAY_VERSION=3.2.1.0

2026-08-03 08:12:57 UTC (buildkit.dockerfile.v0)

EXPOSE [443/tcp 80/tcp]

2026-08-03 08:12:57 UTC (buildkit.dockerfile.v0)

ENV DEBIAN_FRONTEND=noninteractive

2026-08-03 08:12:57 UTC (buildkit.dockerfile.v0)

ENV NGINX_UI_OFFICIAL_DOCKER=true

2026-08-03 08:12:57 UTC (buildkit.dockerfile.v0)

ENV NGINX_UI_WORKING_DIR=/var/run/

2026-08-03 08:12:57 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-get install -y --no-install-recommends wget xz-utils logrotate nginx-module-geoip && rm -rf /var/lib/apt/lists/* # buildkit

2026-08-03 08:13:00 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" ;; "riscv64/"*) S6_ARCH="riscv64" ;; *) 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 && rm -f /tmp/s6-overlay-noarch.tar.xz /tmp/s6-overlay-${S6_ARCH}.tar.xz # buildkit

2026-08-03 08:13:00 UTC (buildkit.dockerfile.v0)

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

2026-08-03 08:13:00 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-08-03 08:13:01 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-08-03 08:13:01 UTC (buildkit.dockerfile.v0)

COPY resources/docker/init-config.up /etc/s6-overlay/s6-rc.d/init-config/up # buildkit

2026-08-03 08:13:01 UTC (buildkit.dockerfile.v0)

COPY resources/docker/init-config.sh /etc/s6-overlay/s6-rc.d/init-config/init-config.sh # buildkit

2026-08-03 08:13:02 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-08-03 08:13:02 UTC (buildkit.dockerfile.v0)

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

2026-08-03 08:13:02 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-ui/type && touch /etc/s6-overlay/s6-rc.d/user/contents.d/nginx-ui # buildkit

2026-08-03 08:13:02 UTC (buildkit.dockerfile.v0)

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

2026-08-03 08:13:02 UTC (buildkit.dockerfile.v0)

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

2026-08-03 08:13:02 UTC (buildkit.dockerfile.v0)

COPY resources/docker/nginx-ui.conf.known-hashes /usr/local/share/nginx-ui/nginx-ui.conf.known-hashes # buildkit

2026-08-03 08:13:02 UTC (buildkit.dockerfile.v0)

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

2026-08-03 08:13:03 UTC (buildkit.dockerfile.v0)

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

2026-08-03 08:13:03 UTC (buildkit.dockerfile.v0)

RUN |4 TARGETOS=linux TARGETARCH=arm TARGETVARIANT=v7 S6_OVERLAY_VERSION=3.2.1.0 /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

2026-08-03 08:13:03 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["/init"]

Details
Created

2026-08-03 08:13:14 UTC

Size

104 MB

Content Digest
Labels
  • maintainer
    NGINX Docker Maintainers <docker-maint@nginx.com>
  • org.opencontainers.image.created
    2026-08-03T08:10:58.781Z
  • org.opencontainers.image.description
    Yet another WebUI for Nginx
  • org.opencontainers.image.licenses
    AGPL-3.0
  • org.opencontainers.image.revision
    70bb2c06d416baf1157aeb607fbe37f384fafc32
  • 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
    dev

Environment
ACME_VERSION

0.4.1

DEBIAN_FRONTEND

noninteractive

DYNPKG_RELEASE

1~trixie

NGINX_UI_OFFICIAL_DOCKER

true

NGINX_UI_WORKING_DIR

/var/run/

NGINX_VERSION

1.31.3

NJS_RELEASE

1~trixie

NJS_VERSION

1.0.0

PATH

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

PKG_RELEASE

1~trixie


Layers

[#000] sha256:59f54fbcd984beca03fd8b78569fa57268ecf78d291c0b6fe1623c2467f5a075 - 27.53% (28.7 MB)

[#001] sha256:54c3b3bebc0a0808865bb06f5a84ba9666c4c4837dcf55703d0c2ccb475497f9 - 28.56% (29.8 MB)

[#002] sha256:9b1a2f3b85537164b47f644b9879e4069534cabb29649fdf8d3b2db2f728b09a - 0.0% (626 Bytes)

[#003] sha256:627a5a63361acb3374006b2b8022b67534d9ab902d324796d00f387c49b43254 - 0.0% (953 Bytes)

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

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

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

[#007] sha256:6a4b57a3fa901fe087e8c5e146fa9a8deca57ac8507e8897747b98b79a0af100 - 5.23% (5.46 MB)

[#008] sha256:93576635558460343c2d868050a09e62bc026e77767319ce3350fc49b3cdf5bc - 2.64% (2.75 MB)

[#009] sha256:3ede7f4ecea0e89485daf0ca53feb4024123ad27670e6a2d3003ed671f38115b - 0.0% (437 Bytes)

[#010] sha256:58d2db0caa2bdec57ab552481736dc83aaf3de3b97d49edecdf731f88a2c8729 - 0.0% (269 Bytes)

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

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

[#013] sha256:ecd62c5b54e8433e4ed67b494455956f4fe9d3d617481c145b2ead3cdfde46a3 - 0.0% (1.68 KB)

[#014] sha256:5ba6d31a8f191d06da72f27cd5ae890dc8ee6a339dc1526af3f7fb162b02b61b - 0.0% (330 Bytes)

[#015] sha256:bd76af1bb8c1ae5e73bce5a5d80bba2b44a925363f38283537135a3a1a8e56e9 - 0.0% (256 Bytes)

[#016] sha256:d4980ae6142053b4b40ac90ade1cdcb575e68f905082354dbd37548dcf5ecd64 - 0.0% (271 Bytes)

[#017] sha256:6e2ca31eacbd80c59843ab941247cbe578c4326ef2e4a8f62942a0288f01886e - 0.0% (558 Bytes)

[#018] sha256:da0ec74b4162171c144a486dc7ff6dc8eae4f2cf2976df7b56d262eda6c17136 - 0.0% (724 Bytes)

[#019] sha256:e161e5d22f8a505b351c3dc71798d818219cb3353321b4530eb66a576dfa4d2f - 0.0% (612 Bytes)

[#020] sha256:000739bdedb94050027080591a457aaab6de547d64a2034f07446d7291df95bc - 36.03% (37.6 MB)

[#021] sha256:e7dcbf676754c03bcf60c0034578cfdd2608d0d540f9208c148187aeeb113276 - 0.0% (268 Bytes)

[#022] sha256:95edec9c567236c2d5ab15528382f2e416aebf8757d9354a5ce21f11faa122a5 - 0.0% (187 Bytes)


History
2026-07-13 00:00:00 UTC (debuerreotype 0.17)

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

2026-07-15 23:30:53 UTC (buildkit.dockerfile.v0)

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

2026-07-15 23:30:53 UTC (buildkit.dockerfile.v0)

ENV NGINX_VERSION=1.31.3

2026-07-15 23:30:53 UTC (buildkit.dockerfile.v0)

ENV NJS_VERSION=1.0.0

2026-07-15 23:30:53 UTC (buildkit.dockerfile.v0)

ENV NJS_RELEASE=1~trixie

2026-07-15 23:30:53 UTC (buildkit.dockerfile.v0)

ENV ACME_VERSION=0.4.1

2026-07-15 23:30:53 UTC (buildkit.dockerfile.v0)

ENV PKG_RELEASE=1~trixie

2026-07-15 23:30:53 UTC (buildkit.dockerfile.v0)

ENV DYNPKG_RELEASE=1~trixie

2026-07-15 23:30:53 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="524b75cc72657ce77d90cd25c305aba0a19a7f8a3e5dec8e1cc585cd7985663a444c7873e9040b4576285b49ac117c1ea4bb4077dc592eca52316935e1f75adf *${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-07-15 23:30:53 UTC (buildkit.dockerfile.v0)

COPY docker-entrypoint.sh / # buildkit

2026-07-15 23:30:53 UTC (buildkit.dockerfile.v0)

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

2026-07-15 23:30:53 UTC (buildkit.dockerfile.v0)

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

2026-07-15 23:30:53 UTC (buildkit.dockerfile.v0)

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

2026-07-15 23:30:53 UTC (buildkit.dockerfile.v0)

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

2026-07-15 23:30:53 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["/docker-entrypoint.sh"]

2026-07-15 23:30:53 UTC (buildkit.dockerfile.v0)

EXPOSE map[80/tcp:{}]

2026-07-15 23:30:53 UTC (buildkit.dockerfile.v0)

STOPSIGNAL SIGQUIT

2026-07-15 23:30:53 UTC (buildkit.dockerfile.v0)

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

2026-08-03 08:13:10 UTC (buildkit.dockerfile.v0)

ARG TARGETOS=linux

2026-08-03 08:13:10 UTC (buildkit.dockerfile.v0)

ARG TARGETARCH=arm64

2026-08-03 08:13:10 UTC (buildkit.dockerfile.v0)

ARG TARGETVARIANT=

2026-08-03 08:13:10 UTC (buildkit.dockerfile.v0)

ARG S6_OVERLAY_VERSION=3.2.1.0

2026-08-03 08:13:10 UTC (buildkit.dockerfile.v0)

EXPOSE [443/tcp 80/tcp]

2026-08-03 08:13:10 UTC (buildkit.dockerfile.v0)

ENV DEBIAN_FRONTEND=noninteractive

2026-08-03 08:13:10 UTC (buildkit.dockerfile.v0)

ENV NGINX_UI_OFFICIAL_DOCKER=true

2026-08-03 08:13:10 UTC (buildkit.dockerfile.v0)

ENV NGINX_UI_WORKING_DIR=/var/run/

2026-08-03 08:13:10 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-get install -y --no-install-recommends wget xz-utils logrotate nginx-module-geoip && rm -rf /var/lib/apt/lists/* # buildkit

2026-08-03 08:13:13 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" ;; "riscv64/"*) S6_ARCH="riscv64" ;; *) 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 && rm -f /tmp/s6-overlay-noarch.tar.xz /tmp/s6-overlay-${S6_ARCH}.tar.xz # buildkit

2026-08-03 08:13:13 UTC (buildkit.dockerfile.v0)

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

2026-08-03 08:13:13 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-08-03 08:13:13 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-08-03 08:13:13 UTC (buildkit.dockerfile.v0)

COPY resources/docker/init-config.up /etc/s6-overlay/s6-rc.d/init-config/up # buildkit

2026-08-03 08:13:13 UTC (buildkit.dockerfile.v0)

COPY resources/docker/init-config.sh /etc/s6-overlay/s6-rc.d/init-config/init-config.sh # buildkit

2026-08-03 08:13:14 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-08-03 08:13:14 UTC (buildkit.dockerfile.v0)

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

2026-08-03 08:13:14 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-ui/type && touch /etc/s6-overlay/s6-rc.d/user/contents.d/nginx-ui # buildkit

2026-08-03 08:13:14 UTC (buildkit.dockerfile.v0)

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

2026-08-03 08:13:14 UTC (buildkit.dockerfile.v0)

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

2026-08-03 08:13:14 UTC (buildkit.dockerfile.v0)

COPY resources/docker/nginx-ui.conf.known-hashes /usr/local/share/nginx-ui/nginx-ui.conf.known-hashes # buildkit

2026-08-03 08:13:14 UTC (buildkit.dockerfile.v0)

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

2026-08-03 08:13:14 UTC (buildkit.dockerfile.v0)

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

2026-08-03 08:13:14 UTC (buildkit.dockerfile.v0)

RUN |4 TARGETOS=linux TARGETARCH=arm64 TARGETVARIANT= S6_OVERLAY_VERSION=3.2.1.0 /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

2026-08-03 08:13:14 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["/init"]

Details
Created

2026-08-03 08:13:08 UTC

Size

102 MB

Content Digest
Labels
  • maintainer
    NGINX Docker Maintainers <docker-maint@nginx.com>
  • org.opencontainers.image.created
    2026-08-03T08:10:58.781Z
  • org.opencontainers.image.description
    Yet another WebUI for Nginx
  • org.opencontainers.image.licenses
    AGPL-3.0
  • org.opencontainers.image.revision
    70bb2c06d416baf1157aeb607fbe37f384fafc32
  • 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
    dev

Environment
ACME_VERSION

0.4.1

DEBIAN_FRONTEND

noninteractive

DYNPKG_RELEASE

1~trixie

NGINX_UI_OFFICIAL_DOCKER

true

NGINX_UI_WORKING_DIR

/var/run/

NGINX_VERSION

1.31.3

NJS_RELEASE

1~trixie

NJS_VERSION

1.0.0

PATH

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

PKG_RELEASE

1~trixie


Layers

[#000] sha256:3ed37bd5491de4685b6418abd6b83c4b16cc06b7a51e46da7f154c5a149a41a5 - 26.39% (27 MB)

[#001] sha256:364ededd18bfc35762baa501c0260a625fabbd36ca5a98efbd5d98672fc14d23 - 27.54% (28.1 MB)

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

[#003] sha256:83efaa511e256ee55d2b4be888d466098aee25acca71384a9f24908180345daa - 0.0% (959 Bytes)

[#004] sha256:43de0fa8c7cec35b98e4ed912cd70b68f21d7b118efda4ad9ca87f3a8d661569 - 0.0% (407 Bytes)

[#005] sha256:63ada5a26fed967068689da6e32cb88146c19e143b039a054f293523860e5610 - 0.0% (1.19 KB)

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

[#007] sha256:f3ac5960352c53ca93853ae53e08884d0efedd4d13c204187952eb4fd79419af - 5.36% (5.47 MB)

[#008] sha256:f88457da54fd04208eac760d377d9f8c0ac239832b830098f7d8d4d568c92a80 - 2.26% (2.31 MB)

[#009] sha256:2864d3ce24f770b29c6cb10439b002fe085c67b79b8382cbeaf70d144d35de4b - 0.0% (435 Bytes)

[#010] sha256:84bee4f1723bb666bd75d45529e73951def3405aa0c971d078d9cfa96aa9fbcd - 0.0% (269 Bytes)

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

[#012] sha256:77955d4a940ad58f78194948fec2a9bcb689a1616d0d95e1ac8021d950148bec - 0.0% (216 Bytes)

[#013] sha256:3401570376a6d2c29f31e37a57232a5104aaddc5fd33a272645f39d5d7a66224 - 0.0% (1.68 KB)

[#014] sha256:9bcfbd897b4ed3f7f3be370ccd8438a08649c0f95a00171d6bc034beb79dabbd - 0.0% (329 Bytes)

[#015] sha256:44796cca56863b0352b1945f2be4cdd77f6fdefd15f39c73d742c4614c4f7b5d - 0.0% (254 Bytes)

[#016] sha256:0e36c21eefd70ad94cadcca09f57564d8ee54257a61472ae8bfe1f4b9b7564b9 - 0.0% (273 Bytes)

[#017] sha256:c37f19347ef3fa2bff18379178fe7dcdee688a31cc546f36837fa48801b5d51f - 0.0% (560 Bytes)

[#018] sha256:e39ec3f6403055ede86b80ed87a3a16528117342f9338528e322c215e6535286 - 0.0% (725 Bytes)

[#019] sha256:6d84a326bf4e2fc55ff52ceb9780d0e11f5e7e85e1494f89d245b8a3db83b20b - 0.0% (612 Bytes)

[#020] sha256:6fcab7a22ad935cdfd126838c811c9cd8535b1bd4b5cd4b247a7107abfcb4b5a - 38.44% (39.3 MB)

[#021] sha256:454e23be25c8bb50ab2e24b7560eb4276b52acdd4594aa3dd7f2ad958412e9bc - 0.0% (269 Bytes)

[#022] sha256:11e6bcc8fb60d5adb0e0f607eaa6adefbb94d7a562d648074130821ec4b03dda - 0.0% (185 Bytes)


History
2026-07-13 00:00:00 UTC (debuerreotype 0.17)

# debian.sh --arch 'riscv64' out/ 'trixie' '@1783900800'

2026-07-16 15:30:26 UTC (buildkit.dockerfile.v0)

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

2026-07-16 15:30:26 UTC (buildkit.dockerfile.v0)

ENV NGINX_VERSION=1.31.3

2026-07-16 15:30:26 UTC (buildkit.dockerfile.v0)

ENV NJS_VERSION=1.0.0

2026-07-16 15:30:26 UTC (buildkit.dockerfile.v0)

ENV NJS_RELEASE=1~trixie

2026-07-16 15:30:26 UTC (buildkit.dockerfile.v0)

ENV ACME_VERSION=0.4.1

2026-07-16 15:30:26 UTC (buildkit.dockerfile.v0)

ENV PKG_RELEASE=1~trixie

2026-07-16 15:30:26 UTC (buildkit.dockerfile.v0)

ENV DYNPKG_RELEASE=1~trixie

2026-07-16 15:30:26 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="524b75cc72657ce77d90cd25c305aba0a19a7f8a3e5dec8e1cc585cd7985663a444c7873e9040b4576285b49ac117c1ea4bb4077dc592eca52316935e1f75adf *${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-07-16 15:30:26 UTC (buildkit.dockerfile.v0)

COPY docker-entrypoint.sh / # buildkit

2026-07-16 15:30:26 UTC (buildkit.dockerfile.v0)

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

2026-07-16 15:30:26 UTC (buildkit.dockerfile.v0)

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

2026-07-16 15:30:27 UTC (buildkit.dockerfile.v0)

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

2026-07-16 15:30:27 UTC (buildkit.dockerfile.v0)

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

2026-07-16 15:30:27 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["/docker-entrypoint.sh"]

2026-07-16 15:30:27 UTC (buildkit.dockerfile.v0)

EXPOSE map[80/tcp:{}]

2026-07-16 15:30:27 UTC (buildkit.dockerfile.v0)

STOPSIGNAL SIGQUIT

2026-07-16 15:30:27 UTC (buildkit.dockerfile.v0)

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

2026-08-03 08:13:03 UTC (buildkit.dockerfile.v0)

ARG TARGETOS=linux

2026-08-03 08:13:03 UTC (buildkit.dockerfile.v0)

ARG TARGETARCH=riscv64

2026-08-03 08:13:03 UTC (buildkit.dockerfile.v0)

ARG TARGETVARIANT=

2026-08-03 08:13:03 UTC (buildkit.dockerfile.v0)

ARG S6_OVERLAY_VERSION=3.2.1.0

2026-08-03 08:13:03 UTC (buildkit.dockerfile.v0)

EXPOSE [443/tcp 80/tcp]

2026-08-03 08:13:03 UTC (buildkit.dockerfile.v0)

ENV DEBIAN_FRONTEND=noninteractive

2026-08-03 08:13:03 UTC (buildkit.dockerfile.v0)

ENV NGINX_UI_OFFICIAL_DOCKER=true

2026-08-03 08:13:03 UTC (buildkit.dockerfile.v0)

ENV NGINX_UI_WORKING_DIR=/var/run/

2026-08-03 08:13:03 UTC (buildkit.dockerfile.v0)

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

2026-08-03 08:13:06 UTC (buildkit.dockerfile.v0)

RUN |4 TARGETOS=linux TARGETARCH=riscv64 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" ;; "riscv64/"*) S6_ARCH="riscv64" ;; *) 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 && rm -f /tmp/s6-overlay-noarch.tar.xz /tmp/s6-overlay-${S6_ARCH}.tar.xz # buildkit

2026-08-03 08:13:06 UTC (buildkit.dockerfile.v0)

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

2026-08-03 08:13:07 UTC (buildkit.dockerfile.v0)

RUN |4 TARGETOS=linux TARGETARCH=riscv64 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-08-03 08:13:07 UTC (buildkit.dockerfile.v0)

RUN |4 TARGETOS=linux TARGETARCH=riscv64 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-08-03 08:13:07 UTC (buildkit.dockerfile.v0)

COPY resources/docker/init-config.up /etc/s6-overlay/s6-rc.d/init-config/up # buildkit

2026-08-03 08:13:07 UTC (buildkit.dockerfile.v0)

COPY resources/docker/init-config.sh /etc/s6-overlay/s6-rc.d/init-config/init-config.sh # buildkit

2026-08-03 08:13:07 UTC (buildkit.dockerfile.v0)

RUN |4 TARGETOS=linux TARGETARCH=riscv64 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-08-03 08:13:07 UTC (buildkit.dockerfile.v0)

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

2026-08-03 08:13:08 UTC (buildkit.dockerfile.v0)

RUN |4 TARGETOS=linux TARGETARCH=riscv64 TARGETVARIANT= S6_OVERLAY_VERSION=3.2.1.0 /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-08-03 08:13:08 UTC (buildkit.dockerfile.v0)

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

2026-08-03 08:13:08 UTC (buildkit.dockerfile.v0)

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

2026-08-03 08:13:08 UTC (buildkit.dockerfile.v0)

COPY resources/docker/nginx-ui.conf.known-hashes /usr/local/share/nginx-ui/nginx-ui.conf.known-hashes # buildkit

2026-08-03 08:13:08 UTC (buildkit.dockerfile.v0)

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

2026-08-03 08:13:08 UTC (buildkit.dockerfile.v0)

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

2026-08-03 08:13:08 UTC (buildkit.dockerfile.v0)

RUN |4 TARGETOS=linux TARGETARCH=riscv64 TARGETVARIANT= S6_OVERLAY_VERSION=3.2.1.0 /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

2026-08-03 08:13:08 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["/init"]

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