2026-03-16 05:09:58 UTC
268 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.19.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_SHA25611f7164ab26d356c31f94d3d69cc0e0707d5d2d6494a221aaeae307c08eaaa1c
PHP_URLhttps://www.php.net/distributions/php-8.4.19.tar.xz
PHP_VERSION8.4.19
ROUNDCUBEMAIL_KEYIDF3E4 C04B B3DB 5D42 15C4 5F7F 5AB2 BAA1 41C4 F7D5
ROUNDCUBEMAIL_VERSION1.6.13
[#000] sha256:f4e0b944ee1e7e50bdfbfa77bda370b6eccee7d698a7adca78c38f5ca0767ca5 - 11.14% (29.8 MB)
[#001] sha256:b9d85fb10deecea716a1117e6b1348fe1242a82018de432fa1634eee6f7f4591 - 0.0% (227 Bytes)
[#002] sha256:b8e1361fe1973583d1c204ce03cf6255f5cdcdd840c02ca9b80e6558f104ecd9 - 41.36% (111 MB)
[#003] sha256:45cfca31f46861044c2a86664ffcba26dc617c573d5afede011475da634124d7 - 0.0% (227 Bytes)
[#004] sha256:0e9a3c44e91a7a11562399a777e49b6f361555677ae458065cc309ff69f1dc10 - 1.59% (4.25 MB)
[#005] sha256:27b06cc14585b13d792079d7d1c8210a3b6aacc0596d9e59ca1c83be75aabe66 - 0.0% (432 Bytes)
[#006] sha256:dd2a2250fdb20705ba4beac00de6b3fd2974c3b28e66b2f4b67c7f86c8ae62ad - 0.0% (487 Bytes)
[#007] sha256:8f0e0b9f42c0237509139bd44c499021282a38785ed48ae57dbf237f1064c1c1 - 4.93% (13.2 MB)
[#008] sha256:aa6e6d0d75c4947687ecdb186d444e54d2a39cbcebfff3e0fac559a074951904 - 0.0% (490 Bytes)
[#009] sha256:d1579299dfc8171585775e71bd01717367d324cb052e8714305faec08868ee91 - 4.93% (13.2 MB)
[#010] sha256:fa97eaa1eaf381ac387060787605c4ff983f3fa2391ede524ff20bdf0448e490 - 0.0% (2.4 KB)
[#011] sha256:5630afde4dacc57cd0f47434197c219a0a45417b12af92c9eeda4b01d33563fc - 0.0% (250 Bytes)
[#012] sha256:08b75d9a194758a237500b4b5739179d6b5bf2d9116ca5331eaf90829e50881f - 0.0% (244 Bytes)
[#013] sha256:763f751b5200b091667e330e019f2c0c401d219a1cf868734a9f0251cf427e5a - 0.0% (893 Bytes)
[#014] sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 - 0.0% (32 Bytes)
[#015] sha256:a8e60bed83787dffad4ec37992a51ea145dd136fb46c113d0b6c48fd96e42758 - 11.96% (32 MB)
[#016] sha256:3edfdd6f9c316fb12e7cf7befb00d9094d15b82394b7cdac33cffa4963fc4ff2 - 21.73% (58.2 MB)
[#017] sha256:3e6b6ffdd539cf59ad4993251aaa4c4b80daa002ce8dc973ccc12111f9e81619 - 0.28% (759 KB)
[#018] sha256:8b472892d07084c7d92ea1e9b6abbb9cfd6c31f7df3feb01d3725afa4c622dfe - 0.01% (22.2 KB)
[#019] sha256:9e9699510915cde5ded367aa2c746e301c1c29c94f1f60e8ad1af39721896031 - 0.0% (366 Bytes)
[#020] sha256:3393d041be6a1301467c17c9286a8c51023212911b17b41f113ea6945026a2db - 0.0% (2.79 KB)
[#021] sha256:f5061de1b0e14785839cb433ee090e5799861e048b383e529b472edd117c581b - 2.06% (5.53 MB)
# debian.sh --arch 'i386' out/ 'trixie' '@1771804800'
2026-03-12 23:40:49 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-03-12 23:41:09 UTC (buildkit.dockerfile.v0)ENV PHPIZE_DEPS=autoconf dpkg-dev file g++ gcc libc-dev make pkg-config re2c
2026-03-12 23:41:09 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-03-12 23:41:09 UTC (buildkit.dockerfile.v0)ENV PHP_INI_DIR=/usr/local/etc/php
2026-03-12 23:41:09 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-03-12 23:41:09 UTC (buildkit.dockerfile.v0)ENV APACHE_CONFDIR=/etc/apache2
2026-03-12 23:41:09 UTC (buildkit.dockerfile.v0)ENV APACHE_ENVVARS=/etc/apache2/envvars
2026-03-12 23:41:15 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-03-12 23:41:16 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c a2dismod mpm_event && a2enmod mpm_prefork # buildkit
2026-03-12 23:41:16 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-03-12 23:41:16 UTC (buildkit.dockerfile.v0)ENV PHP_CFLAGS=-fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
2026-03-12 23:41:16 UTC (buildkit.dockerfile.v0)ENV PHP_CPPFLAGS=-fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
2026-03-12 23:41:16 UTC (buildkit.dockerfile.v0)ENV PHP_LDFLAGS=-Wl,-O1 -pie
2026-03-12 23:41:16 UTC (buildkit.dockerfile.v0)ENV GPG_KEYS=AFD8691FDAEDF03BDF6E460563F15A9B715376CA 9D7F99A0CB8F05C8A6958D6256A97AF7600A39A6 0616E93D95AF471243E26761770426E17EBBB3DD
2026-03-12 23:41:16 UTC (buildkit.dockerfile.v0)ENV PHP_VERSION=8.4.19
2026-03-12 23:41:16 UTC (buildkit.dockerfile.v0)ENV PHP_URL=https://www.php.net/distributions/php-8.4.19.tar.xz PHP_ASC_URL=https://www.php.net/distributions/php-8.4.19.tar.xz.asc
2026-03-12 23:41:16 UTC (buildkit.dockerfile.v0)ENV PHP_SHA256=11f7164ab26d356c31f94d3d69cc0e0707d5d2d6494a221aaeae307c08eaaa1c
2026-03-12 23:41:27 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-03-12 23:41:27 UTC (buildkit.dockerfile.v0)COPY docker-php-source /usr/local/bin/ # buildkit
2026-03-12 23:44:39 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-03-12 23:44:39 UTC (buildkit.dockerfile.v0)COPY docker-php-ext-* docker-php-entrypoint /usr/local/bin/ # buildkit
2026-03-12 23:44:39 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c docker-php-ext-enable opcache # buildkit
2026-03-12 23:44:39 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c docker-php-ext-enable sodium # buildkit
2026-03-12 23:44:39 UTC (buildkit.dockerfile.v0)ENTRYPOINT ["docker-php-entrypoint"]
2026-03-12 23:44:39 UTC (buildkit.dockerfile.v0)STOPSIGNAL SIGWINCH
2026-03-12 23:44:40 UTC (buildkit.dockerfile.v0)COPY apache2-foreground /usr/local/bin/ # buildkit
2026-03-12 23:44:40 UTC (buildkit.dockerfile.v0)WORKDIR /var/www/html
2026-03-12 23:44:40 UTC (buildkit.dockerfile.v0)EXPOSE map[80/tcp:{}]
2026-03-12 23:44:40 UTC (buildkit.dockerfile.v0)CMD ["apache2-foreground"]
2026-03-16 05:05:33 UTC (buildkit.dockerfile.v0)LABEL maintainer=Thomas Bruederli <[email protected]>
2026-03-16 05:05:33 UTC (buildkit.dockerfile.v0)LABEL org.opencontainers.image.source=https://github.com/roundcube/roundcubemail-docker
2026-03-16 05:05:33 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c apt-get update && apt-get -y upgrade && apt-get clean # buildkit
2026-03-16 05:09:56 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-03-16 05:09:56 UTC (buildkit.dockerfile.v0)COPY /usr/bin/composer /usr/bin/composer # buildkit
2026-03-16 05:09:56 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c mv "$PHP_INI_DIR/php.ini-production" "$PHP_INI_DIR/php.ini" # buildkit
2026-03-16 05:09:56 UTC (buildkit.dockerfile.v0)COPY php.ini /usr/local/etc/php/conf.d/roundcube-defaults.ini # buildkit
2026-03-16 05:09:56 UTC (buildkit.dockerfile.v0)COPY --chmod=0755 docker-entrypoint.sh / # buildkit
2026-03-16 05:09:56 UTC (buildkit.dockerfile.v0)ENV ROUNDCUBEMAIL_VERSION=1.6.13
2026-03-16 05:09:56 UTC (buildkit.dockerfile.v0)ENV ROUNDCUBEMAIL_KEYID=F3E4 C04B B3DB 5D42 15C4 5F7F 5AB2 BAA1 41C4 F7D5
2026-03-16 05:09:58 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-03-16 05:09:58 UTC (buildkit.dockerfile.v0)ENTRYPOINT ["/docker-entrypoint.sh"]
2026-03-16 05:09:58 UTC (buildkit.dockerfile.v0)CMD ["apache2-foreground"]
2026-03-16 05:04:09 UTC
267 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.19.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_SHA25611f7164ab26d356c31f94d3d69cc0e0707d5d2d6494a221aaeae307c08eaaa1c
PHP_URLhttps://www.php.net/distributions/php-8.4.19.tar.xz
PHP_VERSION8.4.19
ROUNDCUBEMAIL_KEYIDF3E4 C04B B3DB 5D42 15C4 5F7F 5AB2 BAA1 41C4 F7D5
ROUNDCUBEMAIL_VERSION1.6.13
[#000] sha256:206356c42440674ecbdf1070cf70ce8ef7885ac2e5c56f1ecf800b758f6b0419 - 10.62% (28.4 MB)
[#001] sha256:7e7f393d184d353e28e263940b8be8bebeb742186bd248c38a5a1398584166bb - 0.0% (226 Bytes)
[#002] sha256:6903707b515faa2eed5abdbe69357e95d3a901f692d9393ec3d86a45b175f2d0 - 42.03% (112 MB)
[#003] sha256:c55715512bc9b50cb4f94feed466278f52453abb0b3d94fe417dd507d7870668 - 0.0% (227 Bytes)
[#004] sha256:61543726ab3070a75e5a25726b515d38043746dcdc98d0192ae49ed50ba04e79 - 1.51% (4.03 MB)
[#005] sha256:0d3665a791ccd784b244a70b8bf3fdc91d7a18070302d54038c5bddf627fd869 - 0.0% (427 Bytes)
[#006] sha256:2b372d29fe8377acf5fcb09b4f7049ffd32468ea92323131a040541470d4265f - 0.0% (484 Bytes)
[#007] sha256:c7e0d90cd82366c323a5795b15d5fcaed3372648d5af96cefd5e2332464149ce - 4.94% (13.2 MB)
[#008] sha256:abba06d505cc487ae072ec4a0477d8799f4eca6b29135f6ba7bd481e645ba205 - 0.0% (491 Bytes)
[#009] sha256:8a7e5add6b33190d66ef0861525041fa9e32b599be144fcb4a888eddf2169a2d - 4.83% (12.9 MB)
[#010] sha256:0d7679a7aa037745bddaabcf7b0db40a9b548bb81bb70b08f5e4892bf58ddfb7 - 0.0% (2.4 KB)
[#011] sha256:b209790f9ea65eb874e539bae93283e4a0275ef4247533068916d08f834529c2 - 0.0% (251 Bytes)
[#012] sha256:a7a42f47f1abb5040e37c060512885733cecf679c682d3c766383de43c947322 - 0.0% (245 Bytes)
[#013] sha256:b8fc76d21467d57303ba2d454616d28f5065251db2ce4a7bbd776b4a6abe2bd4 - 0.0% (892 Bytes)
[#014] sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 - 0.0% (32 Bytes)
[#015] sha256:dd892bfe5ff6de61245d8282d74bf973a733c9c79bb37e553807c16419899e89 - 12.19% (32.6 MB)
[#016] sha256:e009af821bd21091cde4a4c3b1141bd20c921007d636e7b9545b4fc76396abce - 21.52% (57.5 MB)
[#017] sha256:6569fc29960726134a6be95766980f73d64a9bffa1b09612409e927f47490dac - 0.28% (759 KB)
[#018] sha256:eef337a53bb8e25a04f0d4238e150dc49c3ef864d43537b4e3bb017f2c03049c - 0.01% (22.2 KB)
[#019] sha256:186d808248de98a72e4fe34dd73e6cc65dc9eb854ecc71501ca100eb2d4191ee - 0.0% (363 Bytes)
[#020] sha256:3393d041be6a1301467c17c9286a8c51023212911b17b41f113ea6945026a2db - 0.0% (2.79 KB)
[#021] sha256:de296dc048b7bc5076a20899b7ec34fa509f1293d0c8fd042dfeeb7c7ce243ad - 2.07% (5.53 MB)
# debian.sh --arch 'amd64' out/ 'trixie' '@1771804800'
2026-03-12 23:32:05 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-03-12 23:32:22 UTC (buildkit.dockerfile.v0)ENV PHPIZE_DEPS=autoconf dpkg-dev file g++ gcc libc-dev make pkg-config re2c
2026-03-12 23:32:22 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-03-12 23:32:22 UTC (buildkit.dockerfile.v0)ENV PHP_INI_DIR=/usr/local/etc/php
2026-03-12 23:32:22 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-03-12 23:32:22 UTC (buildkit.dockerfile.v0)ENV APACHE_CONFDIR=/etc/apache2
2026-03-12 23:32:22 UTC (buildkit.dockerfile.v0)ENV APACHE_ENVVARS=/etc/apache2/envvars
2026-03-12 23:32:29 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-03-12 23:32:29 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c a2dismod mpm_event && a2enmod mpm_prefork # buildkit
2026-03-12 23:32:29 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-03-12 23:32:29 UTC (buildkit.dockerfile.v0)ENV PHP_CFLAGS=-fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
2026-03-12 23:32:29 UTC (buildkit.dockerfile.v0)ENV PHP_CPPFLAGS=-fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
2026-03-12 23:32:29 UTC (buildkit.dockerfile.v0)ENV PHP_LDFLAGS=-Wl,-O1 -pie
2026-03-12 23:32:29 UTC (buildkit.dockerfile.v0)ENV GPG_KEYS=AFD8691FDAEDF03BDF6E460563F15A9B715376CA 9D7F99A0CB8F05C8A6958D6256A97AF7600A39A6 0616E93D95AF471243E26761770426E17EBBB3DD
2026-03-12 23:32:29 UTC (buildkit.dockerfile.v0)ENV PHP_VERSION=8.4.19
2026-03-12 23:32:29 UTC (buildkit.dockerfile.v0)ENV PHP_URL=https://www.php.net/distributions/php-8.4.19.tar.xz PHP_ASC_URL=https://www.php.net/distributions/php-8.4.19.tar.xz.asc
2026-03-12 23:32:29 UTC (buildkit.dockerfile.v0)ENV PHP_SHA256=11f7164ab26d356c31f94d3d69cc0e0707d5d2d6494a221aaeae307c08eaaa1c
2026-03-12 23:32:38 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-03-12 23:32:38 UTC (buildkit.dockerfile.v0)COPY docker-php-source /usr/local/bin/ # buildkit
2026-03-12 23:35: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 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-03-12 23:35:28 UTC (buildkit.dockerfile.v0)COPY docker-php-ext-* docker-php-entrypoint /usr/local/bin/ # buildkit
2026-03-12 23:35:28 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c docker-php-ext-enable opcache # buildkit
2026-03-12 23:35:28 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c docker-php-ext-enable sodium # buildkit
2026-03-12 23:35:28 UTC (buildkit.dockerfile.v0)ENTRYPOINT ["docker-php-entrypoint"]
2026-03-12 23:35:28 UTC (buildkit.dockerfile.v0)STOPSIGNAL SIGWINCH
2026-03-12 23:35:28 UTC (buildkit.dockerfile.v0)COPY apache2-foreground /usr/local/bin/ # buildkit
2026-03-12 23:35:28 UTC (buildkit.dockerfile.v0)WORKDIR /var/www/html
2026-03-12 23:35:28 UTC (buildkit.dockerfile.v0)EXPOSE map[80/tcp:{}]
2026-03-12 23:35:28 UTC (buildkit.dockerfile.v0)CMD ["apache2-foreground"]
2026-03-16 05:01:52 UTC (buildkit.dockerfile.v0)LABEL maintainer=Thomas Bruederli <[email protected]>
2026-03-16 05:01:52 UTC (buildkit.dockerfile.v0)LABEL org.opencontainers.image.source=https://github.com/roundcube/roundcubemail-docker
2026-03-16 05:01:52 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c apt-get update && apt-get -y upgrade && apt-get clean # buildkit
2026-03-16 05:04:08 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-03-16 05:04:08 UTC (buildkit.dockerfile.v0)COPY /usr/bin/composer /usr/bin/composer # buildkit
2026-03-16 05:04:08 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c mv "$PHP_INI_DIR/php.ini-production" "$PHP_INI_DIR/php.ini" # buildkit
2026-03-16 05:04:08 UTC (buildkit.dockerfile.v0)COPY php.ini /usr/local/etc/php/conf.d/roundcube-defaults.ini # buildkit
2026-03-16 05:04:08 UTC (buildkit.dockerfile.v0)COPY --chmod=0755 docker-entrypoint.sh / # buildkit
2026-03-16 05:04:08 UTC (buildkit.dockerfile.v0)ENV ROUNDCUBEMAIL_VERSION=1.6.13
2026-03-16 05:04:08 UTC (buildkit.dockerfile.v0)ENV ROUNDCUBEMAIL_KEYID=F3E4 C04B B3DB 5D42 15C4 5F7F 5AB2 BAA1 41C4 F7D5
2026-03-16 05:04:09 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-03-16 05:04:09 UTC (buildkit.dockerfile.v0)ENTRYPOINT ["/docker-entrypoint.sh"]
2026-03-16 05:04:09 UTC (buildkit.dockerfile.v0)CMD ["apache2-foreground"]
2026-03-16 06:07:58 UTC
237 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.19.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_SHA25611f7164ab26d356c31f94d3d69cc0e0707d5d2d6494a221aaeae307c08eaaa1c
PHP_URLhttps://www.php.net/distributions/php-8.4.19.tar.xz
PHP_VERSION8.4.19
ROUNDCUBEMAIL_KEYIDF3E4 C04B B3DB 5D42 15C4 5F7F 5AB2 BAA1 41C4 F7D5
ROUNDCUBEMAIL_VERSION1.6.13
[#000] sha256:280a075cc1d2a97445b9f4430aa9774bfc38fc4217b7fc9d6a7b04e7e431cb65 - 11.23% (26.7 MB)
[#001] sha256:154a70fa5eab47b09e2d7faf6a636c43c022c84d2497d34d21f99fcfb347b3e8 - 0.0% (227 Bytes)
[#002] sha256:4c6fa2fa5c74c3184001cd0a8609dcb303a9f9796f9c94c15bf5486b18cbd743 - 38.13% (90.5 MB)
[#003] sha256:24b401e0948cc165127c604f4c057975ba1f8deb3516a958f92105554ad0ad84 - 0.0% (227 Bytes)
[#004] sha256:1672f6c14dbd64a49500671bb723ea1598f5e28ab732cea04d72d5f4450f9233 - 1.64% (3.9 MB)
[#005] sha256:ff256af5e2d510ef337349f5db12eaf19b9af625d5d08bfdae5dd632f3c15358 - 0.0% (430 Bytes)
[#006] sha256:a348d76af89a556768116b9ba98baad1b2de0af1164eaf7c5fff73e592bfdf5f - 0.0% (481 Bytes)
[#007] sha256:6b1790a92d0a3f3306e2b5331ff036decfc4ee5c0c76702a98b619007fa93d05 - 5.57% (13.2 MB)
[#008] sha256:a0e775936dbea785adbab262acbaf3ca09984523c1334ebfc0a52e78665fceba - 0.0% (489 Bytes)
[#009] sha256:885bdd04ef0a748ba57fadf3ab84f6114b680fc5f741c948d2e5f40c0d5a29c7 - 4.9% (11.6 MB)
[#010] sha256:13e9ad9d5e67149dae4180e8db0db9e9f7ee04279600fbe3bb29ded1fd6e9a46 - 0.0% (2.4 KB)
[#011] sha256:49f603479e072fa52042e523d45b315ce26581f4a32eb0912a8cb34a042a4ab8 - 0.0% (253 Bytes)
[#012] sha256:7a763844ce822c839d032de9c5b6d2c83c04c32fca70223e3c2bfbe3dec08fa9 - 0.0% (248 Bytes)
[#013] sha256:2c096f0bd60d74d8fc40c016f442b65e416960047f4df4bce946ca36bfcc65c7 - 0.0% (891 Bytes)
[#014] sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 - 0.0% (32 Bytes)
[#015] sha256:6bb51a5330e34ef60d8655b90403b55eb7ea4f345dc5f8787c20c951bfa08e20 - 12.71% (30.2 MB)
[#016] sha256:91e39e76354847d1053a1cbbd48d5cdd63cb4ca06e812bed0ffba01e36e610b5 - 23.16% (55 MB)
[#017] sha256:0d0a27a186536da9752f35cc6399c940e09d8cd773ce0bdba9d4ff3730a2b4b9 - 0.31% (759 KB)
[#018] sha256:6a733eecf2864581ba75d10a4cd516aeee146c6feea2d9f32f587110ce7dfc96 - 0.01% (22.2 KB)
[#019] sha256:f35a6dba97e4f1a17c43402e37f4c9d9d79a89daf6d10988e6f1a2495f4b85d0 - 0.0% (363 Bytes)
[#020] sha256:3393d041be6a1301467c17c9286a8c51023212911b17b41f113ea6945026a2db - 0.0% (2.79 KB)
[#021] sha256:9f46ce87e85fdacd849c23f8e54712f1e298128f9cf162a3c284ba8773301f86 - 2.33% (5.53 MB)
# debian.sh --arch 'armel' out/ 'trixie' '@1771804800'
2026-03-12 23:36:22 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-03-12 23:36:44 UTC (buildkit.dockerfile.v0)ENV PHPIZE_DEPS=autoconf dpkg-dev file g++ gcc libc-dev make pkg-config re2c
2026-03-12 23:36:44 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-03-12 23:36:44 UTC (buildkit.dockerfile.v0)ENV PHP_INI_DIR=/usr/local/etc/php
2026-03-12 23:36:44 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-03-12 23:36:44 UTC (buildkit.dockerfile.v0)ENV APACHE_CONFDIR=/etc/apache2
2026-03-12 23:36:44 UTC (buildkit.dockerfile.v0)ENV APACHE_ENVVARS=/etc/apache2/envvars
2026-03-12 23:43:54 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-03-12 23:43:54 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c a2dismod mpm_event && a2enmod mpm_prefork # buildkit
2026-03-12 23:43:54 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-03-12 23:43:54 UTC (buildkit.dockerfile.v0)ENV PHP_CFLAGS=-fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
2026-03-12 23:43:54 UTC (buildkit.dockerfile.v0)ENV PHP_CPPFLAGS=-fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
2026-03-12 23:43:54 UTC (buildkit.dockerfile.v0)ENV PHP_LDFLAGS=-Wl,-O1 -pie
2026-03-12 23:43:54 UTC (buildkit.dockerfile.v0)ENV GPG_KEYS=AFD8691FDAEDF03BDF6E460563F15A9B715376CA 9D7F99A0CB8F05C8A6958D6256A97AF7600A39A6 0616E93D95AF471243E26761770426E17EBBB3DD
2026-03-12 23:43:54 UTC (buildkit.dockerfile.v0)ENV PHP_VERSION=8.4.19
2026-03-12 23:43:54 UTC (buildkit.dockerfile.v0)ENV PHP_URL=https://www.php.net/distributions/php-8.4.19.tar.xz PHP_ASC_URL=https://www.php.net/distributions/php-8.4.19.tar.xz.asc
2026-03-12 23:43:54 UTC (buildkit.dockerfile.v0)ENV PHP_SHA256=11f7164ab26d356c31f94d3d69cc0e0707d5d2d6494a221aaeae307c08eaaa1c
2026-03-12 23:44:08 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-03-12 23:44:08 UTC (buildkit.dockerfile.v0)COPY docker-php-source /usr/local/bin/ # buildkit
2026-03-12 23:47:18 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-03-12 23:47:18 UTC (buildkit.dockerfile.v0)COPY docker-php-ext-* docker-php-entrypoint /usr/local/bin/ # buildkit
2026-03-12 23:47:18 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c docker-php-ext-enable opcache # buildkit
2026-03-12 23:47:18 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c docker-php-ext-enable sodium # buildkit
2026-03-12 23:47:18 UTC (buildkit.dockerfile.v0)ENTRYPOINT ["docker-php-entrypoint"]
2026-03-12 23:47:18 UTC (buildkit.dockerfile.v0)STOPSIGNAL SIGWINCH
2026-03-12 23:47:18 UTC (buildkit.dockerfile.v0)COPY apache2-foreground /usr/local/bin/ # buildkit
2026-03-12 23:47:18 UTC (buildkit.dockerfile.v0)WORKDIR /var/www/html
2026-03-12 23:47:18 UTC (buildkit.dockerfile.v0)EXPOSE map[80/tcp:{}]
2026-03-12 23:47:18 UTC (buildkit.dockerfile.v0)CMD ["apache2-foreground"]
2026-03-16 05:07:20 UTC (buildkit.dockerfile.v0)LABEL maintainer=Thomas Bruederli <[email protected]>
2026-03-16 05:07:20 UTC (buildkit.dockerfile.v0)LABEL org.opencontainers.image.source=https://github.com/roundcube/roundcubemail-docker
2026-03-16 05:07:20 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c apt-get update && apt-get -y upgrade && apt-get clean # buildkit
2026-03-16 06:07:53 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-03-16 06:07:53 UTC (buildkit.dockerfile.v0)COPY /usr/bin/composer /usr/bin/composer # buildkit
2026-03-16 06:07:53 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c mv "$PHP_INI_DIR/php.ini-production" "$PHP_INI_DIR/php.ini" # buildkit
2026-03-16 06:07:53 UTC (buildkit.dockerfile.v0)COPY php.ini /usr/local/etc/php/conf.d/roundcube-defaults.ini # buildkit
2026-03-16 06:07:53 UTC (buildkit.dockerfile.v0)COPY --chmod=0755 docker-entrypoint.sh / # buildkit
2026-03-16 06:07:53 UTC (buildkit.dockerfile.v0)ENV ROUNDCUBEMAIL_VERSION=1.6.13
2026-03-16 06:07:53 UTC (buildkit.dockerfile.v0)ENV ROUNDCUBEMAIL_KEYID=F3E4 C04B B3DB 5D42 15C4 5F7F 5AB2 BAA1 41C4 F7D5
2026-03-16 06:07:58 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-03-16 06:07:58 UTC (buildkit.dockerfile.v0)ENTRYPOINT ["/docker-entrypoint.sh"]
2026-03-16 06:07:58 UTC (buildkit.dockerfile.v0)CMD ["apache2-foreground"]
2026-03-16 06:05:39 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.19.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_SHA25611f7164ab26d356c31f94d3d69cc0e0707d5d2d6494a221aaeae307c08eaaa1c
PHP_URLhttps://www.php.net/distributions/php-8.4.19.tar.xz
PHP_VERSION8.4.19
ROUNDCUBEMAIL_KEYIDF3E4 C04B B3DB 5D42 15C4 5F7F 5AB2 BAA1 41C4 F7D5
ROUNDCUBEMAIL_VERSION1.6.13
[#000] sha256:be1f02cfc6708a9e39fcae481bc45544f342901641dd63341104a8ef3fa3cde9 - 11.18% (25 MB)
[#001] sha256:5a899c4cbfb943a585db3fa81bcb0968fcad509c848af877b1eff2c56f9dad81 - 0.0% (226 Bytes)
[#002] sha256:ec8dfe59486140112fc1777753968bcdc46ca971b47b13d0cc6822302f059203 - 36.79% (82.2 MB)
[#003] sha256:9a3d7538096883217260ea6d25e59db2e4358ff6ee4c3cc3a42a6f5b8a3735aa - 0.0% (223 Bytes)
[#004] sha256:e4d0a80101065fe5c9e782cdbfe29275c42d92cb54bde4431910451d08874fb2 - 1.6% (3.58 MB)
[#005] sha256:d06e4a508127ed54e35391ba705c1a3fb1f7e709cd00555ced079fe57acaf5f3 - 0.0% (432 Bytes)
[#006] sha256:9e05a53b1ab660e3a6d6ac6aa4d9c53dea3fe131161dd11249225fea7a30a7c6 - 0.0% (486 Bytes)
[#007] sha256:ccc4089cbaa590d5f9ba8e3d596be757efc418415ab9a1568b1b974eea9ca146 - 5.91% (13.2 MB)
[#008] sha256:6978b6aa87e4504aebc4206ad60b61f79c3a51319df1e6af0f55bbb7d7d40a50 - 0.0% (491 Bytes)
[#009] sha256:9ca1553298cdf5e666ca865ea55d022a0d07db140ef358f8d5a811efcc38796c - 4.95% (11.1 MB)
[#010] sha256:2eb3511d0215d9bab64aaaef0e2f15e2ae02fdf14cd794ca81c32f0c113a1d4c - 0.0% (2.4 KB)
[#011] sha256:5ea5c8498a6245755402d58e4c344660a12c59ec7afdf298f88ba570fc86d8b1 - 0.0% (253 Bytes)
[#012] sha256:a364b56da8adb8d0653cdbc266136a4a8635b5715d60662105b986270b316f6f - 0.0% (247 Bytes)
[#013] sha256:3ee73c8dbc0489e63d77554d7ebee07413af3b810d26254f14444e240d954c42 - 0.0% (889 Bytes)
[#014] sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 - 0.0% (32 Bytes)
[#015] sha256:96cee5e21532d228a166ea1e5674a21ed44ac877ce25e15945491ddb138768ff - 13.09% (29.3 MB)
[#016] sha256:4d6a77af9b5dd96db4d1fa47e7a1b722e77d8f38ced1c8107ad7679da46c0ff5 - 23.66% (52.9 MB)
[#017] sha256:67c857cef5748a690a5c49e509070833ea611bd5db9a51b0a27c999ba749fc04 - 0.33% (759 KB)
[#018] sha256:96db30d73ef898d4242f840117e865ff23ba1a834f8ca197649b31d15965d994 - 0.01% (22.2 KB)
[#019] sha256:9b6b6b7f9797c3b94f295d169b5327a0561ac1f1c595ef12333ef276abcafcdc - 0.0% (362 Bytes)
[#020] sha256:3393d041be6a1301467c17c9286a8c51023212911b17b41f113ea6945026a2db - 0.0% (2.79 KB)
[#021] sha256:294cd0649f7b1232922ff3b7a5512f1a7eec7ec9bde001ae195eb3f160b6c882 - 2.47% (5.53 MB)
# debian.sh --arch 'armhf' out/ 'trixie' '@1771804800'
2026-03-12 23:39:17 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-03-12 23:39:35 UTC (buildkit.dockerfile.v0)ENV PHPIZE_DEPS=autoconf dpkg-dev file g++ gcc libc-dev make pkg-config re2c
2026-03-12 23:39:35 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-03-12 23:39:35 UTC (buildkit.dockerfile.v0)ENV PHP_INI_DIR=/usr/local/etc/php
2026-03-12 23:39:35 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-03-12 23:39:35 UTC (buildkit.dockerfile.v0)ENV APACHE_CONFDIR=/etc/apache2
2026-03-12 23:39:35 UTC (buildkit.dockerfile.v0)ENV APACHE_ENVVARS=/etc/apache2/envvars
2026-03-12 23:39:43 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-03-12 23:39:43 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c a2dismod mpm_event && a2enmod mpm_prefork # buildkit
2026-03-12 23:39:43 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-03-12 23:39:43 UTC (buildkit.dockerfile.v0)ENV PHP_CFLAGS=-fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
2026-03-12 23:39:43 UTC (buildkit.dockerfile.v0)ENV PHP_CPPFLAGS=-fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
2026-03-12 23:39:43 UTC (buildkit.dockerfile.v0)ENV PHP_LDFLAGS=-Wl,-O1 -pie
2026-03-12 23:39:43 UTC (buildkit.dockerfile.v0)ENV GPG_KEYS=AFD8691FDAEDF03BDF6E460563F15A9B715376CA 9D7F99A0CB8F05C8A6958D6256A97AF7600A39A6 0616E93D95AF471243E26761770426E17EBBB3DD
2026-03-12 23:39:43 UTC (buildkit.dockerfile.v0)ENV PHP_VERSION=8.4.19
2026-03-12 23:39:43 UTC (buildkit.dockerfile.v0)ENV PHP_URL=https://www.php.net/distributions/php-8.4.19.tar.xz PHP_ASC_URL=https://www.php.net/distributions/php-8.4.19.tar.xz.asc
2026-03-12 23:39:43 UTC (buildkit.dockerfile.v0)ENV PHP_SHA256=11f7164ab26d356c31f94d3d69cc0e0707d5d2d6494a221aaeae307c08eaaa1c
2026-03-12 23:39: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-03-12 23:39:54 UTC (buildkit.dockerfile.v0)COPY docker-php-source /usr/local/bin/ # buildkit
2026-03-12 23:42:44 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-03-12 23:42:44 UTC (buildkit.dockerfile.v0)COPY docker-php-ext-* docker-php-entrypoint /usr/local/bin/ # buildkit
2026-03-12 23:42:44 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c docker-php-ext-enable opcache # buildkit
2026-03-12 23:42:44 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c docker-php-ext-enable sodium # buildkit
2026-03-12 23:42:44 UTC (buildkit.dockerfile.v0)ENTRYPOINT ["docker-php-entrypoint"]
2026-03-12 23:42:44 UTC (buildkit.dockerfile.v0)STOPSIGNAL SIGWINCH
2026-03-12 23:42:44 UTC (buildkit.dockerfile.v0)COPY apache2-foreground /usr/local/bin/ # buildkit
2026-03-12 23:42:44 UTC (buildkit.dockerfile.v0)WORKDIR /var/www/html
2026-03-12 23:42:44 UTC (buildkit.dockerfile.v0)EXPOSE map[80/tcp:{}]
2026-03-12 23:42:44 UTC (buildkit.dockerfile.v0)CMD ["apache2-foreground"]
2026-03-16 05:06:49 UTC (buildkit.dockerfile.v0)LABEL maintainer=Thomas Bruederli <[email protected]>
2026-03-16 05:06:49 UTC (buildkit.dockerfile.v0)LABEL org.opencontainers.image.source=https://github.com/roundcube/roundcubemail-docker
2026-03-16 05:06:49 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c apt-get update && apt-get -y upgrade && apt-get clean # buildkit
2026-03-16 06:05:33 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-03-16 06:05:33 UTC (buildkit.dockerfile.v0)COPY /usr/bin/composer /usr/bin/composer # buildkit
2026-03-16 06:05:33 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c mv "$PHP_INI_DIR/php.ini-production" "$PHP_INI_DIR/php.ini" # buildkit
2026-03-16 06:05:33 UTC (buildkit.dockerfile.v0)COPY php.ini /usr/local/etc/php/conf.d/roundcube-defaults.ini # buildkit
2026-03-16 06:05:33 UTC (buildkit.dockerfile.v0)COPY --chmod=0755 docker-entrypoint.sh / # buildkit
2026-03-16 06:05:33 UTC (buildkit.dockerfile.v0)ENV ROUNDCUBEMAIL_VERSION=1.6.13
2026-03-16 06:05:33 UTC (buildkit.dockerfile.v0)ENV ROUNDCUBEMAIL_KEYID=F3E4 C04B B3DB 5D42 15C4 5F7F 5AB2 BAA1 41C4 F7D5
2026-03-16 06:05:39 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-03-16 06:05:39 UTC (buildkit.dockerfile.v0)ENTRYPOINT ["/docker-entrypoint.sh"]
2026-03-16 06:05:39 UTC (buildkit.dockerfile.v0)CMD ["apache2-foreground"]
2026-03-16 06:10:34 UTC
259 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.19.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_SHA25611f7164ab26d356c31f94d3d69cc0e0707d5d2d6494a221aaeae307c08eaaa1c
PHP_URLhttps://www.php.net/distributions/php-8.4.19.tar.xz
PHP_VERSION8.4.19
ROUNDCUBEMAIL_KEYIDF3E4 C04B B3DB 5D42 15C4 5F7F 5AB2 BAA1 41C4 F7D5
ROUNDCUBEMAIL_VERSION1.6.13
[#000] sha256:3b66ab8c894cad95899b704e688938517870850391d1349c862c2b09214acb86 - 11.12% (28.7 MB)
[#001] sha256:901a74381638d8a259939736fdf4b50184ced6b082452080ebe805354b029b2b - 0.0% (226 Bytes)
[#002] sha256:f10f1a758f0f246eaf8c6c9a0ce008a23e6ba6557c59e41e47da6f84da6e5106 - 40.63% (105 MB)
[#003] sha256:08772f45a65c4295d71963dae09d59c562e9c1e394746eccccd85484757cbb96 - 0.0% (227 Bytes)
[#004] sha256:8b0f4fe8bac8b9dde7896c0af5787b314fc8331dd02d7eed8a073be5da9df0cd - 1.59% (4.11 MB)
[#005] sha256:8f4530f9d9f1a80b3853c538a693913ac58f946d624f1e4efff28e39ba0c7434 - 0.0% (434 Bytes)
[#006] sha256:e527c03a3b3c1ee0908e6ddb4bcdd7e03f5e37ae868992791e8099838c7dff9e - 0.0% (484 Bytes)
[#007] sha256:f1bdba70f0a9b6eb30f71496dc91d9734a68239a6945cb52876c88ed5cc10356 - 5.11% (13.2 MB)
[#008] sha256:64d5bdc07e87e42b030b136648618b1ce125c5a8086e6c261229d9b47c31e29a - 0.0% (490 Bytes)
[#009] sha256:833f124e8ab3ce7de974a7077319abf4cc5a19fa5c136c38391693af147063f4 - 4.87% (12.6 MB)
[#010] sha256:784a976fdadcae4dc6aebba82a4f3ba5bd1ab4a7f7932a510f428c71c1290988 - 0.0% (2.4 KB)
[#011] sha256:e48fbd80038eefdedfb875397874b1a3512ee08945dfe941983ea0a3208b5b83 - 0.0% (250 Bytes)
[#012] sha256:194b0a8be8a98fbc5940a9831ab12f5e1cbf3e9bf1d04ebce42cadd5d89eb2d5 - 0.0% (245 Bytes)
[#013] sha256:c11e44ecdf3c27462032a8e7fbf7bfbd15105c3c8aab3b04162a0925de1449e2 - 0.0% (893 Bytes)
[#014] sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 - 0.0% (32 Bytes)
[#015] sha256:a192e002ac676698e971d13d3f71be851a6da39c82d8ca7777dddd6fc19418a3 - 12.45% (32.2 MB)
[#016] sha256:1aa5fe72afd2ed310c980940fe0cb06ff622d32ba80239c885e74ce0f2ef0806 - 21.8% (56.4 MB)
[#017] sha256:ebfa8a23f4d43a5b6038569b17d3d284b32ad5b6e321a4a3bc872be5a0eba0c4 - 0.29% (759 KB)
[#018] sha256:08386bca0db8cea0188213adc69ce7fcf93f2ad291df98392e8d389fe20ad69f - 0.01% (22.2 KB)
[#019] sha256:bc47df2bb3e6e7472281c1de6afacfee38429f4bf7e77b9fd93f455a27b1d11e - 0.0% (367 Bytes)
[#020] sha256:3393d041be6a1301467c17c9286a8c51023212911b17b41f113ea6945026a2db - 0.0% (2.79 KB)
[#021] sha256:62b2deda95cfec860ad9bef95f133fdf549cd063bc53f104e9f62b9c4acda690 - 2.14% (5.53 MB)
# debian.sh --arch 'arm64' out/ 'trixie' '@1771804800'
2026-03-12 23:35:26 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-03-12 23:35:44 UTC (buildkit.dockerfile.v0)ENV PHPIZE_DEPS=autoconf dpkg-dev file g++ gcc libc-dev make pkg-config re2c
2026-03-12 23:35:44 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-03-12 23:35:44 UTC (buildkit.dockerfile.v0)ENV PHP_INI_DIR=/usr/local/etc/php
2026-03-12 23:35:44 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-03-12 23:35:44 UTC (buildkit.dockerfile.v0)ENV APACHE_CONFDIR=/etc/apache2
2026-03-12 23:35:44 UTC (buildkit.dockerfile.v0)ENV APACHE_ENVVARS=/etc/apache2/envvars
2026-03-12 23:35:50 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-03-12 23:35:51 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c a2dismod mpm_event && a2enmod mpm_prefork # buildkit
2026-03-12 23:35:51 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-03-12 23:35:51 UTC (buildkit.dockerfile.v0)ENV PHP_CFLAGS=-fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
2026-03-12 23:35:51 UTC (buildkit.dockerfile.v0)ENV PHP_CPPFLAGS=-fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
2026-03-12 23:35:51 UTC (buildkit.dockerfile.v0)ENV PHP_LDFLAGS=-Wl,-O1 -pie
2026-03-12 23:35:51 UTC (buildkit.dockerfile.v0)ENV GPG_KEYS=AFD8691FDAEDF03BDF6E460563F15A9B715376CA 9D7F99A0CB8F05C8A6958D6256A97AF7600A39A6 0616E93D95AF471243E26761770426E17EBBB3DD
2026-03-12 23:35:51 UTC (buildkit.dockerfile.v0)ENV PHP_VERSION=8.4.19
2026-03-12 23:35:51 UTC (buildkit.dockerfile.v0)ENV PHP_URL=https://www.php.net/distributions/php-8.4.19.tar.xz PHP_ASC_URL=https://www.php.net/distributions/php-8.4.19.tar.xz.asc
2026-03-12 23:35:51 UTC (buildkit.dockerfile.v0)ENV PHP_SHA256=11f7164ab26d356c31f94d3d69cc0e0707d5d2d6494a221aaeae307c08eaaa1c
2026-03-12 23:36:00 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-03-12 23:36:00 UTC (buildkit.dockerfile.v0)COPY docker-php-source /usr/local/bin/ # buildkit
2026-03-12 23:39:01 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-03-12 23:39:02 UTC (buildkit.dockerfile.v0)COPY docker-php-ext-* docker-php-entrypoint /usr/local/bin/ # buildkit
2026-03-12 23:39:02 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c docker-php-ext-enable opcache # buildkit
2026-03-12 23:39:02 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c docker-php-ext-enable sodium # buildkit
2026-03-12 23:39:02 UTC (buildkit.dockerfile.v0)ENTRYPOINT ["docker-php-entrypoint"]
2026-03-12 23:39:02 UTC (buildkit.dockerfile.v0)STOPSIGNAL SIGWINCH
2026-03-12 23:39:02 UTC (buildkit.dockerfile.v0)COPY apache2-foreground /usr/local/bin/ # buildkit
2026-03-12 23:39:02 UTC (buildkit.dockerfile.v0)WORKDIR /var/www/html
2026-03-12 23:39:02 UTC (buildkit.dockerfile.v0)EXPOSE map[80/tcp:{}]
2026-03-12 23:39:02 UTC (buildkit.dockerfile.v0)CMD ["apache2-foreground"]
2026-03-16 05:07:06 UTC (buildkit.dockerfile.v0)LABEL maintainer=Thomas Bruederli <[email protected]>
2026-03-16 05:07:06 UTC (buildkit.dockerfile.v0)LABEL org.opencontainers.image.source=https://github.com/roundcube/roundcubemail-docker
2026-03-16 05:07:06 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c apt-get update && apt-get -y upgrade && apt-get clean # buildkit
2026-03-16 06:10:30 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-03-16 06:10:30 UTC (buildkit.dockerfile.v0)COPY /usr/bin/composer /usr/bin/composer # buildkit
2026-03-16 06:10:30 UTC (buildkit.dockerfile.v0)RUN /bin/sh -c mv "$PHP_INI_DIR/php.ini-production" "$PHP_INI_DIR/php.ini" # buildkit
2026-03-16 06:10:30 UTC (buildkit.dockerfile.v0)COPY php.ini /usr/local/etc/php/conf.d/roundcube-defaults.ini # buildkit
2026-03-16 06:10:30 UTC (buildkit.dockerfile.v0)COPY --chmod=0755 docker-entrypoint.sh / # buildkit
2026-03-16 06:10:30 UTC (buildkit.dockerfile.v0)ENV ROUNDCUBEMAIL_VERSION=1.6.13
2026-03-16 06:10:30 UTC (buildkit.dockerfile.v0)ENV ROUNDCUBEMAIL_KEYID=F3E4 C04B B3DB 5D42 15C4 5F7F 5AB2 BAA1 41C4 F7D5
2026-03-16 06:10:34 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-03-16 06:10:34 UTC (buildkit.dockerfile.v0)ENTRYPOINT ["/docker-entrypoint.sh"]
2026-03-16 06:10:34 UTC (buildkit.dockerfile.v0)CMD ["apache2-foreground"]