Namespace
jamesking
Image / Tag
backend:latest
Content Digest
sha256:e19de8d560f46fd35c8992bbf7b83902b41d2df9db0fcd883b0071bd35c05a5b
Pull command
Details
Created

2026-02-12 18:16:31 +0700

Size

399 MB

Content Digest
Labels
  • dev.frankenphp.base.fingerprint
    c85f8500d8ac1fbb066106d5348caafae6d743540e275877197d51140c0243db
  • org.opencontainers.image.created
    2026-02-12T09:59:00Z
  • org.opencontainers.image.description
    The modern PHP app server
  • org.opencontainers.image.licenses
    MIT
  • org.opencontainers.image.revision
    3aa71fd4282f017b8a953332548b0bf89950119c
  • org.opencontainers.image.source
    https://github.com/php/frankenphp
  • org.opencontainers.image.title
    FrankenPHP
  • org.opencontainers.image.url
    https://frankenphp.dev
  • org.opencontainers.image.vendor
    Kévin Dunglas
  • org.opencontainers.image.version
    v1.11.2

Environment
GODEBUG

cgocheck=0

GPG_KEYS

1198C0117593497A5EC5C199286AF1F9897469DC 49D9AF6BC72A80D6691719C8AA23F5BE9C7097D4 D95C03BC702BE9515344AE3374E44BC9067701A5

PATH

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

PHPIZE_DEPS

autoconf dpkg-dev file g++ gcc libc-dev make pkg-config re2c

PHP_ASC_URL

https://www.php.net/distributions/php-8.5.2.tar.xz.asc

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_INI_DIR

/usr/local/etc/php

PHP_LDFLAGS

-Wl,-O1 -pie

PHP_SHA256

cb75a9b00a2806f7390dd64858ef42a47b443b3475769c8af6af33a18b1381f1

PHP_URL

https://www.php.net/distributions/php-8.5.2.tar.xz

PHP_VERSION

8.5.2

SERVER_NAME

:80

XDG_CONFIG_HOME

/config

XDG_DATA_HOME

/data


Layers

[#000] sha256:b21337b36fa4eeb0769d592155829c259cb3a4e165696af3e7eaff53a5d8432a - 7.36% (29.4 MB)

[#001] sha256:615510a9094da91c6cfb6d4dd3b07be08676c05eb8430266670ca86abb0db5dc - 0.0% (227 Bytes)

[#002] sha256:e24598f8ce57c72cec47e9dd641eafb788d3d121ad1f9d5a3b8bcbba3f528e1d - 28.18% (112 MB)

[#003] sha256:db5c301a694531adf55a62863808f2478ee50f5ba3a8eb897c0e2fc89b3b84ed - 0.0% (227 Bytes)

[#004] sha256:5b5774388e77c707e29b23319a72eafd65c48e6495618a39f6dd96dab7fc8386 - 3.46% (13.8 MB)

[#005] sha256:fb4f121bad6b0c3215f16aa70b012ec05d7b42e4f479fe687ef2d248268a38c6 - 0.0% (490 Bytes)

[#006] sha256:e05e54f9e0e83573770da6696c247abfee88c84a0610867af3cc20d889f40515 - 6.43% (25.6 MB)

[#007] sha256:8443a793088e7824ec451d017995ba824c37dca96f34fbe58b523d6fb4396bda - 0.0% (2.4 KB)

[#008] sha256:9db58122d31b2919def289e4ee7b8e02484a7e69fdba0e8919f16a300c91374e - 0.0% (246 Bytes)

[#009] sha256:35e1be02ecb3c2964895b8067bf15b4af54041ecfffc46e523c172d47a653385 - 0.0% (93 Bytes)

[#010] sha256:4b970d0744bbf1ef35d8d9bf780e2de9f086df1b0c1900151b2e1cfe23d8d780 - 0.04% (171 KB)

[#011] sha256:e4e9ca05136141362d1b547c9d6a11300fcb3b15ee7d16387970fab4e0c9177d - 0.0% (473 Bytes)

[#012] sha256:47082c5001bbbd4a1b3d9b15c985a42b1a94d8cecda2864e7b22728923e41c1c - 0.0% (893 Bytes)

[#013] sha256:c2c4993844e761a1c52143a1fac7dfca048298090b96756f4171b403f1a10bbf - 0.01% (36.6 KB)

[#014] sha256:5fc4194c20e172cdd1f566d44e4497822ed92be3b8a4842300d687dcbff4a897 - 0.04% (159 KB)

[#015] sha256:35f49a61d161c3dd43fd7ccf83c72dacdf0d7ced13d9994bd32d6ae8f70a666a - 0.0% (4.96 KB)

[#016] sha256:b107861c86b279a1d20fe11420a142a3ee2df80ab5b9976f5e28b70341ddb94a - 4.42% (17.6 MB)

[#017] sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 - 0.0% (32 Bytes)

[#018] sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 - 0.0% (32 Bytes)

[#019] sha256:110563a4753e0e800e1cc1860060dcc1574fedc6949925808dfec66706098b22 - 7.22% (28.8 MB)

[#020] sha256:31550e7ef1f9a9964782f2d83ad5ea145a181e65b31a9a532af05bf735f01ac5 - 3.02% (12.1 MB)

[#021] sha256:985b33528adc72f6b8dbbcd622c7a76569abfa1e78d7731afd6e12c988bbd1d0 - 0.25% (1010 KB)

[#022] sha256:6c356c1da89c29c0cc26c242c0ac158b5d898dee63efaf58c7e106077200f9fd - 0.19% (758 KB)

[#023] sha256:59ed5eaf1cfdd6d9a4cd3ddc2a566760165df448544a2c243eaf0fc6ce55d4d5 - 0.0% (811 Bytes)

[#024] sha256:039c9d853db2c2731ea7ea7a1e7c8c31170d221ae4d37bcb10293fb0e6c3ab93 - 0.0% (469 Bytes)

[#025] sha256:934af10df3814954187f41cc1c869bbed91359ff7c61932099350503973c96c2 - 0.01% (22.1 KB)

[#026] sha256:e6b641589b9b3249b2649c28ee3864f7e1de997eb757259b79f5a628a70c630f - 0.01% (26 KB)

[#027] sha256:489c1491a3a8221a8061b57dd30ce7ad31eba73a45c957d08c4199fd569ef7f4 - 34.12% (136 MB)

[#028] sha256:0aee873bf5f6254d8bace39461d163d1f577440c1fe48762cd13ce61aab570c5 - 0.0% (741 Bytes)

[#029] sha256:daa253b6429ca4c968344313e2848f30085eb93481a8c9833ca0fc7b0166eb39 - 5.25% (20.9 MB)


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

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

2026-02-03 02:22:44 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; { echo 'Package: php*'; echo 'Pin: release *'; echo 'Pin-Priority: -1'; } > /etc/apt/preferences.d/no-debian-php # buildkit

2026-02-03 02:23:01 UTC (buildkit.dockerfile.v0)

ENV PHPIZE_DEPS=autoconf dpkg-dev file g++ gcc libc-dev make pkg-config re2c

2026-02-03 02:23:01 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; apt-get update; apt-get install -y --no-install-recommends $PHPIZE_DEPS ca-certificates curl xz-utils ; apt-get dist-clean # buildkit

2026-02-03 02:23:01 UTC (buildkit.dockerfile.v0)

ENV PHP_INI_DIR=/usr/local/etc/php

2026-02-03 02:23:01 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; mkdir -p "$PHP_INI_DIR/conf.d"; [ ! -d /var/www/html ]; mkdir -p /var/www/html; chown www-data:www-data /var/www/html; chmod 1777 /var/www/html # buildkit

2026-02-03 02:23:01 UTC (buildkit.dockerfile.v0)

ENV PHP_CFLAGS=-fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64

2026-02-03 02:23:01 UTC (buildkit.dockerfile.v0)

ENV PHP_CPPFLAGS=-fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64

2026-02-03 02:23:01 UTC (buildkit.dockerfile.v0)

ENV PHP_LDFLAGS=-Wl,-O1 -pie

2026-02-03 02:23:01 UTC (buildkit.dockerfile.v0)

ENV GPG_KEYS=1198C0117593497A5EC5C199286AF1F9897469DC 49D9AF6BC72A80D6691719C8AA23F5BE9C7097D4 D95C03BC702BE9515344AE3374E44BC9067701A5

2026-02-03 02:23:01 UTC (buildkit.dockerfile.v0)

ENV PHP_VERSION=8.5.2

2026-02-03 02:23:01 UTC (buildkit.dockerfile.v0)

ENV PHP_URL=https://www.php.net/distributions/php-8.5.2.tar.xz PHP_ASC_URL=https://www.php.net/distributions/php-8.5.2.tar.xz.asc

2026-02-03 02:23:01 UTC (buildkit.dockerfile.v0)

ENV PHP_SHA256=cb75a9b00a2806f7390dd64858ef42a47b443b3475769c8af6af33a18b1381f1

2026-02-03 02:26:29 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; savedAptMark="$(apt-mark showmanual)"; apt-get update; apt-get install -y --no-install-recommends gnupg; apt-get dist-clean; mkdir -p /usr/src; cd /usr/src; curl -fsSL -o php.tar.xz "$PHP_URL"; if [ -n "$PHP_SHA256" ]; then echo "$PHP_SHA256 *php.tar.xz" | sha256sum -c -; fi; curl -fsSL -o php.tar.xz.asc "$PHP_ASC_URL"; export GNUPGHOME="$(mktemp -d)"; for key in $GPG_KEYS; do gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key"; done; gpg --batch --verify php.tar.xz.asc php.tar.xz; gpgconf --kill all; rm -rf "$GNUPGHOME"; apt-mark auto '.*' > /dev/null; apt-mark manual $savedAptMark > /dev/null; apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false # buildkit

2026-02-03 02:26:29 UTC (buildkit.dockerfile.v0)

COPY docker-php-source /usr/local/bin/ # buildkit

2026-02-03 02:29:11 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; savedAptMark="$(apt-mark showmanual)"; apt-get update; apt-get install -y --no-install-recommends libargon2-dev libcurl4-openssl-dev libonig-dev libreadline-dev libsodium-dev libsqlite3-dev libssl-dev libxml2-dev zlib1g-dev ; export CFLAGS="$PHP_CFLAGS" CPPFLAGS="$PHP_CPPFLAGS" LDFLAGS="$PHP_LDFLAGS" PHP_BUILD_PROVIDER='https://github.com/docker-library/php' PHP_UNAME='Linux - Docker' ; docker-php-source extract; cd /usr/src/php; gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; debMultiarch="$(dpkg-architecture --query DEB_BUILD_MULTIARCH)"; if [ ! -d /usr/include/curl ]; then ln -sT "/usr/include/$debMultiarch/curl" /usr/local/include/curl; fi; test "$PHP_INI_DIR" != "${PHP_INI_DIR%/php}"; ./configure --build="$gnuArch" --sysconfdir="${PHP_INI_DIR%/php}" --with-config-file-path="$PHP_INI_DIR" --with-config-file-scan-dir="$PHP_INI_DIR/conf.d" --enable-option-checking=fatal --with-mhash --with-pic --enable-mbstring --enable-mysqlnd --with-password-argon2 --with-sodium=shared --with-pdo-sqlite=/usr --with-sqlite3=/usr --with-curl --with-iconv --with-openssl --with-readline --with-zlib --enable-phpdbg --enable-phpdbg-readline --with-pear --with-libdir="lib/$debMultiarch" --enable-embed --enable-zts --disable-zend-signals ; make -j "$(nproc)"; find -type f -name '*.a' -delete; make install; find /usr/local -type f -perm '/0111' -exec sh -euxc ' strip --strip-all "$@" || : ' -- '{}' + ; make clean; cp -v php.ini-* "$PHP_INI_DIR/"; cd /; docker-php-source delete; apt-mark auto '.*' > /dev/null; [ -z "$savedAptMark" ] || apt-mark manual $savedAptMark; find /usr/local -type f -executable -exec ldd '{}' ';' | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); printf "*%s\n", so }' | sort -u | xargs -rt dpkg-query --search | awk 'sub(":$", "", $1) { print $1 }' | sort -u | xargs -r apt-mark manual ; apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; apt-get dist-clean; pecl update-channels; rm -rf /tmp/pear ~/.pearrc; php --version # buildkit

2026-02-03 02:29:11 UTC (buildkit.dockerfile.v0)

COPY docker-php-ext-* docker-php-entrypoint /usr/local/bin/ # buildkit

2026-02-03 02:29:11 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c docker-php-ext-enable sodium # buildkit

2026-02-03 02:29:11 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["docker-php-entrypoint"]

2026-02-03 02:29:11 UTC (buildkit.dockerfile.v0)

CMD ["php" "-a"]

2026-02-12 09:59:11 UTC (buildkit.dockerfile.v0)

WORKDIR /app

2026-02-12 09:59:15 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c apt-get update && apt-get -y --no-install-recommends install mailcap libcap2-bin && apt-get clean && rm -rf /var/lib/apt/lists/* # buildkit

2026-02-12 09:59:15 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; mkdir -p /app/public /config/caddy /data/caddy /etc/caddy /etc/frankenphp; sed -i 's/php/frankenphp run/g' /usr/local/bin/docker-php-entrypoint; echo '<?php phpinfo();' > /app/public/index.php # buildkit

2026-02-12 09:59:02 UTC (buildkit.dockerfile.v0)

COPY caddy/frankenphp/Caddyfile /etc/caddy/Caddyfile # buildkit

2026-02-12 09:59:15 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c ln /etc/caddy/Caddyfile /etc/frankenphp/Caddyfile && curl -sSLf -o /usr/local/bin/install-php-extensions https://github.com/mlocati/docker-php-extension-installer/releases/latest/download/install-php-extensions && chmod +x /usr/local/bin/install-php-extensions # buildkit

2026-02-12 10:01:04 UTC (buildkit.dockerfile.v0)

CMD ["--config" "/etc/frankenphp/Caddyfile" "--adapter" "caddyfile"]

2026-02-12 10:01:04 UTC (buildkit.dockerfile.v0)

HEALTHCHECK &{["CMD-SHELL" "curl -f http://localhost:2019/metrics || exit 1"] "0s" "0s" "0s" "0s" '\x00'}

2026-02-12 10:01:04 UTC (buildkit.dockerfile.v0)

ENV XDG_CONFIG_HOME=/config

2026-02-12 10:01:04 UTC (buildkit.dockerfile.v0)

ENV XDG_DATA_HOME=/data

2026-02-12 10:01:04 UTC (buildkit.dockerfile.v0)

EXPOSE [80/tcp]

2026-02-12 10:01:04 UTC (buildkit.dockerfile.v0)

EXPOSE [443/tcp]

2026-02-12 10:01:04 UTC (buildkit.dockerfile.v0)

EXPOSE [443/udp]

2026-02-12 10:01:04 UTC (buildkit.dockerfile.v0)

EXPOSE [2019/tcp]

2026-02-12 10:01:04 UTC (buildkit.dockerfile.v0)

LABEL org.opencontainers.image.title=FrankenPHP

2026-02-12 10:01:04 UTC (buildkit.dockerfile.v0)

LABEL org.opencontainers.image.description=The modern PHP app server

2026-02-12 10:01:04 UTC (buildkit.dockerfile.v0)

LABEL org.opencontainers.image.url=https://frankenphp.dev

2026-02-12 10:01:04 UTC (buildkit.dockerfile.v0)

LABEL org.opencontainers.image.source=https://github.com/php/frankenphp

2026-02-12 10:01:04 UTC (buildkit.dockerfile.v0)

LABEL org.opencontainers.image.licenses=MIT

2026-02-12 10:01:04 UTC (buildkit.dockerfile.v0)

LABEL org.opencontainers.image.vendor=Kévin Dunglas

2026-02-12 10:01:04 UTC (buildkit.dockerfile.v0)

ENV GODEBUG=cgocheck=0

2026-02-12 10:01:04 UTC (buildkit.dockerfile.v0)

COPY /usr/local/lib/libwatcher* /usr/local/lib/ # buildkit

2026-02-12 10:01:04 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c apt-get install -y --no-install-recommends libstdc++6 && apt-get clean && ldconfig # buildkit

2026-02-12 10:01:04 UTC (buildkit.dockerfile.v0)

COPY /usr/local/bin/frankenphp /usr/local/bin/frankenphp # buildkit

2026-02-12 10:01:05 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c setcap cap_net_bind_service=+ep /usr/local/bin/frankenphp && frankenphp version && frankenphp build-info # buildkit

2026-02-12 17:41:26 +0700 (buildkit.dockerfile.v0)

WORKDIR /app

2026-02-12 17:42:16 +0700 (buildkit.dockerfile.v0)

RUN /bin/sh -c apt update -y; apt install -y supervisor # buildkit

2026-02-12 17:47:52 +0700 (buildkit.dockerfile.v0)

ENV SERVER_NAME=:80

2026-02-12 17:47:52 +0700 (buildkit.dockerfile.v0)

RUN /bin/sh -c install-php-extensions mbstring openssl session pdo pdo_pgsql tokenizer sodium gd zip xml iconv simplexml xmlreader zlib exif fileinfo pcntl ftp; # buildkit

2026-02-12 18:14:30 +0700 (buildkit.dockerfile.v0)

COPY . . # buildkit

2026-02-12 18:14:33 +0700 (buildkit.dockerfile.v0)

COPY /usr/bin/composer /usr/bin/composer # buildkit

2026-02-12 18:14:34 +0700 (buildkit.dockerfile.v0)

COPY ./Docker/Caddyfile /etc/caddy/Caddyfile # buildkit

2026-02-12 18:14:36 +0700 (buildkit.dockerfile.v0)

COPY ./Docker/supervisord.conf /etc/supervisor/conf.d/supervisord.conf # buildkit

2026-02-12 18:14:37 +0700 (buildkit.dockerfile.v0)

COPY ./Docker/php.ini /usr/local/etc/php/php.ini # buildkit

2026-02-12 18:14:37 +0700 (buildkit.dockerfile.v0)

SHELL [/bin/bash --login -c]

2026-02-12 18:14:51 +0700 (buildkit.dockerfile.v0)

RUN /bin/bash --login -c curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash # buildkit

2026-02-12 18:15:47 +0700 (buildkit.dockerfile.v0)

RUN /bin/bash --login -c nvm install --lts; npm install chokidar; # buildkit

2026-02-12 18:15:51 +0700 (buildkit.dockerfile.v0)

RUN /bin/bash --login -c mkdir -p /app/bootstrap/cache; chmod -R 755 /app/bootstrap/cache; chmod +x /app/Docker/entrypoint.sh; # buildkit

2026-02-12 18:16:31 +0700 (buildkit.dockerfile.v0)

RUN /bin/bash --login -c composer install --no-dev --optimize-autoloader --no-interaction # buildkit

2026-02-12 18:16:31 +0700 (buildkit.dockerfile.v0)

ENTRYPOINT ["/app/Docker/entrypoint.sh"]

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