2026-05-11 07:15:36 UTC
253 MB
/etc/apache2
APACHE_ENVVARS/etc/apache2/envvars
GPG_KEYSAFD8691FDAEDF03BDF6E460563F15A9B715376CA 9D7F99A0CB8F05C8A6958D6256A97AF7600A39A6 0616E93D95AF471243E26761770426E17EBBB3DD
PATH/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PHPIZE_DEPSautoconf dpkg-dev file g++ gcc libc-dev make pkg-config re2c
PHP_ASC_URLhttps://www.php.net/distributions/php-8.4.21.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_SHA2567cf5d8ab12c3b2016875bcfaec71bef1ef0b07bed6148f2c447577074431f984
PHP_URLhttps://www.php.net/distributions/php-8.4.21.tar.xz
PHP_VERSION8.4.21
ROUNDCUBEMAIL_KEYIDF3E4 C04B B3DB 5D42 15C4 5F7F 5AB2 BAA1 41C4 F7D5
ROUNDCUBEMAIL_VERSION1.6.15
[#000] sha256:43e2ffbaa23260ffb4e3de716920f2ed9e6af56e465ca1233a2d84c2cc1cf005 - 11.81% (29.8 MB)
[#001] sha256:5d66ef76b78874efcdc242d4d65c7f9306f5a46ad815c875c0e7dc006f054819 - 0.0% (224 Bytes)
[#002] sha256:4afc4da23c2087fa84d00d7d149644a6f451eff92e1c7e89976676498d7dff6d - 43.83% (111 MB)
[#003] sha256:1dd493f3a0ec34483b700706b0a4a0de61919213fe25569e117b51bb957a062a - 0.0% (226 Bytes)
[#004] sha256:0699e45d616b0421c76983d8da8cf5c44ce9fd7a6eb7a5e82dad49be7036828b - 1.68% (4.25 MB)
[#005] sha256:6e73210f4866f7da1690d8aa68703add8f383afe80a53525be839a6432f0868f - 0.0% (433 Bytes)
[#006] sha256:c8ade2a1fefb46a18c64fdef70b1440f71901ce6118a268e6f76026da15d8b10 - 0.0% (485 Bytes)
[#007] sha256:bf52106e2df18fd2de2c59845dea746d84f439df8a086a29ee974281f40e2624 - 5.24% (13.2 MB)
[#008] sha256:07149ba884fc28be9a635dfc384bc41ed88e53fb142fc4e5fb188b145d379659 - 0.0% (490 Bytes)
[#009] sha256:f468d438694002f87661592ef2517e90727d6a4c7f658603454c1573c7d9af91 - 5.28% (13.3 MB)
[#010] sha256:6166e93872fa5f0aec5486df4733f41157670588cc7319af3db8ffcca05181ba - 0.0% (2.41 KB)
[#011] sha256:7e6265a2167e245580f9e7d7a9d90db68f597bc0f3e9f0e54115166b2e350c35 - 0.0% (251 Bytes)
[#012] sha256:95fab1bf0a7bb8d071cc97448fcd03e60b5380d7bb1c28f71eb424851d0c8a0f - 0.0% (245 Bytes)
[#013] sha256:953dca9fa54e24334ea5516826b7c56b56bb71ff3e3757ca0182ea0bde44bf65 - 0.0% (893 Bytes)
[#014] sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 - 0.0% (32 Bytes)
[#015] sha256:8c83dcd19ef8da470621db0d8759779ff441f2c3db7485ef6edb185b3ffda48f - 6.3% (15.9 MB)
[#016] sha256:65285b99a6aea81162b8ef765190a957ea63cca6eaeb471cff7b8b89340a4435 - 23.02% (58.2 MB)
[#017] sha256:56b73b1301e0f7792d65760e928e43fad13483b4a28bf8fcd5bbdea1fd47f3db - 0.3% (772 KB)
[#018] sha256:b530b3788746b04476d5c084d37b31394f5da38d0dec735f9a072277c6b7676b - 0.01% (22.2 KB)
[#019] sha256:474404c17f826efc5074b313e64a393739b314694b873306371ffba01d699fe7 - 0.0% (364 Bytes)
[#020] sha256:659cc922d9d1131cd8b79886b7090ff24632894336fab43295cb0eb6fc34a3bc - 0.0% (2.79 KB)
[#021] sha256:2740f597ae550bfd0c83d65dcebe42368f8b7551ca4c1baa6145e3b4c7940849 - 2.2% (5.56 MB)
[#022] sha256:2ba3130cc480fbcae9b389240a9a2c3257f88294c1a1afd89a894b1c3f83ceed - 0.33% (845 KB)
[#023] sha256:7734d741bf4c1545c795bba5452edb715742f7dcec0787eae6a0cb60a471331c - 0.0% (319 Bytes)
[#024] sha256:8c57002c7e2517299c5ffd2ccab4a53029ea288bc752569ce96f3879704c5099 - 0.0% (887 Bytes)
# debian.sh --arch 'i386' out/ 'trixie' '@1777939200'
2026-05-08 19:17:35 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-05-08 19:17:54 UTC (buildkit.dockerfile.v0)ENV PHPIZE_DEPS=autoconf dpkg-dev file g++ gcc libc-dev make pkg-config re2c
2026-05-08 19:17:54 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-05-08 19:17:54 UTC (buildkit.dockerfile.v0)ENV PHP_INI_DIR=/usr/local/etc/php
2026-05-08 19:17:54 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-05-08 19:17:54 UTC (buildkit.dockerfile.v0)ENV APACHE_CONFDIR=/etc/apache2
2026-05-08 19:17:54 UTC (buildkit.dockerfile.v0)ENV APACHE_ENVVARS=/etc/apache2/envvars
2026-05-08 19:22:09 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c set -eux; apt-get update; apt-get install -y --no-install-recommends apache2; apt-get dist-clean; sed -ri 's/^export ([^=]+)=(.*)$/: ${\1:=\2}\nexport \1/' "$APACHE_ENVVARS"; . "$APACHE_ENVVARS"; for dir in "$APACHE_LOCK_DIR" "$APACHE_RUN_DIR" "$APACHE_LOG_DIR" "$APACHE_RUN_DIR/socks" ; do rm -rvf "$dir"; mkdir -p "$dir"; chown "$APACHE_RUN_USER:$APACHE_RUN_GROUP" "$dir"; chmod 1777 "$dir"; done; rm -rvf /var/www/html/*; ln -sfT /dev/stderr "$APACHE_LOG_DIR/error.log"; ln -sfT /dev/stdout "$APACHE_LOG_DIR/access.log"; ln -sfT /dev/stdout "$APACHE_LOG_DIR/other_vhosts_access.log"; chown -R --no-dereference "$APACHE_RUN_USER:$APACHE_RUN_GROUP" "$APACHE_LOG_DIR" # buildkit
2026-05-08 19:22:09 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c a2dismod mpm_event && a2enmod mpm_prefork # buildkit
2026-05-08 19:22:09 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c { echo '<FilesMatch \.php$>'; echo '\tSetHandler application/x-httpd-php'; echo '</FilesMatch>'; echo; echo 'DirectoryIndex disabled'; echo 'DirectoryIndex index.php index.html'; echo; echo '<Directory /var/www/>'; echo '\tOptions -Indexes'; echo '\tAllowOverride All'; echo '</Directory>'; } | tee "$APACHE_CONFDIR/conf-available/docker-php.conf" && a2enconf docker-php # buildkit
2026-05-08 19:22:09 UTC (buildkit.dockerfile.v0)ENV PHP_CFLAGS=-fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
2026-05-08 19:22:09 UTC (buildkit.dockerfile.v0)ENV PHP_CPPFLAGS=-fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
2026-05-08 19:22:09 UTC (buildkit.dockerfile.v0)ENV PHP_LDFLAGS=-Wl,-O1 -pie
2026-05-08 19:22:09 UTC (buildkit.dockerfile.v0)ENV GPG_KEYS=AFD8691FDAEDF03BDF6E460563F15A9B715376CA 9D7F99A0CB8F05C8A6958D6256A97AF7600A39A6 0616E93D95AF471243E26761770426E17EBBB3DD
2026-05-08 19:22:09 UTC (buildkit.dockerfile.v0)ENV PHP_VERSION=8.4.21
2026-05-08 19:22:09 UTC (buildkit.dockerfile.v0)ENV PHP_URL=https://www.php.net/distributions/php-8.4.21.tar.xz PHP_ASC_URL=https://www.php.net/distributions/php-8.4.21.tar.xz.asc
2026-05-08 19:22:09 UTC (buildkit.dockerfile.v0)ENV PHP_SHA256=7cf5d8ab12c3b2016875bcfaec71bef1ef0b07bed6148f2c447577074431f984
2026-05-08 19:22:20 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-05-08 19:22:20 UTC (buildkit.dockerfile.v0)COPY docker-php-source /usr/local/bin/ # buildkit
2026-05-08 19:25:34 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c set -eux; savedAptMark="$(apt-mark showmanual)"; apt-get update; apt-get install -y --no-install-recommends apache2-dev 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 --disable-phpdbg --with-pear --with-libdir="lib/$debMultiarch" --disable-cgi --with-apxs2 ; 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-05-08 19:25:34 UTC (buildkit.dockerfile.v0)COPY docker-php-ext-* docker-php-entrypoint /usr/local/bin/ # buildkit
2026-05-08 19:25:34 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c docker-php-ext-enable opcache # buildkit
2026-05-08 19:25:35 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c docker-php-ext-enable sodium # buildkit
2026-05-08 19:25:35 UTC (buildkit.dockerfile.v0)ENTRYPOINT ["docker-php-entrypoint"]
2026-05-08 19:25:35 UTC (buildkit.dockerfile.v0)STOPSIGNAL SIGWINCH
2026-05-08 19:25:35 UTC (buildkit.dockerfile.v0)COPY apache2-foreground /usr/local/bin/ # buildkit
2026-05-08 19:25:35 UTC (buildkit.dockerfile.v0)WORKDIR /var/www/html
2026-05-08 19:25:35 UTC (buildkit.dockerfile.v0)EXPOSE map[80/tcp:{}]
2026-05-08 19:25:35 UTC (buildkit.dockerfile.v0)CMD ["apache2-foreground"]
2026-05-11 06:14:12 UTC (buildkit.dockerfile.v0)LABEL maintainer=Thomas Bruederli <[email protected]>
2026-05-11 06:14:12 UTC (buildkit.dockerfile.v0)LABEL org.opencontainers.image.source=https://github.com/roundcube/roundcubemail-docker
2026-05-11 06:14:12 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c apt-get update && apt-get -y upgrade && apt-get clean # buildkit
2026-05-11 06:18:22 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c set -ex; if [ "apache" = "apache" ]; then a2enmod rewrite; sed -i -e 's|\(DocumentRoot /var/www/html\)$|\1/public_html|' /etc/apache2/sites-available/000-default.conf; fi; apt-get update; savedAptMark="$(apt-mark showmanual)"; apt-get install -y --no-install-recommends libfreetype6-dev libicu-dev libjpeg62-turbo-dev libldap2-dev libsasl2-dev libmagickwand-dev libpng-dev libpq-dev libsqlite3-dev libzip-dev libpspell-dev libonig-dev libldap-common ; fetchDeps="gnupg locales libc-l10n"; installDeps="aspell aspell-en rsync unzip"; apt-get install -y --no-install-recommends $installDeps $fetchDeps ; pecl bundle -d /usr/src/php/ext imagick; pecl bundle -d /usr/src/php/ext redis; pecl bundle -d /usr/src/php/ext pspell; debMultiarch="$(dpkg-architecture --query DEB_BUILD_MULTIARCH)"; docker-php-ext-configure gd --with-jpeg --with-freetype; docker-php-ext-configure ldap --with-libdir="lib/$debMultiarch" --with-ldap-sasl; docker-php-ext-install exif gd intl ldap pdo_mysql pdo_pgsql pdo_sqlite zip pspell imagick redis ; docker-php-ext-enable imagick opcache redis; docker-php-source delete; rm -r /tmp/pear; php -m; apt-mark auto '.*' > /dev/null; apt-mark manual $savedAptMark $installDeps $fetchDeps; extdir="$(php -r 'echo ini_get("extension_dir");')"; ldd "$extdir"/*.so | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); print so }' | sort -u | xargs -r dpkg-query -S | cut -d: -f1 | sort -u | xargs -rt apt-mark manual; apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; rm -rf /var/lib/apt/lists/*; ldd "$extdir"/*.so | grep -qzv "=> not found" || (echo "Sanity check failed: missing libraries:"; ldd "$extdir"/*.so | grep " => not found"; exit 1); ldd "$extdir"/*.so | grep -q "libzip.so.* => .*/libzip.so.*" || (echo "Sanity check failed: libzip.so is not referenced"; ldd "$extdir"/*.so; exit 1); err="$(php --version 3>&1 1>&2 2>&3)"; [ -z "$err" ] || (echo "Sanity check failed: php returned errors; $err"; exit 1;); curl -fL https://raw.githubusercontent.com/vishnubob/wait-for-it/81b1373f17855a4dc21156cfe1694c31d7d1792e/wait-for-it.sh -o /wait-for-it.sh; chmod +x /wait-for-it.sh; # buildkit
2026-05-11 06:18:22 UTC (buildkit.dockerfile.v0)COPY /usr/bin/composer /usr/bin/composer # buildkit
2026-05-11 06:18:22 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c mv "$PHP_INI_DIR/php.ini-production" "$PHP_INI_DIR/php.ini" # buildkit
2026-05-11 06:18:22 UTC (buildkit.dockerfile.v0)COPY php.ini /usr/local/etc/php/conf.d/roundcube-defaults.ini # buildkit
2026-05-11 06:18:22 UTC (buildkit.dockerfile.v0)COPY --chmod=0755 docker-entrypoint.sh / # buildkit
2026-05-11 06:18:22 UTC (buildkit.dockerfile.v0)ENV ROUNDCUBEMAIL_VERSION=1.6.15
2026-05-11 06:18:22 UTC (buildkit.dockerfile.v0)ENV ROUNDCUBEMAIL_KEYID=F3E4 C04B B3DB 5D42 15C4 5F7F 5AB2 BAA1 41C4 F7D5
2026-05-11 06:18:24 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c set -ex; curl -o roundcubemail.tar.gz -fSL https://github.com/roundcube/roundcubemail/releases/download/${ROUNDCUBEMAIL_VERSION}/roundcubemail-${ROUNDCUBEMAIL_VERSION}-complete.tar.gz; curl -o roundcubemail.tar.gz.asc -fSL https://github.com/roundcube/roundcubemail/releases/download/${ROUNDCUBEMAIL_VERSION}/roundcubemail-${ROUNDCUBEMAIL_VERSION}-complete.tar.gz.asc; export GNUPGHOME="$(mktemp -d)"; curl -fSL https://roundcube.net/download/pubkey.asc -o /tmp/pubkey.asc; LC_ALL=C.UTF-8 gpg -n --show-keys --with-fingerprint --keyid-format=long /tmp/pubkey.asc | if [ $(grep -c -o 'Key fingerprint') != 1 ]; then echo 'The key file should contain only one GPG key'; exit 1; fi; LC_ALL=C.UTF-8 gpg -n --show-keys --with-fingerprint --keyid-format=long /tmp/pubkey.asc | if [ $(grep -c -o "${ROUNDCUBEMAIL_KEYID}") != 1 ]; then echo 'The key ID should be the roundcube one'; exit 1; fi; gpg --batch --import /tmp/pubkey.asc; rm /tmp/pubkey.asc; gpg --batch --verify roundcubemail.tar.gz.asc roundcubemail.tar.gz; gpgconf --kill all; mkdir /usr/src/roundcubemail; tar -xf roundcubemail.tar.gz -C /usr/src/roundcubemail --strip-components=1 --no-same-owner; rm -r "$GNUPGHOME" roundcubemail.tar.gz.asc roundcubemail.tar.gz; rm -rf /usr/src/roundcubemail/installer; chown -R www-data:www-data /usr/src/roundcubemail/logs; mkdir -p /var/roundcube/config /var/roundcube/enigma; chown -R www-data:www-data /var/roundcube; chmod +t /var/roundcube # buildkit
2026-05-11 06:18:24 UTC (buildkit.dockerfile.v0)ENTRYPOINT ["/docker-entrypoint.sh"]
2026-05-11 06:18:24 UTC (buildkit.dockerfile.v0)CMD ["apache2-foreground"]
2026-05-11 07:15:36 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c echo "en_US.UTF-8 UTF-8" > /etc/locale.gen; /usr/sbin/locale-gen # buildkit
2026-05-11 07:15:36 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c sed -i 's/^Listen 80$/Listen 8000/' /etc/apache2/ports.conf # buildkit
2026-05-11 07:15:36 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c sed -i /etc/apache2/sites-enabled/000-default.conf -e 's/:80>/:8000>/' # buildkit
2026-05-11 07:15:36 UTC (buildkit.dockerfile.v0)EXPOSE [8000/tcp]
2026-05-11 07:15:36 UTC (buildkit.dockerfile.v0)USER 33:33
2026-05-11 07:15:08 UTC
252 MB
/etc/apache2
APACHE_ENVVARS/etc/apache2/envvars
GPG_KEYSAFD8691FDAEDF03BDF6E460563F15A9B715376CA 9D7F99A0CB8F05C8A6958D6256A97AF7600A39A6 0616E93D95AF471243E26761770426E17EBBB3DD
PATH/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PHPIZE_DEPSautoconf dpkg-dev file g++ gcc libc-dev make pkg-config re2c
PHP_ASC_URLhttps://www.php.net/distributions/php-8.4.21.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_SHA2567cf5d8ab12c3b2016875bcfaec71bef1ef0b07bed6148f2c447577074431f984
PHP_URLhttps://www.php.net/distributions/php-8.4.21.tar.xz
PHP_VERSION8.4.21
ROUNDCUBEMAIL_KEYIDF3E4 C04B B3DB 5D42 15C4 5F7F 5AB2 BAA1 41C4 F7D5
ROUNDCUBEMAIL_VERSION1.6.15
[#000] sha256:57fb71246055257a374deb7564ceca10f43c2352572b501efc08add5d24ebb61 - 11.29% (28.4 MB)
[#001] sha256:55c83a3a383680230e9fea033b69c5d9f72dbe1ec990c01340a9e24c804eadc4 - 0.0% (226 Bytes)
[#002] sha256:505bd10ca222f1de700daec4d11684e64ae35da8c91aaf5f49914429c2c955a3 - 44.67% (112 MB)
[#003] sha256:4c445e431149c32e999b77cb275ff826e31107d446449bb8f86e95f98650839f - 0.0% (227 Bytes)
[#004] sha256:6fc3a872bcf993b80632e50e41d5c049aa001f0e7c40d1604bfed1c80785cb1d - 1.6% (4.03 MB)
[#005] sha256:027ccde2134a942690e2109b317f5c02a70538d90bbde8a7ad977fb37c6c82b3 - 0.0% (430 Bytes)
[#006] sha256:93a3b5f9fd2ba61b5a015a47797f20881befa49f6d6c25d1c1c9d01b43a3798c - 0.0% (480 Bytes)
[#007] sha256:3412fd2d426b7ca1213821f9a033d53995ff24ddd3e2b185901b4a8557bc8c9a - 5.26% (13.2 MB)
[#008] sha256:2e9c2764a58ce008e79fa5a0f37c8b1fcc4079d8c825eaa9b57ed3bd5935deb2 - 0.0% (488 Bytes)
[#009] sha256:51db6a924667910c8870530e99e428bcbf4e7246e76b20538e704dfc4c8b41c6 - 5.19% (13 MB)
[#010] sha256:cb80be36e2179414fe984190bb80a2f6c152b5b4240ae67c9c3b745cbe842ecb - 0.0% (2.4 KB)
[#011] sha256:4289042e69828afa6813a6185780cdace33051f513bc816390cddbef662c29f5 - 0.0% (253 Bytes)
[#012] sha256:af8d2ecb675831f6f5680f4fce8a2d00c549c628c4678be16ba70aeffc8c9d78 - 0.0% (248 Bytes)
[#013] sha256:ee80c35d6d105eff5e0e1953f8475a2b0efa748b2aada60454d86647de5cda35 - 0.0% (890 Bytes)
[#014] sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 - 0.0% (32 Bytes)
[#015] sha256:6aeb1f9a3410dd39df5c0c1de63d7208cc313972344658ee07f9c027155ae114 - 6.26% (15.8 MB)
[#016] sha256:956efddc1bcceeed2f56a2d33957a2ceb5148a83e097698e00f4e0248efb77a8 - 22.87% (57.5 MB)
[#017] sha256:bef39925ff08e5da824d3ded71b1b5c42df44402c4494e95d0b563bbc5e7e75c - 0.3% (772 KB)
[#018] sha256:44b5e60e105ade9ac29745eca52622e4af011fc1cfaac86b07bbfbd47053ccbb - 0.01% (22.2 KB)
[#019] sha256:5546a4038af99939e5bb46530a91fe365f2f6526adadd31eb9adf3e027e022ba - 0.0% (368 Bytes)
[#020] sha256:659cc922d9d1131cd8b79886b7090ff24632894336fab43295cb0eb6fc34a3bc - 0.0% (2.79 KB)
[#021] sha256:0a2240cd3c4f6f533ad9303d16b88a1213b98e6317147c102df548bdd3a9e5e3 - 2.21% (5.56 MB)
[#022] sha256:a86f65bc7b53ac4c8d71c4851065259c014af2228cab6553ea64bfe69bfdf3fb - 0.33% (845 KB)
[#023] sha256:c0548437f70f2f9c35a8a7c590c99eb913cb4c707b20f2b2f0b89494540d40d9 - 0.0% (319 Bytes)
[#024] sha256:07a1bb1af1d4e92fb68f70af6400c50790092ebf3965cc3813e4af129f3f3311 - 0.0% (888 Bytes)
# debian.sh --arch 'amd64' out/ 'trixie' '@1777939200'
2026-05-08 19:23:23 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-05-08 19:23:39 UTC (buildkit.dockerfile.v0)ENV PHPIZE_DEPS=autoconf dpkg-dev file g++ gcc libc-dev make pkg-config re2c
2026-05-08 19:23:39 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-05-08 19:23:39 UTC (buildkit.dockerfile.v0)ENV PHP_INI_DIR=/usr/local/etc/php
2026-05-08 19:23:39 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-05-08 19:23:39 UTC (buildkit.dockerfile.v0)ENV APACHE_CONFDIR=/etc/apache2
2026-05-08 19:23:39 UTC (buildkit.dockerfile.v0)ENV APACHE_ENVVARS=/etc/apache2/envvars
2026-05-08 19:23:45 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c set -eux; apt-get update; apt-get install -y --no-install-recommends apache2; apt-get dist-clean; sed -ri 's/^export ([^=]+)=(.*)$/: ${\1:=\2}\nexport \1/' "$APACHE_ENVVARS"; . "$APACHE_ENVVARS"; for dir in "$APACHE_LOCK_DIR" "$APACHE_RUN_DIR" "$APACHE_LOG_DIR" "$APACHE_RUN_DIR/socks" ; do rm -rvf "$dir"; mkdir -p "$dir"; chown "$APACHE_RUN_USER:$APACHE_RUN_GROUP" "$dir"; chmod 1777 "$dir"; done; rm -rvf /var/www/html/*; ln -sfT /dev/stderr "$APACHE_LOG_DIR/error.log"; ln -sfT /dev/stdout "$APACHE_LOG_DIR/access.log"; ln -sfT /dev/stdout "$APACHE_LOG_DIR/other_vhosts_access.log"; chown -R --no-dereference "$APACHE_RUN_USER:$APACHE_RUN_GROUP" "$APACHE_LOG_DIR" # buildkit
2026-05-08 19:23:45 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c a2dismod mpm_event && a2enmod mpm_prefork # buildkit
2026-05-08 19:23:45 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c { echo '<FilesMatch \.php$>'; echo '\tSetHandler application/x-httpd-php'; echo '</FilesMatch>'; echo; echo 'DirectoryIndex disabled'; echo 'DirectoryIndex index.php index.html'; echo; echo '<Directory /var/www/>'; echo '\tOptions -Indexes'; echo '\tAllowOverride All'; echo '</Directory>'; } | tee "$APACHE_CONFDIR/conf-available/docker-php.conf" && a2enconf docker-php # buildkit
2026-05-08 19:23:45 UTC (buildkit.dockerfile.v0)ENV PHP_CFLAGS=-fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
2026-05-08 19:23:45 UTC (buildkit.dockerfile.v0)ENV PHP_CPPFLAGS=-fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
2026-05-08 19:23:45 UTC (buildkit.dockerfile.v0)ENV PHP_LDFLAGS=-Wl,-O1 -pie
2026-05-08 19:23:45 UTC (buildkit.dockerfile.v0)ENV GPG_KEYS=AFD8691FDAEDF03BDF6E460563F15A9B715376CA 9D7F99A0CB8F05C8A6958D6256A97AF7600A39A6 0616E93D95AF471243E26761770426E17EBBB3DD
2026-05-08 19:23:45 UTC (buildkit.dockerfile.v0)ENV PHP_VERSION=8.4.21
2026-05-08 19:23:45 UTC (buildkit.dockerfile.v0)ENV PHP_URL=https://www.php.net/distributions/php-8.4.21.tar.xz PHP_ASC_URL=https://www.php.net/distributions/php-8.4.21.tar.xz.asc
2026-05-08 19:23:45 UTC (buildkit.dockerfile.v0)ENV PHP_SHA256=7cf5d8ab12c3b2016875bcfaec71bef1ef0b07bed6148f2c447577074431f984
2026-05-08 19:23:55 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-05-08 19:23:55 UTC (buildkit.dockerfile.v0)COPY docker-php-source /usr/local/bin/ # buildkit
2026-05-08 19:26:35 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c set -eux; savedAptMark="$(apt-mark showmanual)"; apt-get update; apt-get install -y --no-install-recommends apache2-dev 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 --disable-phpdbg --with-pear --with-libdir="lib/$debMultiarch" --disable-cgi --with-apxs2 ; 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-05-08 19:26:35 UTC (buildkit.dockerfile.v0)COPY docker-php-ext-* docker-php-entrypoint /usr/local/bin/ # buildkit
2026-05-08 19:26:35 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c docker-php-ext-enable opcache # buildkit
2026-05-08 19:26:35 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c docker-php-ext-enable sodium # buildkit
2026-05-08 19:26:35 UTC (buildkit.dockerfile.v0)ENTRYPOINT ["docker-php-entrypoint"]
2026-05-08 19:26:35 UTC (buildkit.dockerfile.v0)STOPSIGNAL SIGWINCH
2026-05-08 19:26:35 UTC (buildkit.dockerfile.v0)COPY apache2-foreground /usr/local/bin/ # buildkit
2026-05-08 19:26:35 UTC (buildkit.dockerfile.v0)WORKDIR /var/www/html
2026-05-08 19:26:35 UTC (buildkit.dockerfile.v0)EXPOSE map[80/tcp:{}]
2026-05-08 19:26:35 UTC (buildkit.dockerfile.v0)CMD ["apache2-foreground"]
2026-05-11 06:10:18 UTC (buildkit.dockerfile.v0)LABEL maintainer=Thomas Bruederli <[email protected]>
2026-05-11 06:10:18 UTC (buildkit.dockerfile.v0)LABEL org.opencontainers.image.source=https://github.com/roundcube/roundcubemail-docker
2026-05-11 06:10:18 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c apt-get update && apt-get -y upgrade && apt-get clean # buildkit
2026-05-11 06:12:39 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c set -ex; if [ "apache" = "apache" ]; then a2enmod rewrite; sed -i -e 's|\(DocumentRoot /var/www/html\)$|\1/public_html|' /etc/apache2/sites-available/000-default.conf; fi; apt-get update; savedAptMark="$(apt-mark showmanual)"; apt-get install -y --no-install-recommends libfreetype6-dev libicu-dev libjpeg62-turbo-dev libldap2-dev libsasl2-dev libmagickwand-dev libpng-dev libpq-dev libsqlite3-dev libzip-dev libpspell-dev libonig-dev libldap-common ; fetchDeps="gnupg locales libc-l10n"; installDeps="aspell aspell-en rsync unzip"; apt-get install -y --no-install-recommends $installDeps $fetchDeps ; pecl bundle -d /usr/src/php/ext imagick; pecl bundle -d /usr/src/php/ext redis; pecl bundle -d /usr/src/php/ext pspell; debMultiarch="$(dpkg-architecture --query DEB_BUILD_MULTIARCH)"; docker-php-ext-configure gd --with-jpeg --with-freetype; docker-php-ext-configure ldap --with-libdir="lib/$debMultiarch" --with-ldap-sasl; docker-php-ext-install exif gd intl ldap pdo_mysql pdo_pgsql pdo_sqlite zip pspell imagick redis ; docker-php-ext-enable imagick opcache redis; docker-php-source delete; rm -r /tmp/pear; php -m; apt-mark auto '.*' > /dev/null; apt-mark manual $savedAptMark $installDeps $fetchDeps; extdir="$(php -r 'echo ini_get("extension_dir");')"; ldd "$extdir"/*.so | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); print so }' | sort -u | xargs -r dpkg-query -S | cut -d: -f1 | sort -u | xargs -rt apt-mark manual; apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; rm -rf /var/lib/apt/lists/*; ldd "$extdir"/*.so | grep -qzv "=> not found" || (echo "Sanity check failed: missing libraries:"; ldd "$extdir"/*.so | grep " => not found"; exit 1); ldd "$extdir"/*.so | grep -q "libzip.so.* => .*/libzip.so.*" || (echo "Sanity check failed: libzip.so is not referenced"; ldd "$extdir"/*.so; exit 1); err="$(php --version 3>&1 1>&2 2>&3)"; [ -z "$err" ] || (echo "Sanity check failed: php returned errors; $err"; exit 1;); curl -fL https://raw.githubusercontent.com/vishnubob/wait-for-it/81b1373f17855a4dc21156cfe1694c31d7d1792e/wait-for-it.sh -o /wait-for-it.sh; chmod +x /wait-for-it.sh; # buildkit
2026-05-11 06:12:39 UTC (buildkit.dockerfile.v0)COPY /usr/bin/composer /usr/bin/composer # buildkit
2026-05-11 06:12:39 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c mv "$PHP_INI_DIR/php.ini-production" "$PHP_INI_DIR/php.ini" # buildkit
2026-05-11 06:12:40 UTC (buildkit.dockerfile.v0)COPY php.ini /usr/local/etc/php/conf.d/roundcube-defaults.ini # buildkit
2026-05-11 06:12:40 UTC (buildkit.dockerfile.v0)COPY --chmod=0755 docker-entrypoint.sh / # buildkit
2026-05-11 06:12:40 UTC (buildkit.dockerfile.v0)ENV ROUNDCUBEMAIL_VERSION=1.6.15
2026-05-11 06:12:40 UTC (buildkit.dockerfile.v0)ENV ROUNDCUBEMAIL_KEYID=F3E4 C04B B3DB 5D42 15C4 5F7F 5AB2 BAA1 41C4 F7D5
2026-05-11 06:12:41 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c set -ex; curl -o roundcubemail.tar.gz -fSL https://github.com/roundcube/roundcubemail/releases/download/${ROUNDCUBEMAIL_VERSION}/roundcubemail-${ROUNDCUBEMAIL_VERSION}-complete.tar.gz; curl -o roundcubemail.tar.gz.asc -fSL https://github.com/roundcube/roundcubemail/releases/download/${ROUNDCUBEMAIL_VERSION}/roundcubemail-${ROUNDCUBEMAIL_VERSION}-complete.tar.gz.asc; export GNUPGHOME="$(mktemp -d)"; curl -fSL https://roundcube.net/download/pubkey.asc -o /tmp/pubkey.asc; LC_ALL=C.UTF-8 gpg -n --show-keys --with-fingerprint --keyid-format=long /tmp/pubkey.asc | if [ $(grep -c -o 'Key fingerprint') != 1 ]; then echo 'The key file should contain only one GPG key'; exit 1; fi; LC_ALL=C.UTF-8 gpg -n --show-keys --with-fingerprint --keyid-format=long /tmp/pubkey.asc | if [ $(grep -c -o "${ROUNDCUBEMAIL_KEYID}") != 1 ]; then echo 'The key ID should be the roundcube one'; exit 1; fi; gpg --batch --import /tmp/pubkey.asc; rm /tmp/pubkey.asc; gpg --batch --verify roundcubemail.tar.gz.asc roundcubemail.tar.gz; gpgconf --kill all; mkdir /usr/src/roundcubemail; tar -xf roundcubemail.tar.gz -C /usr/src/roundcubemail --strip-components=1 --no-same-owner; rm -r "$GNUPGHOME" roundcubemail.tar.gz.asc roundcubemail.tar.gz; rm -rf /usr/src/roundcubemail/installer; chown -R www-data:www-data /usr/src/roundcubemail/logs; mkdir -p /var/roundcube/config /var/roundcube/enigma; chown -R www-data:www-data /var/roundcube; chmod +t /var/roundcube # buildkit
2026-05-11 06:12:41 UTC (buildkit.dockerfile.v0)ENTRYPOINT ["/docker-entrypoint.sh"]
2026-05-11 06:12:41 UTC (buildkit.dockerfile.v0)CMD ["apache2-foreground"]
2026-05-11 07:15:08 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c echo "en_US.UTF-8 UTF-8" > /etc/locale.gen; /usr/sbin/locale-gen # buildkit
2026-05-11 07:15:08 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c sed -i 's/^Listen 80$/Listen 8000/' /etc/apache2/ports.conf # buildkit
2026-05-11 07:15:08 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c sed -i /etc/apache2/sites-enabled/000-default.conf -e 's/:80>/:8000>/' # buildkit
2026-05-11 07:15:08 UTC (buildkit.dockerfile.v0)EXPOSE [8000/tcp]
2026-05-11 07:15:08 UTC (buildkit.dockerfile.v0)USER 33:33
2026-05-11 07:15:46 UTC
224 MB
/etc/apache2
APACHE_ENVVARS/etc/apache2/envvars
GPG_KEYSAFD8691FDAEDF03BDF6E460563F15A9B715376CA 9D7F99A0CB8F05C8A6958D6256A97AF7600A39A6 0616E93D95AF471243E26761770426E17EBBB3DD
PATH/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PHPIZE_DEPSautoconf dpkg-dev file g++ gcc libc-dev make pkg-config re2c
PHP_ASC_URLhttps://www.php.net/distributions/php-8.4.21.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_SHA2567cf5d8ab12c3b2016875bcfaec71bef1ef0b07bed6148f2c447577074431f984
PHP_URLhttps://www.php.net/distributions/php-8.4.21.tar.xz
PHP_VERSION8.4.21
ROUNDCUBEMAIL_KEYIDF3E4 C04B B3DB 5D42 15C4 5F7F 5AB2 BAA1 41C4 F7D5
ROUNDCUBEMAIL_VERSION1.6.15
[#000] sha256:8f774e9b92b540806fc05167db7ce09a3e1b12abdb9d496f7b8c82138656065a - 11.92% (26.7 MB)
[#001] sha256:babb96d84e3c3a0e9afa6c1bb7e390cc987d05cd6136bb8cba17778a2c3678bd - 0.0% (225 Bytes)
[#002] sha256:be05b9051b95a405c08263095100fd55217f28a339ac15ccb05932d4f41b437b - 40.47% (90.5 MB)
[#003] sha256:935954554579fdf881333979758193464b36561f309de69b79c600f9eb4b8e81 - 0.0% (226 Bytes)
[#004] sha256:50e61ee9cf1e35e622ad563f7c0e9d1721f34ee05f9b624c9d444645c7bbfff5 - 1.74% (3.9 MB)
[#005] sha256:afeeeabcbaf982c8c29510e0bfbd4ed3ca293d401a1522d0fd1986d224c23ad6 - 0.0% (433 Bytes)
[#006] sha256:4b224253c1a7c4ae15e445b70e16262532cb4684a35e05fdf7eb1da2e8d05248 - 0.0% (484 Bytes)
[#007] sha256:48d993c5c0a6691767a80231f05c84ed33916e9f8ad71c80345d083088408c39 - 5.92% (13.2 MB)
[#008] sha256:ad38dccf02ebe1e544f9b57d7fc8b2e4075ba9e4dc5d5e1a13eac4a0e7ab6a80 - 0.0% (488 Bytes)
[#009] sha256:03b87408ffdc91ffa26b24769a88231fc228f20a7948bdfe1aa009ad948e6a4f - 5.24% (11.7 MB)
[#010] sha256:9a9e25956013a65e340d9276fdfefa742eb4b8d4dc66bc53460db13d94c98b6c - 0.0% (2.4 KB)
[#011] sha256:e39f2ea2c10758d3b3eda9a33bafed7dfc51a4af2d36b8cb3f5570519106314f - 0.0% (253 Bytes)
[#012] sha256:5f56b7326d992fabc33529c1926618ed8f848562afb3e56ffe631c8dda8ff16c - 0.0% (247 Bytes)
[#013] sha256:888fdc68a0882af61828f302fb28e2360affa77c0bb79778fd8286e99fc1b601 - 0.0% (890 Bytes)
[#014] sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 - 0.0% (32 Bytes)
[#015] sha256:946b6dc7d65fd34aa67b957681a7fc07cc69f8c11bd97221b933f8f781d300e3 - 6.91% (15.5 MB)
[#016] sha256:e810626343a3c8b92bb8019b54335e0114d6d2e05ffa7246648d447d38f05554 - 24.58% (55 MB)
[#017] sha256:b80b0c2016f3aa33d58d3b2e166f1de81418a7af331e2ba032e61b47253474d0 - 0.34% (772 KB)
[#018] sha256:e25fa00c0957b355ba689c92afd6fb642a72f406f489eb17673d8c7b3399c224 - 0.01% (22.2 KB)
[#019] sha256:83d9a53807096feefea43e820eed01bba327ac46d1bc1dc4674c3df62e018503 - 0.0% (367 Bytes)
[#020] sha256:659cc922d9d1131cd8b79886b7090ff24632894336fab43295cb0eb6fc34a3bc - 0.0% (2.79 KB)
[#021] sha256:7a878bbaa59775acd6a1180cc56d08fcaf428055be6e13fbc01f4f376d5ff092 - 2.49% (5.56 MB)
[#022] sha256:1b8a92ed8c551633fcafc2e827e97d0685d23e340f4df604bb6d97cd6ce5c344 - 0.37% (845 KB)
[#023] sha256:29ec64deec834514055cfac9bb44b5cf63d153fb120a2f9650b0c2db13871f8a - 0.0% (316 Bytes)
[#024] sha256:d38390289f179152556c9d22a863b8b71a413458a48e1ecfce9e493f21db375c - 0.0% (886 Bytes)
# debian.sh --arch 'armel' out/ 'trixie' '@1777939200'
2026-05-08 20:26:48 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-05-08 20:27:11 UTC (buildkit.dockerfile.v0)ENV PHPIZE_DEPS=autoconf dpkg-dev file g++ gcc libc-dev make pkg-config re2c
2026-05-08 20:27:11 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-05-08 20:27:11 UTC (buildkit.dockerfile.v0)ENV PHP_INI_DIR=/usr/local/etc/php
2026-05-08 20:27:11 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-05-08 20:27:11 UTC (buildkit.dockerfile.v0)ENV APACHE_CONFDIR=/etc/apache2
2026-05-08 20:27:11 UTC (buildkit.dockerfile.v0)ENV APACHE_ENVVARS=/etc/apache2/envvars
2026-05-08 20:31:14 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c set -eux; apt-get update; apt-get install -y --no-install-recommends apache2; apt-get dist-clean; sed -ri 's/^export ([^=]+)=(.*)$/: ${\1:=\2}\nexport \1/' "$APACHE_ENVVARS"; . "$APACHE_ENVVARS"; for dir in "$APACHE_LOCK_DIR" "$APACHE_RUN_DIR" "$APACHE_LOG_DIR" "$APACHE_RUN_DIR/socks" ; do rm -rvf "$dir"; mkdir -p "$dir"; chown "$APACHE_RUN_USER:$APACHE_RUN_GROUP" "$dir"; chmod 1777 "$dir"; done; rm -rvf /var/www/html/*; ln -sfT /dev/stderr "$APACHE_LOG_DIR/error.log"; ln -sfT /dev/stdout "$APACHE_LOG_DIR/access.log"; ln -sfT /dev/stdout "$APACHE_LOG_DIR/other_vhosts_access.log"; chown -R --no-dereference "$APACHE_RUN_USER:$APACHE_RUN_GROUP" "$APACHE_LOG_DIR" # buildkit
2026-05-08 20:31:14 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c a2dismod mpm_event && a2enmod mpm_prefork # buildkit
2026-05-08 20:31:14 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c { echo '<FilesMatch \.php$>'; echo '\tSetHandler application/x-httpd-php'; echo '</FilesMatch>'; echo; echo 'DirectoryIndex disabled'; echo 'DirectoryIndex index.php index.html'; echo; echo '<Directory /var/www/>'; echo '\tOptions -Indexes'; echo '\tAllowOverride All'; echo '</Directory>'; } | tee "$APACHE_CONFDIR/conf-available/docker-php.conf" && a2enconf docker-php # buildkit
2026-05-08 20:31:14 UTC (buildkit.dockerfile.v0)ENV PHP_CFLAGS=-fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
2026-05-08 20:31:14 UTC (buildkit.dockerfile.v0)ENV PHP_CPPFLAGS=-fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
2026-05-08 20:31:14 UTC (buildkit.dockerfile.v0)ENV PHP_LDFLAGS=-Wl,-O1 -pie
2026-05-08 20:31:14 UTC (buildkit.dockerfile.v0)ENV GPG_KEYS=AFD8691FDAEDF03BDF6E460563F15A9B715376CA 9D7F99A0CB8F05C8A6958D6256A97AF7600A39A6 0616E93D95AF471243E26761770426E17EBBB3DD
2026-05-08 20:31:14 UTC (buildkit.dockerfile.v0)ENV PHP_VERSION=8.4.21
2026-05-08 20:31:14 UTC (buildkit.dockerfile.v0)ENV PHP_URL=https://www.php.net/distributions/php-8.4.21.tar.xz PHP_ASC_URL=https://www.php.net/distributions/php-8.4.21.tar.xz.asc
2026-05-08 20:31:14 UTC (buildkit.dockerfile.v0)ENV PHP_SHA256=7cf5d8ab12c3b2016875bcfaec71bef1ef0b07bed6148f2c447577074431f984
2026-05-08 20:31:28 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-05-08 20:31:28 UTC (buildkit.dockerfile.v0)COPY docker-php-source /usr/local/bin/ # buildkit
2026-05-08 20:34:41 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c set -eux; savedAptMark="$(apt-mark showmanual)"; apt-get update; apt-get install -y --no-install-recommends apache2-dev 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 --disable-phpdbg --with-pear --with-libdir="lib/$debMultiarch" --disable-cgi --with-apxs2 ; 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-05-08 20:34:41 UTC (buildkit.dockerfile.v0)COPY docker-php-ext-* docker-php-entrypoint /usr/local/bin/ # buildkit
2026-05-08 20:34:41 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c docker-php-ext-enable opcache # buildkit
2026-05-08 20:34:41 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c docker-php-ext-enable sodium # buildkit
2026-05-08 20:34:41 UTC (buildkit.dockerfile.v0)ENTRYPOINT ["docker-php-entrypoint"]
2026-05-08 20:34:41 UTC (buildkit.dockerfile.v0)STOPSIGNAL SIGWINCH
2026-05-08 20:34:42 UTC (buildkit.dockerfile.v0)COPY apache2-foreground /usr/local/bin/ # buildkit
2026-05-08 20:34:42 UTC (buildkit.dockerfile.v0)WORKDIR /var/www/html
2026-05-08 20:34:42 UTC (buildkit.dockerfile.v0)EXPOSE map[80/tcp:{}]
2026-05-08 20:34:42 UTC (buildkit.dockerfile.v0)CMD ["apache2-foreground"]
2026-05-11 06:14:45 UTC (buildkit.dockerfile.v0)LABEL maintainer=Thomas Bruederli <[email protected]>
2026-05-11 06:14:45 UTC (buildkit.dockerfile.v0)LABEL org.opencontainers.image.source=https://github.com/roundcube/roundcubemail-docker
2026-05-11 06:14:45 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c apt-get update && apt-get -y upgrade && apt-get clean # buildkit
2026-05-11 07:09:45 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c set -ex; if [ "apache" = "apache" ]; then a2enmod rewrite; sed -i -e 's|\(DocumentRoot /var/www/html\)$|\1/public_html|' /etc/apache2/sites-available/000-default.conf; fi; apt-get update; savedAptMark="$(apt-mark showmanual)"; apt-get install -y --no-install-recommends libfreetype6-dev libicu-dev libjpeg62-turbo-dev libldap2-dev libsasl2-dev libmagickwand-dev libpng-dev libpq-dev libsqlite3-dev libzip-dev libpspell-dev libonig-dev libldap-common ; fetchDeps="gnupg locales libc-l10n"; installDeps="aspell aspell-en rsync unzip"; apt-get install -y --no-install-recommends $installDeps $fetchDeps ; pecl bundle -d /usr/src/php/ext imagick; pecl bundle -d /usr/src/php/ext redis; pecl bundle -d /usr/src/php/ext pspell; debMultiarch="$(dpkg-architecture --query DEB_BUILD_MULTIARCH)"; docker-php-ext-configure gd --with-jpeg --with-freetype; docker-php-ext-configure ldap --with-libdir="lib/$debMultiarch" --with-ldap-sasl; docker-php-ext-install exif gd intl ldap pdo_mysql pdo_pgsql pdo_sqlite zip pspell imagick redis ; docker-php-ext-enable imagick opcache redis; docker-php-source delete; rm -r /tmp/pear; php -m; apt-mark auto '.*' > /dev/null; apt-mark manual $savedAptMark $installDeps $fetchDeps; extdir="$(php -r 'echo ini_get("extension_dir");')"; ldd "$extdir"/*.so | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); print so }' | sort -u | xargs -r dpkg-query -S | cut -d: -f1 | sort -u | xargs -rt apt-mark manual; apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; rm -rf /var/lib/apt/lists/*; ldd "$extdir"/*.so | grep -qzv "=> not found" || (echo "Sanity check failed: missing libraries:"; ldd "$extdir"/*.so | grep " => not found"; exit 1); ldd "$extdir"/*.so | grep -q "libzip.so.* => .*/libzip.so.*" || (echo "Sanity check failed: libzip.so is not referenced"; ldd "$extdir"/*.so; exit 1); err="$(php --version 3>&1 1>&2 2>&3)"; [ -z "$err" ] || (echo "Sanity check failed: php returned errors; $err"; exit 1;); curl -fL https://raw.githubusercontent.com/vishnubob/wait-for-it/81b1373f17855a4dc21156cfe1694c31d7d1792e/wait-for-it.sh -o /wait-for-it.sh; chmod +x /wait-for-it.sh; # buildkit
2026-05-11 07:09:45 UTC (buildkit.dockerfile.v0)COPY /usr/bin/composer /usr/bin/composer # buildkit
2026-05-11 07:09:45 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c mv "$PHP_INI_DIR/php.ini-production" "$PHP_INI_DIR/php.ini" # buildkit
2026-05-11 07:09:45 UTC (buildkit.dockerfile.v0)COPY php.ini /usr/local/etc/php/conf.d/roundcube-defaults.ini # buildkit
2026-05-11 07:09:45 UTC (buildkit.dockerfile.v0)COPY --chmod=0755 docker-entrypoint.sh / # buildkit
2026-05-11 07:09:45 UTC (buildkit.dockerfile.v0)ENV ROUNDCUBEMAIL_VERSION=1.6.15
2026-05-11 07:09:45 UTC (buildkit.dockerfile.v0)ENV ROUNDCUBEMAIL_KEYID=F3E4 C04B B3DB 5D42 15C4 5F7F 5AB2 BAA1 41C4 F7D5
2026-05-11 07:09:50 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c set -ex; curl -o roundcubemail.tar.gz -fSL https://github.com/roundcube/roundcubemail/releases/download/${ROUNDCUBEMAIL_VERSION}/roundcubemail-${ROUNDCUBEMAIL_VERSION}-complete.tar.gz; curl -o roundcubemail.tar.gz.asc -fSL https://github.com/roundcube/roundcubemail/releases/download/${ROUNDCUBEMAIL_VERSION}/roundcubemail-${ROUNDCUBEMAIL_VERSION}-complete.tar.gz.asc; export GNUPGHOME="$(mktemp -d)"; curl -fSL https://roundcube.net/download/pubkey.asc -o /tmp/pubkey.asc; LC_ALL=C.UTF-8 gpg -n --show-keys --with-fingerprint --keyid-format=long /tmp/pubkey.asc | if [ $(grep -c -o 'Key fingerprint') != 1 ]; then echo 'The key file should contain only one GPG key'; exit 1; fi; LC_ALL=C.UTF-8 gpg -n --show-keys --with-fingerprint --keyid-format=long /tmp/pubkey.asc | if [ $(grep -c -o "${ROUNDCUBEMAIL_KEYID}") != 1 ]; then echo 'The key ID should be the roundcube one'; exit 1; fi; gpg --batch --import /tmp/pubkey.asc; rm /tmp/pubkey.asc; gpg --batch --verify roundcubemail.tar.gz.asc roundcubemail.tar.gz; gpgconf --kill all; mkdir /usr/src/roundcubemail; tar -xf roundcubemail.tar.gz -C /usr/src/roundcubemail --strip-components=1 --no-same-owner; rm -r "$GNUPGHOME" roundcubemail.tar.gz.asc roundcubemail.tar.gz; rm -rf /usr/src/roundcubemail/installer; chown -R www-data:www-data /usr/src/roundcubemail/logs; mkdir -p /var/roundcube/config /var/roundcube/enigma; chown -R www-data:www-data /var/roundcube; chmod +t /var/roundcube # buildkit
2026-05-11 07:09:50 UTC (buildkit.dockerfile.v0)ENTRYPOINT ["/docker-entrypoint.sh"]
2026-05-11 07:09:50 UTC (buildkit.dockerfile.v0)CMD ["apache2-foreground"]
2026-05-11 07:15:46 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c echo "en_US.UTF-8 UTF-8" > /etc/locale.gen; /usr/sbin/locale-gen # buildkit
2026-05-11 07:15:46 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c sed -i 's/^Listen 80$/Listen 8000/' /etc/apache2/ports.conf # buildkit
2026-05-11 07:15:46 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c sed -i /etc/apache2/sites-enabled/000-default.conf -e 's/:80>/:8000>/' # buildkit
2026-05-11 07:15:46 UTC (buildkit.dockerfile.v0)EXPOSE [8000/tcp]
2026-05-11 07:15:46 UTC (buildkit.dockerfile.v0)USER 33:33
2026-05-11 07:15:48 UTC
211 MB
/etc/apache2
APACHE_ENVVARS/etc/apache2/envvars
GPG_KEYSAFD8691FDAEDF03BDF6E460563F15A9B715376CA 9D7F99A0CB8F05C8A6958D6256A97AF7600A39A6 0616E93D95AF471243E26761770426E17EBBB3DD
PATH/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PHPIZE_DEPSautoconf dpkg-dev file g++ gcc libc-dev make pkg-config re2c
PHP_ASC_URLhttps://www.php.net/distributions/php-8.4.21.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_SHA2567cf5d8ab12c3b2016875bcfaec71bef1ef0b07bed6148f2c447577074431f984
PHP_URLhttps://www.php.net/distributions/php-8.4.21.tar.xz
PHP_VERSION8.4.21
ROUNDCUBEMAIL_KEYIDF3E4 C04B B3DB 5D42 15C4 5F7F 5AB2 BAA1 41C4 F7D5
ROUNDCUBEMAIL_VERSION1.6.15
[#000] sha256:f1433620eadfdfe016c8054b954f619ae5bca159f35a9459c36a76d9ef4d39c3 - 11.85% (25 MB)
[#001] sha256:f802c17af1af5c81f3e9b807af5c1106bf2eccef0ea2ace097ee66e9daea5b6b - 0.0% (226 Bytes)
[#002] sha256:b721671956530437d5200ca7c1d9408806fdffe5cab95634848f1fecf6a8e20c - 39.0% (82.3 MB)
[#003] sha256:3dfdb6e3ae44c13caa77a3fc583916405db6dc3d5e409a460dd1535f5e18ca2e - 0.0% (225 Bytes)
[#004] sha256:95378bb58d347539cc5c3835163eeee3b2cdab4f2f304fc8d2e0f3305313bb82 - 1.7% (3.58 MB)
[#005] sha256:204e61c486dd22e1c57cacf9f19e6d2c904d1830e63db6a5fa48df60528787ec - 0.0% (428 Bytes)
[#006] sha256:a7a408d87f4219deeb60dbf51d1e4545e1a1c201824d1b82e777efbdb93e68ef - 0.0% (482 Bytes)
[#007] sha256:1ae3aa8d3c2b13477a8fd3fd2119bfb37fddd338d2605a506c6afed9c83bfd97 - 6.28% (13.2 MB)
[#008] sha256:e62b66442adc09d156dc40e402308c872848b2058b9fe8eb39bca628288cbca1 - 0.0% (490 Bytes)
[#009] sha256:fdd97108f838b00d218ed491c8d6caeb44ef5f186ccf87842d76c24b4116ba62 - 5.3% (11.2 MB)
[#010] sha256:8fac59470baaae5e3fb240cebfba82818c3b958a78eb0de1dd579ada3030d700 - 0.0% (2.4 KB)
[#011] sha256:f77a6a5105e592f84875eb33fdb7d0362ece37d9be4cedc52be52ed5afe5c482 - 0.0% (250 Bytes)
[#012] sha256:0cabee827f949903b0036e4891643650832c14c33fb211fa0c83306557fb6faf - 0.0% (245 Bytes)
[#013] sha256:4f6faa7e2189517ed283eb04125a5ee5a2383b811f2719caef6a4cc04b0b2150 - 0.0% (890 Bytes)
[#014] sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 - 0.0% (32 Bytes)
[#015] sha256:5459307a4f23b320a413e4ffb193c1081fc247b42c94aec05f4d60341688adf1 - 7.4% (15.6 MB)
[#016] sha256:cbe63221d5fafc7a2fef7ffe0a2f3bc88e753a239d8c9b40424537460ccd4966 - 25.08% (52.9 MB)
[#017] sha256:d4a08fbb69d55b2b525a0415c89949aabab5aa5b2d2aa3c3ada8f913c32846c2 - 0.36% (772 KB)
[#018] sha256:456e3fb7e1323ff3f9c9f9f11199cea469ddd41ad9655f9bcb67b4533bc62534 - 0.01% (22.2 KB)
[#019] sha256:cfda102fc501d84e93d6c53d937dbde9e6fe4199b54eea2c20c5568f1330fada - 0.0% (367 Bytes)
[#020] sha256:659cc922d9d1131cd8b79886b7090ff24632894336fab43295cb0eb6fc34a3bc - 0.0% (2.79 KB)
[#021] sha256:692ca10ef0cf18e8203e59791a4f510913f46e03712506a604c274d4d65474b4 - 2.64% (5.56 MB)
[#022] sha256:6ed667bbc5a232c4973e14740c5029ddf804b873d6cc57b3445842ed1cef55d9 - 0.39% (845 KB)
[#023] sha256:8d950409f9211cba56477defda7fbf53877945f5501971af53d05e0384418c4f - 0.0% (318 Bytes)
[#024] sha256:d96e0072982d5a2a1a80562bc968c19b34c53021fabc0c83c6a2895dd5487530 - 0.0% (886 Bytes)
# debian.sh --arch 'armhf' out/ 'trixie' '@1777939200'
2026-05-08 19:16:30 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-05-08 19:16:47 UTC (buildkit.dockerfile.v0)ENV PHPIZE_DEPS=autoconf dpkg-dev file g++ gcc libc-dev make pkg-config re2c
2026-05-08 19:16:47 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-05-08 19:16:47 UTC (buildkit.dockerfile.v0)ENV PHP_INI_DIR=/usr/local/etc/php
2026-05-08 19:16:48 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-05-08 19:16:48 UTC (buildkit.dockerfile.v0)ENV APACHE_CONFDIR=/etc/apache2
2026-05-08 19:16:48 UTC (buildkit.dockerfile.v0)ENV APACHE_ENVVARS=/etc/apache2/envvars
2026-05-08 19:20:18 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c set -eux; apt-get update; apt-get install -y --no-install-recommends apache2; apt-get dist-clean; sed -ri 's/^export ([^=]+)=(.*)$/: ${\1:=\2}\nexport \1/' "$APACHE_ENVVARS"; . "$APACHE_ENVVARS"; for dir in "$APACHE_LOCK_DIR" "$APACHE_RUN_DIR" "$APACHE_LOG_DIR" "$APACHE_RUN_DIR/socks" ; do rm -rvf "$dir"; mkdir -p "$dir"; chown "$APACHE_RUN_USER:$APACHE_RUN_GROUP" "$dir"; chmod 1777 "$dir"; done; rm -rvf /var/www/html/*; ln -sfT /dev/stderr "$APACHE_LOG_DIR/error.log"; ln -sfT /dev/stdout "$APACHE_LOG_DIR/access.log"; ln -sfT /dev/stdout "$APACHE_LOG_DIR/other_vhosts_access.log"; chown -R --no-dereference "$APACHE_RUN_USER:$APACHE_RUN_GROUP" "$APACHE_LOG_DIR" # buildkit
2026-05-08 19:20:18 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c a2dismod mpm_event && a2enmod mpm_prefork # buildkit
2026-05-08 19:20:18 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c { echo '<FilesMatch \.php$>'; echo '\tSetHandler application/x-httpd-php'; echo '</FilesMatch>'; echo; echo 'DirectoryIndex disabled'; echo 'DirectoryIndex index.php index.html'; echo; echo '<Directory /var/www/>'; echo '\tOptions -Indexes'; echo '\tAllowOverride All'; echo '</Directory>'; } | tee "$APACHE_CONFDIR/conf-available/docker-php.conf" && a2enconf docker-php # buildkit
2026-05-08 19:20:18 UTC (buildkit.dockerfile.v0)ENV PHP_CFLAGS=-fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
2026-05-08 19:20:18 UTC (buildkit.dockerfile.v0)ENV PHP_CPPFLAGS=-fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
2026-05-08 19:20:18 UTC (buildkit.dockerfile.v0)ENV PHP_LDFLAGS=-Wl,-O1 -pie
2026-05-08 19:20:18 UTC (buildkit.dockerfile.v0)ENV GPG_KEYS=AFD8691FDAEDF03BDF6E460563F15A9B715376CA 9D7F99A0CB8F05C8A6958D6256A97AF7600A39A6 0616E93D95AF471243E26761770426E17EBBB3DD
2026-05-08 19:20:18 UTC (buildkit.dockerfile.v0)ENV PHP_VERSION=8.4.21
2026-05-08 19:20:18 UTC (buildkit.dockerfile.v0)ENV PHP_URL=https://www.php.net/distributions/php-8.4.21.tar.xz PHP_ASC_URL=https://www.php.net/distributions/php-8.4.21.tar.xz.asc
2026-05-08 19:20:18 UTC (buildkit.dockerfile.v0)ENV PHP_SHA256=7cf5d8ab12c3b2016875bcfaec71bef1ef0b07bed6148f2c447577074431f984
2026-05-08 19:20: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-05-08 19:20:29 UTC (buildkit.dockerfile.v0)COPY docker-php-source /usr/local/bin/ # buildkit
2026-05-08 19:23:15 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c set -eux; savedAptMark="$(apt-mark showmanual)"; apt-get update; apt-get install -y --no-install-recommends apache2-dev 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 --disable-phpdbg --with-pear --with-libdir="lib/$debMultiarch" --disable-cgi --with-apxs2 ; 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-05-08 19:23:15 UTC (buildkit.dockerfile.v0)COPY docker-php-ext-* docker-php-entrypoint /usr/local/bin/ # buildkit
2026-05-08 19:23:15 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c docker-php-ext-enable opcache # buildkit
2026-05-08 19:23:15 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c docker-php-ext-enable sodium # buildkit
2026-05-08 19:23:15 UTC (buildkit.dockerfile.v0)ENTRYPOINT ["docker-php-entrypoint"]
2026-05-08 19:23:15 UTC (buildkit.dockerfile.v0)STOPSIGNAL SIGWINCH
2026-05-08 19:23:15 UTC (buildkit.dockerfile.v0)COPY apache2-foreground /usr/local/bin/ # buildkit
2026-05-08 19:23:15 UTC (buildkit.dockerfile.v0)WORKDIR /var/www/html
2026-05-08 19:23:15 UTC (buildkit.dockerfile.v0)EXPOSE map[80/tcp:{}]
2026-05-08 19:23:15 UTC (buildkit.dockerfile.v0)CMD ["apache2-foreground"]
2026-05-11 06:14:29 UTC (buildkit.dockerfile.v0)LABEL maintainer=Thomas Bruederli <[email protected]>
2026-05-11 06:14:29 UTC (buildkit.dockerfile.v0)LABEL org.opencontainers.image.source=https://github.com/roundcube/roundcubemail-docker
2026-05-11 06:14:29 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c apt-get update && apt-get -y upgrade && apt-get clean # buildkit
2026-05-11 07:08:05 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c set -ex; if [ "apache" = "apache" ]; then a2enmod rewrite; sed -i -e 's|\(DocumentRoot /var/www/html\)$|\1/public_html|' /etc/apache2/sites-available/000-default.conf; fi; apt-get update; savedAptMark="$(apt-mark showmanual)"; apt-get install -y --no-install-recommends libfreetype6-dev libicu-dev libjpeg62-turbo-dev libldap2-dev libsasl2-dev libmagickwand-dev libpng-dev libpq-dev libsqlite3-dev libzip-dev libpspell-dev libonig-dev libldap-common ; fetchDeps="gnupg locales libc-l10n"; installDeps="aspell aspell-en rsync unzip"; apt-get install -y --no-install-recommends $installDeps $fetchDeps ; pecl bundle -d /usr/src/php/ext imagick; pecl bundle -d /usr/src/php/ext redis; pecl bundle -d /usr/src/php/ext pspell; debMultiarch="$(dpkg-architecture --query DEB_BUILD_MULTIARCH)"; docker-php-ext-configure gd --with-jpeg --with-freetype; docker-php-ext-configure ldap --with-libdir="lib/$debMultiarch" --with-ldap-sasl; docker-php-ext-install exif gd intl ldap pdo_mysql pdo_pgsql pdo_sqlite zip pspell imagick redis ; docker-php-ext-enable imagick opcache redis; docker-php-source delete; rm -r /tmp/pear; php -m; apt-mark auto '.*' > /dev/null; apt-mark manual $savedAptMark $installDeps $fetchDeps; extdir="$(php -r 'echo ini_get("extension_dir");')"; ldd "$extdir"/*.so | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); print so }' | sort -u | xargs -r dpkg-query -S | cut -d: -f1 | sort -u | xargs -rt apt-mark manual; apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; rm -rf /var/lib/apt/lists/*; ldd "$extdir"/*.so | grep -qzv "=> not found" || (echo "Sanity check failed: missing libraries:"; ldd "$extdir"/*.so | grep " => not found"; exit 1); ldd "$extdir"/*.so | grep -q "libzip.so.* => .*/libzip.so.*" || (echo "Sanity check failed: libzip.so is not referenced"; ldd "$extdir"/*.so; exit 1); err="$(php --version 3>&1 1>&2 2>&3)"; [ -z "$err" ] || (echo "Sanity check failed: php returned errors; $err"; exit 1;); curl -fL https://raw.githubusercontent.com/vishnubob/wait-for-it/81b1373f17855a4dc21156cfe1694c31d7d1792e/wait-for-it.sh -o /wait-for-it.sh; chmod +x /wait-for-it.sh; # buildkit
2026-05-11 07:08:05 UTC (buildkit.dockerfile.v0)COPY /usr/bin/composer /usr/bin/composer # buildkit
2026-05-11 07:08:05 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c mv "$PHP_INI_DIR/php.ini-production" "$PHP_INI_DIR/php.ini" # buildkit
2026-05-11 07:08:05 UTC (buildkit.dockerfile.v0)COPY php.ini /usr/local/etc/php/conf.d/roundcube-defaults.ini # buildkit
2026-05-11 07:08:05 UTC (buildkit.dockerfile.v0)COPY --chmod=0755 docker-entrypoint.sh / # buildkit
2026-05-11 07:08:05 UTC (buildkit.dockerfile.v0)ENV ROUNDCUBEMAIL_VERSION=1.6.15
2026-05-11 07:08:05 UTC (buildkit.dockerfile.v0)ENV ROUNDCUBEMAIL_KEYID=F3E4 C04B B3DB 5D42 15C4 5F7F 5AB2 BAA1 41C4 F7D5
2026-05-11 07:08:11 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c set -ex; curl -o roundcubemail.tar.gz -fSL https://github.com/roundcube/roundcubemail/releases/download/${ROUNDCUBEMAIL_VERSION}/roundcubemail-${ROUNDCUBEMAIL_VERSION}-complete.tar.gz; curl -o roundcubemail.tar.gz.asc -fSL https://github.com/roundcube/roundcubemail/releases/download/${ROUNDCUBEMAIL_VERSION}/roundcubemail-${ROUNDCUBEMAIL_VERSION}-complete.tar.gz.asc; export GNUPGHOME="$(mktemp -d)"; curl -fSL https://roundcube.net/download/pubkey.asc -o /tmp/pubkey.asc; LC_ALL=C.UTF-8 gpg -n --show-keys --with-fingerprint --keyid-format=long /tmp/pubkey.asc | if [ $(grep -c -o 'Key fingerprint') != 1 ]; then echo 'The key file should contain only one GPG key'; exit 1; fi; LC_ALL=C.UTF-8 gpg -n --show-keys --with-fingerprint --keyid-format=long /tmp/pubkey.asc | if [ $(grep -c -o "${ROUNDCUBEMAIL_KEYID}") != 1 ]; then echo 'The key ID should be the roundcube one'; exit 1; fi; gpg --batch --import /tmp/pubkey.asc; rm /tmp/pubkey.asc; gpg --batch --verify roundcubemail.tar.gz.asc roundcubemail.tar.gz; gpgconf --kill all; mkdir /usr/src/roundcubemail; tar -xf roundcubemail.tar.gz -C /usr/src/roundcubemail --strip-components=1 --no-same-owner; rm -r "$GNUPGHOME" roundcubemail.tar.gz.asc roundcubemail.tar.gz; rm -rf /usr/src/roundcubemail/installer; chown -R www-data:www-data /usr/src/roundcubemail/logs; mkdir -p /var/roundcube/config /var/roundcube/enigma; chown -R www-data:www-data /var/roundcube; chmod +t /var/roundcube # buildkit
2026-05-11 07:08:11 UTC (buildkit.dockerfile.v0)ENTRYPOINT ["/docker-entrypoint.sh"]
2026-05-11 07:08:11 UTC (buildkit.dockerfile.v0)CMD ["apache2-foreground"]
2026-05-11 07:15:48 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c echo "en_US.UTF-8 UTF-8" > /etc/locale.gen; /usr/sbin/locale-gen # buildkit
2026-05-11 07:15:48 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c sed -i 's/^Listen 80$/Listen 8000/' /etc/apache2/ports.conf # buildkit
2026-05-11 07:15:48 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c sed -i /etc/apache2/sites-enabled/000-default.conf -e 's/:80>/:8000>/' # buildkit
2026-05-11 07:15:48 UTC (buildkit.dockerfile.v0)EXPOSE [8000/tcp]
2026-05-11 07:15:48 UTC (buildkit.dockerfile.v0)USER 33:33
2026-05-11 07:15:47 UTC
243 MB
/etc/apache2
APACHE_ENVVARS/etc/apache2/envvars
GPG_KEYSAFD8691FDAEDF03BDF6E460563F15A9B715376CA 9D7F99A0CB8F05C8A6958D6256A97AF7600A39A6 0616E93D95AF471243E26761770426E17EBBB3DD
PATH/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PHPIZE_DEPSautoconf dpkg-dev file g++ gcc libc-dev make pkg-config re2c
PHP_ASC_URLhttps://www.php.net/distributions/php-8.4.21.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_SHA2567cf5d8ab12c3b2016875bcfaec71bef1ef0b07bed6148f2c447577074431f984
PHP_URLhttps://www.php.net/distributions/php-8.4.21.tar.xz
PHP_VERSION8.4.21
ROUNDCUBEMAIL_KEYIDF3E4 C04B B3DB 5D42 15C4 5F7F 5AB2 BAA1 41C4 F7D5
ROUNDCUBEMAIL_VERSION1.6.15
[#000] sha256:9ebf9a1d0c9ca1bcb377e9dba38a3fdd3e89cf37164f4245286c24f8cd50a39e - 11.83% (28.7 MB)
[#001] sha256:2da9b080479fed10ebc9ac0a84fdca405a1a2c4859b3785e58f16f33a4c9e738 - 0.0% (224 Bytes)
[#002] sha256:455ea2ea9d14efe8b19a17a1da6b1c3e7a4151801d84000b4d78d5815515354b - 43.23% (105 MB)
[#003] sha256:83b401362e2af31a15354c7ee2599cdc52f945b524318d91af3d7bceb5a745f5 - 0.0% (224 Bytes)
[#004] sha256:19eb5e4b1d6ce313815f7f653e7831050658d1126ade6e29acf8b63a91f748b5 - 1.69% (4.11 MB)
[#005] sha256:57a7f7537f56dbd6239a0ed3717b7e085e3de8f18fec7f54b795eb3faea7cd2c - 0.0% (427 Bytes)
[#006] sha256:41d7b7114d3b46319f3f3a5af2e2cd9bb0c5ad4192989ccad96e6635785dbf72 - 0.0% (482 Bytes)
[#007] sha256:4cf191ade11b418fda6c05cd27fc7e8caaed940bf0d66d31db2d2afe51df935f - 5.45% (13.2 MB)
[#008] sha256:3cac465b3c25f7bd27504def66feb674121cdc5222b0a78301a62c1b3a3c8f4e - 0.0% (488 Bytes)
[#009] sha256:5a8f874a634f868f9efd4fddf8f4587bc0e8b7adb270241a2793b219171c6c73 - 5.23% (12.7 MB)
[#010] sha256:09aa778d7c92adbd34f8bd3b32f219984708cc6c6886c5514d8963337e848032 - 0.0% (2.4 KB)
[#011] sha256:4dac9b3d96efc6a6c51e0f231ed60c4e270915b4352c08eb44b8048bce9505c1 - 0.0% (250 Bytes)
[#012] sha256:213f515bc2e39574871e6d8fb1154329ba5b3fd4e369f93b631b47a630851972 - 0.0% (246 Bytes)
[#013] sha256:8fe3d6ab02344e95789ffd1bf11578eb7a49fcd9f790065a44fd3f93b78338f4 - 0.0% (889 Bytes)
[#014] sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 - 0.0% (32 Bytes)
[#015] sha256:6f79c6660c399e97b88741b4e268d632d688521f44b484565bca6b0868040a2e - 6.44% (15.6 MB)
[#016] sha256:d1acb2dcbcbf0043ba76049c75bff11ee718fee56d58324a1f08db7a3f873f76 - 23.19% (56.4 MB)
[#017] sha256:2d697bfaad40df7355027332b71e7a5dc1d4e38302168bdbd6c7475d908bf0e0 - 0.31% (772 KB)
[#018] sha256:7f6c60a91178ad0203bce782e15be97712196b63451f6b24a426894b009a90b1 - 0.01% (22.2 KB)
[#019] sha256:284d5aa9511ff464683b5b6b25791f597b0f5296fee0aa1ad26b683e31c91b03 - 0.0% (367 Bytes)
[#020] sha256:659cc922d9d1131cd8b79886b7090ff24632894336fab43295cb0eb6fc34a3bc - 0.0% (2.79 KB)
[#021] sha256:eedd57c648a11a3c2bab7aad0aa219b7a5ef6277d8285f0a69aaa3d48b7a0ec6 - 2.29% (5.56 MB)
[#022] sha256:31f63ee5a7efa07dd7bd795c6f524f2703d5187052cfc038aa1c36ac6e9580d1 - 0.34% (845 KB)
[#023] sha256:59b549bcf54914d7f898297da7be6b3a88e52a624579671b544b4798d6872351 - 0.0% (318 Bytes)
[#024] sha256:464adbb32d877ea14e0f83f6a0dfd632935279e6415125778f6b7c17a56cce5a - 0.0% (886 Bytes)
# debian.sh --arch 'arm64' out/ 'trixie' '@1777939200'
2026-05-08 19:24:21 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-05-08 19:24:38 UTC (buildkit.dockerfile.v0)ENV PHPIZE_DEPS=autoconf dpkg-dev file g++ gcc libc-dev make pkg-config re2c
2026-05-08 19:24:38 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-05-08 19:24:38 UTC (buildkit.dockerfile.v0)ENV PHP_INI_DIR=/usr/local/etc/php
2026-05-08 19:24:38 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-05-08 19:24:38 UTC (buildkit.dockerfile.v0)ENV APACHE_CONFDIR=/etc/apache2
2026-05-08 19:24:38 UTC (buildkit.dockerfile.v0)ENV APACHE_ENVVARS=/etc/apache2/envvars
2026-05-08 19:24:44 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c set -eux; apt-get update; apt-get install -y --no-install-recommends apache2; apt-get dist-clean; sed -ri 's/^export ([^=]+)=(.*)$/: ${\1:=\2}\nexport \1/' "$APACHE_ENVVARS"; . "$APACHE_ENVVARS"; for dir in "$APACHE_LOCK_DIR" "$APACHE_RUN_DIR" "$APACHE_LOG_DIR" "$APACHE_RUN_DIR/socks" ; do rm -rvf "$dir"; mkdir -p "$dir"; chown "$APACHE_RUN_USER:$APACHE_RUN_GROUP" "$dir"; chmod 1777 "$dir"; done; rm -rvf /var/www/html/*; ln -sfT /dev/stderr "$APACHE_LOG_DIR/error.log"; ln -sfT /dev/stdout "$APACHE_LOG_DIR/access.log"; ln -sfT /dev/stdout "$APACHE_LOG_DIR/other_vhosts_access.log"; chown -R --no-dereference "$APACHE_RUN_USER:$APACHE_RUN_GROUP" "$APACHE_LOG_DIR" # buildkit
2026-05-08 19:24:44 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c a2dismod mpm_event && a2enmod mpm_prefork # buildkit
2026-05-08 19:24:44 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c { echo '<FilesMatch \.php$>'; echo '\tSetHandler application/x-httpd-php'; echo '</FilesMatch>'; echo; echo 'DirectoryIndex disabled'; echo 'DirectoryIndex index.php index.html'; echo; echo '<Directory /var/www/>'; echo '\tOptions -Indexes'; echo '\tAllowOverride All'; echo '</Directory>'; } | tee "$APACHE_CONFDIR/conf-available/docker-php.conf" && a2enconf docker-php # buildkit
2026-05-08 19:24:44 UTC (buildkit.dockerfile.v0)ENV PHP_CFLAGS=-fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
2026-05-08 19:24:44 UTC (buildkit.dockerfile.v0)ENV PHP_CPPFLAGS=-fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
2026-05-08 19:24:44 UTC (buildkit.dockerfile.v0)ENV PHP_LDFLAGS=-Wl,-O1 -pie
2026-05-08 19:24:44 UTC (buildkit.dockerfile.v0)ENV GPG_KEYS=AFD8691FDAEDF03BDF6E460563F15A9B715376CA 9D7F99A0CB8F05C8A6958D6256A97AF7600A39A6 0616E93D95AF471243E26761770426E17EBBB3DD
2026-05-08 19:24:44 UTC (buildkit.dockerfile.v0)ENV PHP_VERSION=8.4.21
2026-05-08 19:24:44 UTC (buildkit.dockerfile.v0)ENV PHP_URL=https://www.php.net/distributions/php-8.4.21.tar.xz PHP_ASC_URL=https://www.php.net/distributions/php-8.4.21.tar.xz.asc
2026-05-08 19:24:44 UTC (buildkit.dockerfile.v0)ENV PHP_SHA256=7cf5d8ab12c3b2016875bcfaec71bef1ef0b07bed6148f2c447577074431f984
2026-05-08 19:24:54 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-05-08 19:24:54 UTC (buildkit.dockerfile.v0)COPY docker-php-source /usr/local/bin/ # buildkit
2026-05-08 19:27:56 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c set -eux; savedAptMark="$(apt-mark showmanual)"; apt-get update; apt-get install -y --no-install-recommends apache2-dev 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 --disable-phpdbg --with-pear --with-libdir="lib/$debMultiarch" --disable-cgi --with-apxs2 ; 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-05-08 19:27:56 UTC (buildkit.dockerfile.v0)COPY docker-php-ext-* docker-php-entrypoint /usr/local/bin/ # buildkit
2026-05-08 19:27:57 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c docker-php-ext-enable opcache # buildkit
2026-05-08 19:27:57 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c docker-php-ext-enable sodium # buildkit
2026-05-08 19:27:57 UTC (buildkit.dockerfile.v0)ENTRYPOINT ["docker-php-entrypoint"]
2026-05-08 19:27:57 UTC (buildkit.dockerfile.v0)STOPSIGNAL SIGWINCH
2026-05-08 19:27:57 UTC (buildkit.dockerfile.v0)COPY apache2-foreground /usr/local/bin/ # buildkit
2026-05-08 19:27:57 UTC (buildkit.dockerfile.v0)WORKDIR /var/www/html
2026-05-08 19:27:57 UTC (buildkit.dockerfile.v0)EXPOSE map[80/tcp:{}]
2026-05-08 19:27:57 UTC (buildkit.dockerfile.v0)CMD ["apache2-foreground"]
2026-05-11 06:14:38 UTC (buildkit.dockerfile.v0)LABEL maintainer=Thomas Bruederli <[email protected]>
2026-05-11 06:14:38 UTC (buildkit.dockerfile.v0)LABEL org.opencontainers.image.source=https://github.com/roundcube/roundcubemail-docker
2026-05-11 06:14:38 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c apt-get update && apt-get -y upgrade && apt-get clean # buildkit
2026-05-11 07:12:42 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c set -ex; if [ "apache" = "apache" ]; then a2enmod rewrite; sed -i -e 's|\(DocumentRoot /var/www/html\)$|\1/public_html|' /etc/apache2/sites-available/000-default.conf; fi; apt-get update; savedAptMark="$(apt-mark showmanual)"; apt-get install -y --no-install-recommends libfreetype6-dev libicu-dev libjpeg62-turbo-dev libldap2-dev libsasl2-dev libmagickwand-dev libpng-dev libpq-dev libsqlite3-dev libzip-dev libpspell-dev libonig-dev libldap-common ; fetchDeps="gnupg locales libc-l10n"; installDeps="aspell aspell-en rsync unzip"; apt-get install -y --no-install-recommends $installDeps $fetchDeps ; pecl bundle -d /usr/src/php/ext imagick; pecl bundle -d /usr/src/php/ext redis; pecl bundle -d /usr/src/php/ext pspell; debMultiarch="$(dpkg-architecture --query DEB_BUILD_MULTIARCH)"; docker-php-ext-configure gd --with-jpeg --with-freetype; docker-php-ext-configure ldap --with-libdir="lib/$debMultiarch" --with-ldap-sasl; docker-php-ext-install exif gd intl ldap pdo_mysql pdo_pgsql pdo_sqlite zip pspell imagick redis ; docker-php-ext-enable imagick opcache redis; docker-php-source delete; rm -r /tmp/pear; php -m; apt-mark auto '.*' > /dev/null; apt-mark manual $savedAptMark $installDeps $fetchDeps; extdir="$(php -r 'echo ini_get("extension_dir");')"; ldd "$extdir"/*.so | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); print so }' | sort -u | xargs -r dpkg-query -S | cut -d: -f1 | sort -u | xargs -rt apt-mark manual; apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; rm -rf /var/lib/apt/lists/*; ldd "$extdir"/*.so | grep -qzv "=> not found" || (echo "Sanity check failed: missing libraries:"; ldd "$extdir"/*.so | grep " => not found"; exit 1); ldd "$extdir"/*.so | grep -q "libzip.so.* => .*/libzip.so.*" || (echo "Sanity check failed: libzip.so is not referenced"; ldd "$extdir"/*.so; exit 1); err="$(php --version 3>&1 1>&2 2>&3)"; [ -z "$err" ] || (echo "Sanity check failed: php returned errors; $err"; exit 1;); curl -fL https://raw.githubusercontent.com/vishnubob/wait-for-it/81b1373f17855a4dc21156cfe1694c31d7d1792e/wait-for-it.sh -o /wait-for-it.sh; chmod +x /wait-for-it.sh; # buildkit
2026-05-11 07:12:42 UTC (buildkit.dockerfile.v0)COPY /usr/bin/composer /usr/bin/composer # buildkit
2026-05-11 07:12:42 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c mv "$PHP_INI_DIR/php.ini-production" "$PHP_INI_DIR/php.ini" # buildkit
2026-05-11 07:12:42 UTC (buildkit.dockerfile.v0)COPY php.ini /usr/local/etc/php/conf.d/roundcube-defaults.ini # buildkit
2026-05-11 07:12:42 UTC (buildkit.dockerfile.v0)COPY --chmod=0755 docker-entrypoint.sh / # buildkit
2026-05-11 07:12:42 UTC (buildkit.dockerfile.v0)ENV ROUNDCUBEMAIL_VERSION=1.6.15
2026-05-11 07:12:42 UTC (buildkit.dockerfile.v0)ENV ROUNDCUBEMAIL_KEYID=F3E4 C04B B3DB 5D42 15C4 5F7F 5AB2 BAA1 41C4 F7D5
2026-05-11 07:12:47 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c set -ex; curl -o roundcubemail.tar.gz -fSL https://github.com/roundcube/roundcubemail/releases/download/${ROUNDCUBEMAIL_VERSION}/roundcubemail-${ROUNDCUBEMAIL_VERSION}-complete.tar.gz; curl -o roundcubemail.tar.gz.asc -fSL https://github.com/roundcube/roundcubemail/releases/download/${ROUNDCUBEMAIL_VERSION}/roundcubemail-${ROUNDCUBEMAIL_VERSION}-complete.tar.gz.asc; export GNUPGHOME="$(mktemp -d)"; curl -fSL https://roundcube.net/download/pubkey.asc -o /tmp/pubkey.asc; LC_ALL=C.UTF-8 gpg -n --show-keys --with-fingerprint --keyid-format=long /tmp/pubkey.asc | if [ $(grep -c -o 'Key fingerprint') != 1 ]; then echo 'The key file should contain only one GPG key'; exit 1; fi; LC_ALL=C.UTF-8 gpg -n --show-keys --with-fingerprint --keyid-format=long /tmp/pubkey.asc | if [ $(grep -c -o "${ROUNDCUBEMAIL_KEYID}") != 1 ]; then echo 'The key ID should be the roundcube one'; exit 1; fi; gpg --batch --import /tmp/pubkey.asc; rm /tmp/pubkey.asc; gpg --batch --verify roundcubemail.tar.gz.asc roundcubemail.tar.gz; gpgconf --kill all; mkdir /usr/src/roundcubemail; tar -xf roundcubemail.tar.gz -C /usr/src/roundcubemail --strip-components=1 --no-same-owner; rm -r "$GNUPGHOME" roundcubemail.tar.gz.asc roundcubemail.tar.gz; rm -rf /usr/src/roundcubemail/installer; chown -R www-data:www-data /usr/src/roundcubemail/logs; mkdir -p /var/roundcube/config /var/roundcube/enigma; chown -R www-data:www-data /var/roundcube; chmod +t /var/roundcube # buildkit
2026-05-11 07:12:47 UTC (buildkit.dockerfile.v0)ENTRYPOINT ["/docker-entrypoint.sh"]
2026-05-11 07:12:47 UTC (buildkit.dockerfile.v0)CMD ["apache2-foreground"]
2026-05-11 07:15:47 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c echo "en_US.UTF-8 UTF-8" > /etc/locale.gen; /usr/sbin/locale-gen # buildkit
2026-05-11 07:15:47 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c sed -i 's/^Listen 80$/Listen 8000/' /etc/apache2/ports.conf # buildkit
2026-05-11 07:15:47 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c sed -i /etc/apache2/sites-enabled/000-default.conf -e 's/:80>/:8000>/' # buildkit
2026-05-11 07:15:47 UTC (buildkit.dockerfile.v0)EXPOSE [8000/tcp]
2026-05-11 07:15:47 UTC (buildkit.dockerfile.v0)USER 33:33