Namespace
shlinkio
Image / Tag
shlink-web-client:4.7.0
Content Digest
sha256:80b4d00c445f61e38164a4f13bea4f915b0bdc051e74705fe21ffa92a3d6fed5
Details
Created

2026-02-04 07:37:02 UTC

Size

22.1 MB

Content Digest
Labels
  • maintainer
    Alejandro Celaya <alejandro@alejandrocelaya.com>
  • org.opencontainers.image.created
    2026-02-04T07:36:30.552Z
  • org.opencontainers.image.description
    A React-based client application for Shlink
  • org.opencontainers.image.licenses
    MIT
  • org.opencontainers.image.revision
    a37be1d2d4abf40ee643a04aafca8c7a0b0e5736
  • org.opencontainers.image.source
    https://github.com/shlinkio/shlink-web-client
  • org.opencontainers.image.title
    shlink-web-client
  • org.opencontainers.image.url
    https://github.com/shlinkio/shlink-web-client
  • org.opencontainers.image.version
    4.7.0

Environment
DYNPKG_RELEASE

1

NGINX_VERSION

1.29.3

NJS_RELEASE

1

NJS_VERSION

0.9.4

PATH

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

PKG_RELEASE

1


Layers

[#000] sha256:2d35ebdb57d9971fea0cac1582aa78935adf8058b2cc32db163c98822e5dfa1b - 16.44% (3.63 MB)

[#001] sha256:25d2a5d032e288d8b3fa87bb74c3ccdb577f31c1162cd9a94d94d22f1caedd01 - 7.94% (1.75 MB)

[#002] sha256:00eebc6a6e6dcbcf7e8c287c2340671f5845c2ec5b32f2db9e8cc32ea7decbb9 - 0.01% (2.73 KB)

[#003] sha256:f32dba1c5b521525087ff309ca6790730d40d4c498e8f7bb39b20eb367bd8d1c - 0.0% (629 Bytes)

[#004] sha256:e7992342574ba9794a3a90ceaa65504c1a3557c5952d278bfec6ee050ad9dc52 - 0.0% (955 Bytes)

[#005] sha256:e133a6755fb33cbeea7a2971365710d208df53441dce1ed4362da625d06e9efb - 0.0% (403 Bytes)

[#006] sha256:d7a765f7e2fb7d86aeabf822fcaad4b4927ff42275be209fae707ec3b106b18e - 0.01% (1.17 KB)

[#007] sha256:896668593b008c2d470d127d2fa924c1c9c5bf77e20d15dc12e2cd0aa43735ed - 0.01% (1.36 KB)

[#008] sha256:bfebbaadfcae67eeb091c5242682296a365adf1b1e20bf0878285f4a86892522 - 73.34% (16.2 MB)

[#009] sha256:7ccd42ce193b698a4125c13d6609157dbef828e3a9b2ce13da761f2af60c3dc5 - 0.0% (266 Bytes)

[#010] sha256:97c82f305909acec378f7908c8d3aa3deedaf08b7691080fd45fe6a61c3af262 - 0.0% (881 Bytes)

[#011] sha256:7d61255bc1a785ff3431135188a92198f55c06d57e9c7e0fdee2a77eb7264885 - 0.0% (542 Bytes)

[#012] sha256:9cbf8cb2f3864a9279f1df3c2e10111b85a94007f38a22b91e98c0901d06f1f3 - 2.24% (507 KB)

[#013] sha256:440badd34c3d16e0cc9188111072f96cb1406303f8ab1692295182ed32cf55ad - 0.0% (213 Bytes)


History
2025-10-08 11:04:56 UTC (buildkit.dockerfile.v0)

ADD alpine-minirootfs-3.22.2-x86_64.tar.gz / # buildkit

2025-10-08 11:04:56 UTC (buildkit.dockerfile.v0)

CMD ["/bin/sh"]

2026-01-26 00:30:01 UTC (buildkit.dockerfile.v0)

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

2026-01-26 00:30:01 UTC (buildkit.dockerfile.v0)

ENV NGINX_VERSION=1.29.3

2026-01-26 00:30:01 UTC (buildkit.dockerfile.v0)

ENV PKG_RELEASE=1

2026-01-26 00:30:01 UTC (buildkit.dockerfile.v0)

ENV DYNPKG_RELEASE=1

2026-01-26 00:30:01 UTC (buildkit.dockerfile.v0)

ARG UID=101

2026-01-26 00:30:01 UTC (buildkit.dockerfile.v0)

ARG GID=101

2026-01-26 00:30:01 UTC (buildkit.dockerfile.v0)

RUN |2 UID=101 GID=101 /bin/sh -c set -x && addgroup -g $GID -S nginx || true && adduser -S -D -H -u $UID -h /var/cache/nginx -s /sbin/nologin -G nginx -g nginx nginx || true && apkArch="$(cat /etc/apk/arch)" && nginxPackages=" nginx=${NGINX_VERSION}-r${PKG_RELEASE} " && apk add --no-cache --virtual .checksum-deps openssl && case "$apkArch" in x86_64|aarch64) set -x && KEY_SHA512="e09fa32f0a0eab2b879ccbbc4d0e4fb9751486eedda75e35fac65802cc9faa266425edf83e261137a2f4d16281ce2c1a5f4502930fe75154723da014214f0655" && wget -O /tmp/nginx_signing.rsa.pub https://nginx.org/keys/nginx_signing.rsa.pub && if echo "$KEY_SHA512 */tmp/nginx_signing.rsa.pub" | sha512sum -c -; then echo "key verification succeeded!"; mv /tmp/nginx_signing.rsa.pub /etc/apk/keys/; else echo "key verification failed!"; exit 1; fi && apk add -X "https://nginx.org/packages/mainline/alpine/v$(egrep -o '^[0-9]+\.[0-9]+' /etc/alpine-release)/main" --no-cache $nginxPackages ;; *) set -x && tempDir="$(mktemp -d)" && chown nobody:nobody $tempDir && apk add --no-cache --virtual .build-deps gcc libc-dev make openssl-dev pcre2-dev zlib-dev linux-headers bash alpine-sdk findutils curl && su nobody -s /bin/sh -c " export HOME=${tempDir} && cd ${tempDir} && curl -f -L -O https://github.com/nginx/pkg-oss/archive/${NGINX_VERSION}-${PKG_RELEASE}.tar.gz && PKGOSSCHECKSUM=\"249858446828ace0c81ea3e057135aa368f3dab83430cf867bb9fc32598948f29c4bd50908491da704536af1106aa87553f6a76cc126c6833dc9b14dd00564b8 *${NGINX_VERSION}-${PKG_RELEASE}.tar.gz\" && if [ \"\$(openssl sha512 -r ${NGINX_VERSION}-${PKG_RELEASE}.tar.gz)\" = \"\$PKGOSSCHECKSUM\" ]; then echo \"pkg-oss tarball checksum verification succeeded!\"; else echo \"pkg-oss tarball checksum verification failed!\"; exit 1; fi && tar xzvf ${NGINX_VERSION}-${PKG_RELEASE}.tar.gz && cd pkg-oss-${NGINX_VERSION}-${PKG_RELEASE} && cd alpine && make base && apk index --allow-untrusted -o ${tempDir}/packages/alpine/${apkArch}/APKINDEX.tar.gz ${tempDir}/packages/alpine/${apkArch}/*.apk && abuild-sign -k ${tempDir}/.abuild/abuild-key.rsa ${tempDir}/packages/alpine/${apkArch}/APKINDEX.tar.gz " && cp ${tempDir}/.abuild/abuild-key.rsa.pub /etc/apk/keys/ && apk del --no-network .build-deps && apk add -X ${tempDir}/packages/alpine/ --no-cache $nginxPackages ;; esac && apk del --no-network .checksum-deps && if [ -n "$tempDir" ]; then rm -rf "$tempDir"; fi && if [ -f "/etc/apk/keys/abuild-key.rsa.pub" ]; then rm -f /etc/apk/keys/abuild-key.rsa.pub; fi && apk add --no-cache gettext-envsubst && apk add --no-cache tzdata && ln -sf /dev/stdout /var/log/nginx/access.log && ln -sf /dev/stderr /var/log/nginx/error.log && mkdir /docker-entrypoint.d # buildkit

2026-01-26 00:30:02 UTC (buildkit.dockerfile.v0)

RUN |2 UID=101 GID=101 /bin/sh -c sed -i 's,listen 80;,listen 8080;,' /etc/nginx/conf.d/default.conf && sed -i '/user nginx;/d' /etc/nginx/nginx.conf && sed -i 's,\(/var\)\{0\,1\}/run/nginx.pid,/tmp/nginx.pid,' /etc/nginx/nginx.conf && sed -i "/^http {/a \ proxy_temp_path /tmp/proxy_temp;\n client_body_temp_path /tmp/client_temp;\n fastcgi_temp_path /tmp/fastcgi_temp;\n uwsgi_temp_path /tmp/uwsgi_temp;\n scgi_temp_path /tmp/scgi_temp;\n" /etc/nginx/nginx.conf && chown -R $UID:0 /var/cache/nginx && chmod -R g+w /var/cache/nginx && chown -R $UID:0 /etc/nginx && chmod -R g+w /etc/nginx # buildkit

2026-01-26 00:30:02 UTC (buildkit.dockerfile.v0)

COPY docker-entrypoint.sh / # buildkit

2026-01-26 00:30:02 UTC (buildkit.dockerfile.v0)

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

2026-01-26 00:30:02 UTC (buildkit.dockerfile.v0)

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

2026-01-26 00:30:02 UTC (buildkit.dockerfile.v0)

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

2026-01-26 00:30:02 UTC (buildkit.dockerfile.v0)

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

2026-01-26 00:30:02 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["/docker-entrypoint.sh"]

2026-01-26 00:30:02 UTC (buildkit.dockerfile.v0)

EXPOSE [8080/tcp]

2026-01-26 00:30:02 UTC (buildkit.dockerfile.v0)

STOPSIGNAL SIGQUIT

2026-01-26 00:30:02 UTC (buildkit.dockerfile.v0)

USER 101

2026-01-26 00:30:02 UTC (buildkit.dockerfile.v0)

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

2026-01-26 02:07:16 UTC (buildkit.dockerfile.v0)

ENV NJS_VERSION=0.9.4

2026-01-26 02:07:16 UTC (buildkit.dockerfile.v0)

ENV NJS_RELEASE=1

2026-01-26 02:07:16 UTC (buildkit.dockerfile.v0)

ARG UID=101

2026-01-26 02:07:16 UTC (buildkit.dockerfile.v0)

ARG GID=101

2026-01-26 02:07:16 UTC (buildkit.dockerfile.v0)

USER root

2026-01-26 02:07:16 UTC (buildkit.dockerfile.v0)

RUN |2 UID=101 GID=101 /bin/sh -c set -x && apkArch="$(cat /etc/apk/arch)" && nginxPackages=" nginx=${NGINX_VERSION}-r${PKG_RELEASE} nginx-module-xslt=${NGINX_VERSION}-r${DYNPKG_RELEASE} nginx-module-geoip=${NGINX_VERSION}-r${DYNPKG_RELEASE} nginx-module-image-filter=${NGINX_VERSION}-r${DYNPKG_RELEASE} nginx-module-njs=${NGINX_VERSION}.${NJS_VERSION}-r${NJS_RELEASE} " && apk add --no-cache --virtual .checksum-deps openssl && case "$apkArch" in x86_64|aarch64) apk add -X "https://nginx.org/packages/mainline/alpine/v$(egrep -o '^[0-9]+\.[0-9]+' /etc/alpine-release)/main" --no-cache $nginxPackages ;; *) set -x && tempDir="$(mktemp -d)" && chown nobody:nobody $tempDir && apk add --no-cache --virtual .build-deps gcc libc-dev make openssl-dev pcre2-dev zlib-dev linux-headers libxslt-dev gd-dev geoip-dev libedit-dev bash alpine-sdk findutils curl && su nobody -s /bin/sh -c " export HOME=${tempDir} && cd ${tempDir} && curl -f -L -O https://github.com/nginx/pkg-oss/archive/${NGINX_VERSION}-${PKG_RELEASE}.tar.gz && PKGOSSCHECKSUM=\"249858446828ace0c81ea3e057135aa368f3dab83430cf867bb9fc32598948f29c4bd50908491da704536af1106aa87553f6a76cc126c6833dc9b14dd00564b8 *${NGINX_VERSION}-${PKG_RELEASE}.tar.gz\" && if [ \"\$(openssl sha512 -r ${NGINX_VERSION}-${PKG_RELEASE}.tar.gz)\" = \"\$PKGOSSCHECKSUM\" ]; then echo \"pkg-oss tarball checksum verification succeeded!\"; else echo \"pkg-oss tarball checksum verification failed!\"; exit 1; fi && tar xzvf ${NGINX_VERSION}-${PKG_RELEASE}.tar.gz && cd pkg-oss-${NGINX_VERSION}-${PKG_RELEASE} && cd alpine && make module-geoip module-image-filter module-njs module-xslt && apk index --allow-untrusted -o ${tempDir}/packages/alpine/${apkArch}/APKINDEX.tar.gz ${tempDir}/packages/alpine/${apkArch}/*.apk && abuild-sign -k ${tempDir}/.abuild/abuild-key.rsa ${tempDir}/packages/alpine/${apkArch}/APKINDEX.tar.gz " && cp ${tempDir}/.abuild/abuild-key.rsa.pub /etc/apk/keys/ && apk del --no-network .build-deps && apk add -X ${tempDir}/packages/alpine/ --no-cache $nginxPackages ;; esac && apk del --no-network .checksum-deps && if [ -n "$tempDir" ]; then rm -rf "$tempDir"; fi && if [ -f "/etc/apk/keys/abuild-key.rsa.pub" ]; then rm -f /etc/apk/keys/abuild-key.rsa.pub; fi && apk add --no-cache curl ca-certificates # buildkit

2026-01-26 02:07:16 UTC (buildkit.dockerfile.v0)

USER 101

2026-02-04 07:36:34 UTC (buildkit.dockerfile.v0)

ARG UID=101

2026-02-04 07:36:34 UTC (buildkit.dockerfile.v0)

LABEL maintainer=Alejandro Celaya <alejandro@alejandrocelaya.com>

2026-02-04 07:36:34 UTC (buildkit.dockerfile.v0)

USER root

2026-02-04 07:36:34 UTC (buildkit.dockerfile.v0)

RUN |1 UID=101 /bin/sh -c rm -r /usr/share/nginx/html && rm /etc/nginx/conf.d/default.conf # buildkit

2026-02-04 07:36:34 UTC (buildkit.dockerfile.v0)

COPY config/docker/nginx.conf /etc/nginx/conf.d/default.conf # buildkit

2026-02-04 07:36:34 UTC (buildkit.dockerfile.v0)

COPY scripts/docker/servers_from_env.sh /docker-entrypoint.d/30-shlink-servers-json.sh # buildkit

2026-02-04 07:37:02 UTC (buildkit.dockerfile.v0)

COPY /shlink-web-client/build /usr/share/nginx/html # buildkit

2026-02-04 07:37:02 UTC (buildkit.dockerfile.v0)

RUN |1 UID=101 /bin/sh -c echo '[]' > /usr/share/nginx/html/servers.json && chown $UID:0 /usr/share/nginx/html/servers.json # buildkit

2026-02-04 07:37:02 UTC (buildkit.dockerfile.v0)

USER 101

Details
Created

2026-02-04 07:40:31 UTC

Size

22.5 MB

Content Digest
Labels
  • maintainer
    Alejandro Celaya <alejandro@alejandrocelaya.com>
  • org.opencontainers.image.created
    2026-02-04T07:36:30.552Z
  • org.opencontainers.image.description
    A React-based client application for Shlink
  • org.opencontainers.image.licenses
    MIT
  • org.opencontainers.image.revision
    a37be1d2d4abf40ee643a04aafca8c7a0b0e5736
  • org.opencontainers.image.source
    https://github.com/shlinkio/shlink-web-client
  • org.opencontainers.image.title
    shlink-web-client
  • org.opencontainers.image.url
    https://github.com/shlinkio/shlink-web-client
  • org.opencontainers.image.version
    4.7.0

Environment
DYNPKG_RELEASE

1

NGINX_VERSION

1.29.3

NJS_RELEASE

1

NJS_VERSION

0.9.4

PATH

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

PKG_RELEASE

1


Layers

[#000] sha256:6b59a28fa20117e6048ad0616b8d8c901877ef15ff4c7f18db04e4f01f43bc39 - 17.52% (3.95 MB)

[#001] sha256:59f6bddadf17648f6c6727b25a2e6c2a14da0a172b66a211038b7bda051fc4a1 - 7.75% (1.75 MB)

[#002] sha256:64e1fa60d55ba4a7dc991e591fb15a6e665cd8e8d989ed7200014e0cefb29092 - 0.01% (2.73 KB)

[#003] sha256:f32dba1c5b521525087ff309ca6790730d40d4c498e8f7bb39b20eb367bd8d1c - 0.0% (629 Bytes)

[#004] sha256:5106338fd3f85bfefdf6a284323c476e143bb0dd45e63bcf2e1ddfd5b5b135fe - 0.0% (956 Bytes)

[#005] sha256:0267a1ec5f9ef1592feb4f0303fb9967716b59da77370e8508ecc3e990fe2edc - 0.0% (404 Bytes)

[#006] sha256:181e9da77ff5c5cffdd34903405a8f556204a207af7430aa5217337986ed2684 - 0.01% (1.18 KB)

[#007] sha256:d8c3dbaea7e9f0f14d9d90ef06dfcc0adf932bb6e7359fa675dd8b0f397ee87a - 0.01% (1.37 KB)

[#008] sha256:9bd895337ddf019470470687fd7b4f3bec14983e3f5dfd282b345692c1f6aa15 - 72.49% (16.3 MB)

[#009] sha256:e37bc3276b118083222141ed8df008c91a3a98dc70fa57fb66335329b984b450 - 0.0% (266 Bytes)

[#010] sha256:63f9dcb6a63b92b8f2de5b726e0b62d69d6feb9de64ce0d7d7980a6474825018 - 0.0% (881 Bytes)

[#011] sha256:7d61255bc1a785ff3431135188a92198f55c06d57e9c7e0fdee2a77eb7264885 - 0.0% (542 Bytes)

[#012] sha256:1d838bfd516e96c404fbf36851153be28b68c80bb08987bac05f134aa72625d0 - 2.2% (507 KB)

[#013] sha256:e64f5b6f03c1cf6f90573c4e616c1980936bb980c51244f6fa95ae4f3bde7b9c - 0.0% (214 Bytes)


History
2025-10-08 11:04:56 UTC (buildkit.dockerfile.v0)

ADD alpine-minirootfs-3.22.2-aarch64.tar.gz / # buildkit

2025-10-08 11:04:56 UTC (buildkit.dockerfile.v0)

CMD ["/bin/sh"]

2026-01-26 00:30:25 UTC (buildkit.dockerfile.v0)

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

2026-01-26 00:30:25 UTC (buildkit.dockerfile.v0)

ENV NGINX_VERSION=1.29.3

2026-01-26 00:30:25 UTC (buildkit.dockerfile.v0)

ENV PKG_RELEASE=1

2026-01-26 00:30:25 UTC (buildkit.dockerfile.v0)

ENV DYNPKG_RELEASE=1

2026-01-26 00:30:25 UTC (buildkit.dockerfile.v0)

ARG UID=101

2026-01-26 00:30:25 UTC (buildkit.dockerfile.v0)

ARG GID=101

2026-01-26 00:30:25 UTC (buildkit.dockerfile.v0)

RUN |2 UID=101 GID=101 /bin/sh -c set -x && addgroup -g $GID -S nginx || true && adduser -S -D -H -u $UID -h /var/cache/nginx -s /sbin/nologin -G nginx -g nginx nginx || true && apkArch="$(cat /etc/apk/arch)" && nginxPackages=" nginx=${NGINX_VERSION}-r${PKG_RELEASE} " && apk add --no-cache --virtual .checksum-deps openssl && case "$apkArch" in x86_64|aarch64) set -x && KEY_SHA512="e09fa32f0a0eab2b879ccbbc4d0e4fb9751486eedda75e35fac65802cc9faa266425edf83e261137a2f4d16281ce2c1a5f4502930fe75154723da014214f0655" && wget -O /tmp/nginx_signing.rsa.pub https://nginx.org/keys/nginx_signing.rsa.pub && if echo "$KEY_SHA512 */tmp/nginx_signing.rsa.pub" | sha512sum -c -; then echo "key verification succeeded!"; mv /tmp/nginx_signing.rsa.pub /etc/apk/keys/; else echo "key verification failed!"; exit 1; fi && apk add -X "https://nginx.org/packages/mainline/alpine/v$(egrep -o '^[0-9]+\.[0-9]+' /etc/alpine-release)/main" --no-cache $nginxPackages ;; *) set -x && tempDir="$(mktemp -d)" && chown nobody:nobody $tempDir && apk add --no-cache --virtual .build-deps gcc libc-dev make openssl-dev pcre2-dev zlib-dev linux-headers bash alpine-sdk findutils curl && su nobody -s /bin/sh -c " export HOME=${tempDir} && cd ${tempDir} && curl -f -L -O https://github.com/nginx/pkg-oss/archive/${NGINX_VERSION}-${PKG_RELEASE}.tar.gz && PKGOSSCHECKSUM=\"249858446828ace0c81ea3e057135aa368f3dab83430cf867bb9fc32598948f29c4bd50908491da704536af1106aa87553f6a76cc126c6833dc9b14dd00564b8 *${NGINX_VERSION}-${PKG_RELEASE}.tar.gz\" && if [ \"\$(openssl sha512 -r ${NGINX_VERSION}-${PKG_RELEASE}.tar.gz)\" = \"\$PKGOSSCHECKSUM\" ]; then echo \"pkg-oss tarball checksum verification succeeded!\"; else echo \"pkg-oss tarball checksum verification failed!\"; exit 1; fi && tar xzvf ${NGINX_VERSION}-${PKG_RELEASE}.tar.gz && cd pkg-oss-${NGINX_VERSION}-${PKG_RELEASE} && cd alpine && make base && apk index --allow-untrusted -o ${tempDir}/packages/alpine/${apkArch}/APKINDEX.tar.gz ${tempDir}/packages/alpine/${apkArch}/*.apk && abuild-sign -k ${tempDir}/.abuild/abuild-key.rsa ${tempDir}/packages/alpine/${apkArch}/APKINDEX.tar.gz " && cp ${tempDir}/.abuild/abuild-key.rsa.pub /etc/apk/keys/ && apk del --no-network .build-deps && apk add -X ${tempDir}/packages/alpine/ --no-cache $nginxPackages ;; esac && apk del --no-network .checksum-deps && if [ -n "$tempDir" ]; then rm -rf "$tempDir"; fi && if [ -f "/etc/apk/keys/abuild-key.rsa.pub" ]; then rm -f /etc/apk/keys/abuild-key.rsa.pub; fi && apk add --no-cache gettext-envsubst && apk add --no-cache tzdata && ln -sf /dev/stdout /var/log/nginx/access.log && ln -sf /dev/stderr /var/log/nginx/error.log && mkdir /docker-entrypoint.d # buildkit

2026-01-26 00:30:25 UTC (buildkit.dockerfile.v0)

RUN |2 UID=101 GID=101 /bin/sh -c sed -i 's,listen 80;,listen 8080;,' /etc/nginx/conf.d/default.conf && sed -i '/user nginx;/d' /etc/nginx/nginx.conf && sed -i 's,\(/var\)\{0\,1\}/run/nginx.pid,/tmp/nginx.pid,' /etc/nginx/nginx.conf && sed -i "/^http {/a \ proxy_temp_path /tmp/proxy_temp;\n client_body_temp_path /tmp/client_temp;\n fastcgi_temp_path /tmp/fastcgi_temp;\n uwsgi_temp_path /tmp/uwsgi_temp;\n scgi_temp_path /tmp/scgi_temp;\n" /etc/nginx/nginx.conf && chown -R $UID:0 /var/cache/nginx && chmod -R g+w /var/cache/nginx && chown -R $UID:0 /etc/nginx && chmod -R g+w /etc/nginx # buildkit

2026-01-26 00:30:25 UTC (buildkit.dockerfile.v0)

COPY docker-entrypoint.sh / # buildkit

2026-01-26 00:30:25 UTC (buildkit.dockerfile.v0)

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

2026-01-26 00:30:25 UTC (buildkit.dockerfile.v0)

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

2026-01-26 00:30:25 UTC (buildkit.dockerfile.v0)

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

2026-01-26 00:30:25 UTC (buildkit.dockerfile.v0)

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

2026-01-26 00:30:25 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["/docker-entrypoint.sh"]

2026-01-26 00:30:25 UTC (buildkit.dockerfile.v0)

EXPOSE [8080/tcp]

2026-01-26 00:30:25 UTC (buildkit.dockerfile.v0)

STOPSIGNAL SIGQUIT

2026-01-26 00:30:25 UTC (buildkit.dockerfile.v0)

USER 101

2026-01-26 00:30:25 UTC (buildkit.dockerfile.v0)

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

2026-01-26 02:07:38 UTC (buildkit.dockerfile.v0)

ENV NJS_VERSION=0.9.4

2026-01-26 02:07:38 UTC (buildkit.dockerfile.v0)

ENV NJS_RELEASE=1

2026-01-26 02:07:38 UTC (buildkit.dockerfile.v0)

ARG UID=101

2026-01-26 02:07:38 UTC (buildkit.dockerfile.v0)

ARG GID=101

2026-01-26 02:07:38 UTC (buildkit.dockerfile.v0)

USER root

2026-01-26 02:07:38 UTC (buildkit.dockerfile.v0)

RUN |2 UID=101 GID=101 /bin/sh -c set -x && apkArch="$(cat /etc/apk/arch)" && nginxPackages=" nginx=${NGINX_VERSION}-r${PKG_RELEASE} nginx-module-xslt=${NGINX_VERSION}-r${DYNPKG_RELEASE} nginx-module-geoip=${NGINX_VERSION}-r${DYNPKG_RELEASE} nginx-module-image-filter=${NGINX_VERSION}-r${DYNPKG_RELEASE} nginx-module-njs=${NGINX_VERSION}.${NJS_VERSION}-r${NJS_RELEASE} " && apk add --no-cache --virtual .checksum-deps openssl && case "$apkArch" in x86_64|aarch64) apk add -X "https://nginx.org/packages/mainline/alpine/v$(egrep -o '^[0-9]+\.[0-9]+' /etc/alpine-release)/main" --no-cache $nginxPackages ;; *) set -x && tempDir="$(mktemp -d)" && chown nobody:nobody $tempDir && apk add --no-cache --virtual .build-deps gcc libc-dev make openssl-dev pcre2-dev zlib-dev linux-headers libxslt-dev gd-dev geoip-dev libedit-dev bash alpine-sdk findutils curl && su nobody -s /bin/sh -c " export HOME=${tempDir} && cd ${tempDir} && curl -f -L -O https://github.com/nginx/pkg-oss/archive/${NGINX_VERSION}-${PKG_RELEASE}.tar.gz && PKGOSSCHECKSUM=\"249858446828ace0c81ea3e057135aa368f3dab83430cf867bb9fc32598948f29c4bd50908491da704536af1106aa87553f6a76cc126c6833dc9b14dd00564b8 *${NGINX_VERSION}-${PKG_RELEASE}.tar.gz\" && if [ \"\$(openssl sha512 -r ${NGINX_VERSION}-${PKG_RELEASE}.tar.gz)\" = \"\$PKGOSSCHECKSUM\" ]; then echo \"pkg-oss tarball checksum verification succeeded!\"; else echo \"pkg-oss tarball checksum verification failed!\"; exit 1; fi && tar xzvf ${NGINX_VERSION}-${PKG_RELEASE}.tar.gz && cd pkg-oss-${NGINX_VERSION}-${PKG_RELEASE} && cd alpine && make module-geoip module-image-filter module-njs module-xslt && apk index --allow-untrusted -o ${tempDir}/packages/alpine/${apkArch}/APKINDEX.tar.gz ${tempDir}/packages/alpine/${apkArch}/*.apk && abuild-sign -k ${tempDir}/.abuild/abuild-key.rsa ${tempDir}/packages/alpine/${apkArch}/APKINDEX.tar.gz " && cp ${tempDir}/.abuild/abuild-key.rsa.pub /etc/apk/keys/ && apk del --no-network .build-deps && apk add -X ${tempDir}/packages/alpine/ --no-cache $nginxPackages ;; esac && apk del --no-network .checksum-deps && if [ -n "$tempDir" ]; then rm -rf "$tempDir"; fi && if [ -f "/etc/apk/keys/abuild-key.rsa.pub" ]; then rm -f /etc/apk/keys/abuild-key.rsa.pub; fi && apk add --no-cache curl ca-certificates # buildkit

2026-01-26 02:07:38 UTC (buildkit.dockerfile.v0)

USER 101

2026-02-04 07:36:34 UTC (buildkit.dockerfile.v0)

ARG UID=101

2026-02-04 07:36:34 UTC (buildkit.dockerfile.v0)

LABEL maintainer=Alejandro Celaya <alejandro@alejandrocelaya.com>

2026-02-04 07:36:34 UTC (buildkit.dockerfile.v0)

USER root

2026-02-04 07:36:34 UTC (buildkit.dockerfile.v0)

RUN |1 UID=101 /bin/sh -c rm -r /usr/share/nginx/html && rm /etc/nginx/conf.d/default.conf # buildkit

2026-02-04 07:36:34 UTC (buildkit.dockerfile.v0)

COPY config/docker/nginx.conf /etc/nginx/conf.d/default.conf # buildkit

2026-02-04 07:36:34 UTC (buildkit.dockerfile.v0)

COPY scripts/docker/servers_from_env.sh /docker-entrypoint.d/30-shlink-servers-json.sh # buildkit

2026-02-04 07:40:31 UTC (buildkit.dockerfile.v0)

COPY /shlink-web-client/build /usr/share/nginx/html # buildkit

2026-02-04 07:40:31 UTC (buildkit.dockerfile.v0)

RUN |1 UID=101 /bin/sh -c echo '[]' > /usr/share/nginx/html/servers.json && chown $UID:0 /usr/share/nginx/html/servers.json # buildkit

2026-02-04 07:40:31 UTC (buildkit.dockerfile.v0)

USER 101

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