{"architecture":"amd64","config":{"User":"1001","ExposedPorts":{"8080/tcp":{}},"Env":["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin","PHPIZE_DEPS=autoconf \t\tdpkg-dev dpkg \t\tfile \t\tg++ \t\tgcc \t\tlibc-dev \t\tmake \t\tpkgconf \t\tre2c","PHP_INI_DIR=/usr/local/etc/php","PHP_CFLAGS=-fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64","PHP_CPPFLAGS=-fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64","PHP_LDFLAGS=-Wl,-O1 -pie","GPG_KEYS=AFD8691FDAEDF03BDF6E460563F15A9B715376CA 9D7F99A0CB8F05C8A6958D6256A97AF7600A39A6 0616E93D95AF471243E26761770426E17EBBB3DD","PHP_VERSION=8.4.14","PHP_URL=https://www.php.net/distributions/php-8.4.14.tar.xz","PHP_ASC_URL=https://www.php.net/distributions/php-8.4.14.tar.xz.asc","PHP_SHA256=bac90ee7cf738e814c89b6b27d4d2c4b70e50942a420837e1a22f5fd5f9867a3","SHLINK_VERSION=4.6.0","SHLINK_RUNTIME=rr","USER_ID=1001","PDO_SQLSRV_VERSION=5.12.0","MS_ODBC_DOWNLOAD=7/6/d/76de322a-d860-4894-9945-f0cc5d6a45f8","MS_ODBC_SQL_VERSION=18_18.4.1.1","LC_ALL=C"],"Entrypoint":["/bin/sh","./docker-entrypoint.sh"],"WorkingDir":"/etc/shlink","Labels":{"maintainer":"Alejandro Celaya \u003calejandro@alejandrocelaya.com\u003e","org.opencontainers.image.created":"2025-11-01T11:49:32.046Z","org.opencontainers.image.description":"The definitive self-hosted URL shortener","org.opencontainers.image.licenses":"MIT","org.opencontainers.image.revision":"0d833904e88425e220fdf70d4387b84e4ce21c0b","org.opencontainers.image.source":"https://github.com/shlinkio/shlink","org.opencontainers.image.title":"shlink","org.opencontainers.image.url":"https://github.com/shlinkio/shlink","org.opencontainers.image.version":"4.6.0"}},"created":"2025-11-01T11:52:01.358841442Z","history":[{"created":"2025-10-08T11:06:42Z","created_by":"ADD alpine-minirootfs-3.21.5-x86_64.tar.gz / # buildkit","comment":"buildkit.dockerfile.v0"},{"created":"2025-10-08T11:06:42Z","created_by":"CMD [\"/bin/sh\"]","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2025-10-23T18:46:40Z","created_by":"ENV PHPIZE_DEPS=autoconf \t\tdpkg-dev dpkg \t\tfile \t\tg++ \t\tgcc \t\tlibc-dev \t\tmake \t\tpkgconf \t\tre2c","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2025-10-23T18:46:40Z","created_by":"RUN /bin/sh -c apk add --no-cache \t\tca-certificates \t\tcurl \t\topenssl \t\ttar \t\txz # buildkit","comment":"buildkit.dockerfile.v0"},{"created":"2025-10-23T18:46:40Z","created_by":"RUN /bin/sh -c set -eux; \tadduser -u 82 -D -S -G www-data www-data # buildkit","comment":"buildkit.dockerfile.v0"},{"created":"2025-10-23T18:46:40Z","created_by":"ENV PHP_INI_DIR=/usr/local/etc/php","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2025-10-23T18:46:40Z","created_by":"RUN /bin/sh -c set -eux; \tmkdir -p \"$PHP_INI_DIR/conf.d\"; \t[ ! -d /var/www/html ]; \tmkdir -p /var/www/html; \tchown www-data:www-data /var/www/html; \tchmod 1777 /var/www/html # buildkit","comment":"buildkit.dockerfile.v0"},{"created":"2025-10-23T18:46:40Z","created_by":"ENV PHP_CFLAGS=-fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2025-10-23T18:46:40Z","created_by":"ENV PHP_CPPFLAGS=-fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2025-10-23T18:46:40Z","created_by":"ENV PHP_LDFLAGS=-Wl,-O1 -pie","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2025-10-23T18:46:40Z","created_by":"ENV GPG_KEYS=AFD8691FDAEDF03BDF6E460563F15A9B715376CA 9D7F99A0CB8F05C8A6958D6256A97AF7600A39A6 0616E93D95AF471243E26761770426E17EBBB3DD","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2025-10-23T18:46:40Z","created_by":"ENV PHP_VERSION=8.4.14","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2025-10-23T18:46:40Z","created_by":"ENV PHP_URL=https://www.php.net/distributions/php-8.4.14.tar.xz PHP_ASC_URL=https://www.php.net/distributions/php-8.4.14.tar.xz.asc","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2025-10-23T18:46:40Z","created_by":"ENV PHP_SHA256=bac90ee7cf738e814c89b6b27d4d2c4b70e50942a420837e1a22f5fd5f9867a3","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2025-10-23T18:46:40Z","created_by":"RUN /bin/sh -c set -eux; \t\tapk add --no-cache --virtual .fetch-deps gnupg; \t\tmkdir -p /usr/src; \tcd /usr/src; \t\tcurl -fsSL -o php.tar.xz \"$PHP_URL\"; \t\tif [ -n \"$PHP_SHA256\" ]; then \t\techo \"$PHP_SHA256 *php.tar.xz\" | sha256sum -c -; \tfi; \t\tcurl -fsSL -o php.tar.xz.asc \"$PHP_ASC_URL\"; \texport GNUPGHOME=\"$(mktemp -d)\"; \tfor key in $GPG_KEYS; do \t\tgpg --batch --keyserver keyserver.ubuntu.com --recv-keys \"$key\"; \tdone; \tgpg --batch --verify php.tar.xz.asc php.tar.xz; \tgpgconf --kill all; \trm -rf \"$GNUPGHOME\"; \t\tapk del --no-network .fetch-deps # buildkit","comment":"buildkit.dockerfile.v0"},{"created":"2025-10-23T18:46:40Z","created_by":"COPY docker-php-source /usr/local/bin/ # buildkit","comment":"buildkit.dockerfile.v0"},{"created":"2025-10-23T18:46:40Z","created_by":"RUN /bin/sh -c set -eux; \tapk add --no-cache --virtual .build-deps \t\t$PHPIZE_DEPS \t\targon2-dev \t\tcoreutils \t\tcurl-dev \t\tgnu-libiconv-dev \t\tlibsodium-dev \t\tlibxml2-dev \t\tlinux-headers \t\toniguruma-dev \t\topenssl-dev \t\treadline-dev \t\tsqlite-dev \t; \t\trm -vf /usr/include/iconv.h; \t\texport \t\tCFLAGS=\"$PHP_CFLAGS\" \t\tCPPFLAGS=\"$PHP_CPPFLAGS\" \t\tLDFLAGS=\"$PHP_LDFLAGS\" \t\tPHP_BUILD_PROVIDER='https://github.com/docker-library/php' \t\tPHP_UNAME='Linux - Docker' \t; \tdocker-php-source extract; \tcd /usr/src/php; \tgnuArch=\"$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)\"; \t./configure \t\t--build=\"$gnuArch\" \t\t--with-config-file-path=\"$PHP_INI_DIR\" \t\t--with-config-file-scan-dir=\"$PHP_INI_DIR/conf.d\" \t\t\t\t--enable-option-checking=fatal \t\t\t\t--with-mhash \t\t\t\t--with-pic \t\t\t\t--enable-mbstring \t\t--enable-mysqlnd \t\t--with-password-argon2 \t\t--with-sodium=shared \t\t--with-pdo-sqlite=/usr \t\t--with-sqlite3=/usr \t\t\t\t--with-curl \t\t--with-iconv=/usr \t\t--with-openssl \t\t--with-readline \t\t--with-zlib \t\t\t\t--enable-phpdbg \t\t--enable-phpdbg-readline \t\t\t\t--with-pear \t\t\t; \tmake -j \"$(nproc)\"; \tfind -type f -name '*.a' -delete; \tmake install; \tfind \t\t/usr/local \t\t-type f \t\t-perm '/0111' \t\t-exec sh -euxc ' \t\t\tstrip --strip-all \"$@\" || : \t\t' -- '{}' + \t; \tmake clean; \t\tcp -v php.ini-* \"$PHP_INI_DIR/\"; \t\tcd /; \tdocker-php-source delete; \t\trunDeps=\"$( \t\tscanelf --needed --nobanner --format '%n#p' --recursive /usr/local \t\t\t| tr ',' '\\n' \t\t\t| sort -u \t\t\t| awk 'system(\"[ -e /usr/local/lib/\" $1 \" ]\") == 0 { next } { print \"so:\" $1 }' \t)\"; \tapk add --no-cache $runDeps; \t\tapk del --no-network .build-deps; \t\tpecl update-channels; \trm -rf /tmp/pear ~/.pearrc; \t\tphp --version # buildkit","comment":"buildkit.dockerfile.v0"},{"created":"2025-10-23T18:46:40Z","created_by":"COPY docker-php-ext-* docker-php-entrypoint /usr/local/bin/ # buildkit","comment":"buildkit.dockerfile.v0"},{"created":"2025-10-23T18:46:40Z","created_by":"RUN /bin/sh -c docker-php-ext-enable opcache # buildkit","comment":"buildkit.dockerfile.v0"},{"created":"2025-10-23T18:46:40Z","created_by":"RUN /bin/sh -c docker-php-ext-enable sodium # buildkit","comment":"buildkit.dockerfile.v0"},{"created":"2025-10-23T18:46:40Z","created_by":"ENTRYPOINT [\"docker-php-entrypoint\"]","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2025-10-23T18:46:40Z","created_by":"CMD [\"php\" \"-a\"]","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2025-11-01T11:49:36.708318661Z","created_by":"ARG SHLINK_VERSION=4.6.0","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2025-11-01T11:49:36.708318661Z","created_by":"ENV SHLINK_VERSION=4.6.0","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2025-11-01T11:49:36.708318661Z","created_by":"ARG SHLINK_RUNTIME=rr","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2025-11-01T11:49:36.708318661Z","created_by":"ENV SHLINK_RUNTIME=rr","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2025-11-01T11:49:36.708318661Z","created_by":"ENV USER_ID=1001","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2025-11-01T11:49:36.708318661Z","created_by":"ENV PDO_SQLSRV_VERSION=5.12.0","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2025-11-01T11:49:36.708318661Z","created_by":"ENV MS_ODBC_DOWNLOAD=7/6/d/76de322a-d860-4894-9945-f0cc5d6a45f8","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2025-11-01T11:49:36.708318661Z","created_by":"ENV MS_ODBC_SQL_VERSION=18_18.4.1.1","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2025-11-01T11:49:36.708318661Z","created_by":"ENV LC_ALL=C","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2025-11-01T11:49:36.708318661Z","created_by":"WORKDIR /etc/shlink","comment":"buildkit.dockerfile.v0"},{"created":"2025-11-01T11:51:14.430388183Z","created_by":"RUN |2 SHLINK_VERSION=4.6.0 SHLINK_RUNTIME=rr /bin/sh -c apk add --no-cache --virtual .dev-deps sqlite-dev postgresql-dev icu-dev libzip-dev zlib-dev libpng-dev linux-headers \u0026\u0026 docker-php-ext-install -j\"$(nproc)\" pdo_mysql pdo_pgsql intl calendar sockets bcmath zip gd \u0026\u0026 apk add --no-cache sqlite-libs \u0026\u0026 docker-php-ext-install -j\"$(nproc)\" pdo_sqlite \u0026\u0026 apk del .dev-deps \u0026\u0026 apk add --no-cache postgresql icu libzip libpng # buildkit","comment":"buildkit.dockerfile.v0"},{"created":"2025-11-01T11:51:46.434769499Z","created_by":"RUN |2 SHLINK_VERSION=4.6.0 SHLINK_RUNTIME=rr /bin/sh -c apk add --no-cache --virtual .phpize-deps ${PHPIZE_DEPS} unixodbc-dev \u0026\u0026 if [ $(uname -m) == \"x86_64\" ]; then wget https://download.microsoft.com/download/${MS_ODBC_DOWNLOAD}/msodbcsql${MS_ODBC_SQL_VERSION}-1_amd64.apk \u0026\u0026 apk add --allow-untrusted msodbcsql${MS_ODBC_SQL_VERSION}-1_amd64.apk \u0026\u0026 pecl install pdo_sqlsrv-${PDO_SQLSRV_VERSION} \u0026\u0026 docker-php-ext-enable pdo_sqlsrv \u0026\u0026 rm msodbcsql${MS_ODBC_SQL_VERSION}-1_amd64.apk ; fi; apk del .phpize-deps # buildkit","comment":"buildkit.dockerfile.v0"},{"created":"2025-11-01T11:51:46.434769499Z","created_by":"LABEL maintainer=Alejandro Celaya \u003calejandro@alejandrocelaya.com\u003e","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2025-11-01T11:51:58.008853109Z","created_by":"COPY --chown=1001 /etc/shlink . # buildkit","comment":"buildkit.dockerfile.v0"},{"created":"2025-11-01T11:52:01.336194873Z","created_by":"RUN |2 SHLINK_VERSION=4.6.0 SHLINK_RUNTIME=rr /bin/sh -c ln -s /etc/shlink/bin/cli /usr/local/bin/shlink \u0026\u0026 if [ \"$SHLINK_RUNTIME\" == 'rr' ]; then php ./vendor/bin/rr get --no-interaction --no-config --location bin/ \u0026\u0026 chmod +x bin/rr ; fi; # buildkit","comment":"buildkit.dockerfile.v0"},{"created":"2025-11-01T11:52:01.336194873Z","created_by":"EXPOSE [8080/tcp]","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2025-11-01T11:52:01.348789619Z","created_by":"COPY docker/docker-entrypoint.sh docker-entrypoint.sh # buildkit","comment":"buildkit.dockerfile.v0"},{"created":"2025-11-01T11:52:01.358841442Z","created_by":"COPY docker/config/php.ini /usr/local/etc/php/conf.d/ # buildkit","comment":"buildkit.dockerfile.v0"},{"created":"2025-11-01T11:52:01.358841442Z","created_by":"USER 1001","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2025-11-01T11:52:01.358841442Z","created_by":"ENTRYPOINT [\"/bin/sh\" \"./docker-entrypoint.sh\"]","comment":"buildkit.dockerfile.v0","empty_layer":true}],"os":"linux","rootfs":{"type":"layers","diff_ids":["sha256:922ec217407c0fd31cb18b46090bf62e439fb53ecd01f09406d62e25a906e09b","sha256:63c9a0df77641736a7ddf306703cde3ba8c46bf05630ed4eb0bed1e7ea0acbc8","sha256:f98844784c63218d16febb11cfa998ad9014679bb1c5213f42fd95618e24e2a8","sha256:a2c7de5a3e133caaaa5bb1c6c57d52a11daee663a9346648fc1c05e971fb022f","sha256:88c8356b7b02a608486c37d512961fccdb97d541a0d4270886517d3c597a2053","sha256:8d1f4602b5d2b8f4aba527a5dae68f5b2e4251d1543d2c0531a344d93f6f85be","sha256:a83494631c328ce8b00ff6c6ddea98b8dcf17a896451ef36baff034020b5e1e8","sha256:8cddc2ab7cb0cd947ec8aebe0ad9f94f9a3d158715bfcaf031febea70264e9bc","sha256:1980ce2cc9dc48919555c37e0bcb4e4673f88d50dbe4f62db420caf1102ad500","sha256:4fb4be05f9d62bd7d2ddacc2c1cc002371ddb6745b44ff425225fa3474554fba","sha256:7aa41fcbd8f164e1c59bd1ff9cc28a28b3b5a5f9f4d5e2ae65c6538d7463247c","sha256:18d8be5ced4a4e71acf9a8b3744d2333390abde4574cc1c0bfd8a524a0a5c9d0","sha256:fd194c20a495b07e9d8dfee3434ae27c4eb1e83bbc341f30652a169eae8cf9e8","sha256:9bdcaafa326a450cda06b598f88cf06504301b90a3159c101e34221a48adfafe","sha256:697bc5810f27eb987bd84dbeabec19f9815c6563db233a593383407351c5eeee","sha256:cafc33e3ea75b6d896bf3aeaedf2cc65e8cd7b4c450af6e4346619243b46a161","sha256:52dfe567be1138c18fd24cadf5e10d42d8bf681a9960beb481a38470cdc3e637"]}}