Namespace
roundcube
Image / Tag
roundcubemail:1.6.x-fpm-alpine
Content Digest
sha256:ac1018556a559200e816cb5106cc65286c2e9ca629c0dc88f574d4c424cf8182
Details
Created

2026-03-23 04:47:17 UTC

Size

66.7 MB

Content Digest
Labels
  • maintainer
    Thomas Bruederli <[email protected]>
  • org.opencontainers.image.source
    https://github.com/roundcube/roundcubemail-docker

Environment
GPG_KEYS

AFD8691FDAEDF03BDF6E460563F15A9B715376CA 9D7F99A0CB8F05C8A6958D6256A97AF7600A39A6 0616E93D95AF471243E26761770426E17EBBB3DD

PATH

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

PHPIZE_DEPS

autoconf dpkg-dev dpkg file g++ gcc libc-dev make pkgconf re2c

PHP_ASC_URL

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

PHP_CFLAGS

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

PHP_CPPFLAGS

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

PHP_INI_DIR

/usr/local/etc/php

PHP_LDFLAGS

-Wl,-O1 -pie

PHP_SHA256

a060684f614b8344f9b34c334b6ba8db1177555997edb5b1aceab0a4b807da7e

PHP_URL

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

PHP_VERSION

8.4.15

ROUNDCUBEMAIL_KEYID

F3E4 C04B B3DB 5D42 15C4 5F7F 5AB2 BAA1 41C4 F7D5

ROUNDCUBEMAIL_VERSION

1.6.14


Layers

[#000] sha256:bbedd1c05bb5090fc3fc2356be88d60b2a60937565b56e91fb4be42c5c73d485 - 4.96% (3.3 MB)

[#001] sha256:17b6c464c62d0a6e475e9a5222c138879e0b87710940ac4fa5d672f707e3c778 - 4.88% (3.25 MB)

[#002] sha256:9823d238d0dd448c43b5c2d28c9cc94f4e0a46ff1e1d47db79ceb666b3623fdd - 0.0% (939 Bytes)

[#003] sha256:1e5a7c42221ea2ae760bf79306b41d868d05d16196b5dbc914e349dbeffc6222 - 0.0% (222 Bytes)

[#004] sha256:5b0cb987d731bd27f023d3e99d8bb56e168332c326faa5a18d17194776be98dc - 19.56% (13 MB)

[#005] sha256:53f04fa97a0d083a09fb0d92504cd536bffeb83db70eae0c4e4586630954de2a - 0.0% (486 Bytes)

[#006] sha256:e73fd0805493917838b3c5c7be1b3dfc3b8edec12fed2264906d9d65972e0d98 - 22.08% (14.7 MB)

[#007] sha256:59dd0054ea7cc8f01ad89baf780a3d57c25034c740c0a781af5b5aafd53bad05 - 0.0% (2.39 KB)

[#008] sha256:484229055804846d2c3151ce837dbd6e8998394ab12eea69c42de43e601e7cd3 - 0.03% (19.5 KB)

[#009] sha256:2c4698cd3d9d5909a81d56e389adac5bfeb0e19e1a1d0aecc58041c9cd9ea4c2 - 0.03% (19.5 KB)

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

[#011] sha256:9bf100585e4b03167becb001f3c06473d042ae137d2b120609f0c81b5d06749b - 0.01% (8.98 KB)

[#012] sha256:61197aa74b0f2e5dcd0ddd9545c4d2cececa31ad96c88c681aecea1e8fdb48f7 - 4.88% (3.26 MB)

[#013] sha256:e0cab2c95d3cccffc4815d64a395a3b5bb15060030fde8d76c8858adbc52513f - 7.78% (5.19 MB)

[#014] sha256:0cfe9bf10e32f0ce50ce0e48aa0c5450a79cd3e3bbbfc18d4169c23968f8badc - 19.01% (12.7 MB)

[#015] sha256:a219f620fc8c3d38586b9f83529cc646134126fa18578817508a7fa958992260 - 1.11% (759 KB)

[#016] sha256:5dbe78f69cb6f0a507fae1ae8739aaae852973ef08b4d43f3a212496eb2f35e4 - 0.03% (22.2 KB)

[#017] sha256:9e6770b25468c0f81a86b505228e751e8d59217fb10e9782657f8c35d9492da1 - 0.0% (364 Bytes)

[#018] sha256:61a11c21c3578f48f9ed7e75444c7a311ebabd410c6c3a6d2c298b423c5da215 - 0.0% (2.79 KB)

[#019] sha256:d73a27299d29107d7a4092d8846bd088bf26c461c7303bad20ea73b1ac189d2b - 15.62% (10.4 MB)


History
2025-10-08 11:06:42 UTC (buildkit.dockerfile.v0)

ADD alpine-minirootfs-3.21.5-x86.tar.gz / # buildkit

2025-10-08 11:06:42 UTC (buildkit.dockerfile.v0)

CMD ["/bin/sh"]

2025-11-20 19:59:47 UTC (buildkit.dockerfile.v0)

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

2025-11-20 19:59:47 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c apk add --no-cache ca-certificates curl openssl tar xz # buildkit

2025-11-20 19:59:48 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; adduser -u 82 -D -S -G www-data www-data # buildkit

2025-11-20 19:59:48 UTC (buildkit.dockerfile.v0)

ENV PHP_INI_DIR=/usr/local/etc/php

2025-11-20 19:59: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

2025-11-20 19:59:48 UTC (buildkit.dockerfile.v0)

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

2025-11-20 19:59:48 UTC (buildkit.dockerfile.v0)

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

2025-11-20 19:59:48 UTC (buildkit.dockerfile.v0)

ENV PHP_LDFLAGS=-Wl,-O1 -pie

2025-11-20 19:59:48 UTC (buildkit.dockerfile.v0)

ENV GPG_KEYS=AFD8691FDAEDF03BDF6E460563F15A9B715376CA 9D7F99A0CB8F05C8A6958D6256A97AF7600A39A6 0616E93D95AF471243E26761770426E17EBBB3DD

2025-11-20 19:59:48 UTC (buildkit.dockerfile.v0)

ENV PHP_VERSION=8.4.15

2025-11-20 19:59:48 UTC (buildkit.dockerfile.v0)

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

2025-11-20 19:59:48 UTC (buildkit.dockerfile.v0)

ENV PHP_SHA256=a060684f614b8344f9b34c334b6ba8db1177555997edb5b1aceab0a4b807da7e

2025-11-20 19:59:51 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; apk add --no-cache --virtual .fetch-deps gnupg; 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"; apk del --no-network .fetch-deps # buildkit

2025-11-20 19:59:51 UTC (buildkit.dockerfile.v0)

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

2025-11-20 20:02:57 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; apk add --no-cache --virtual .build-deps $PHPIZE_DEPS argon2-dev coreutils curl-dev gnu-libiconv-dev libsodium-dev libxml2-dev linux-headers oniguruma-dev openssl-dev readline-dev sqlite-dev ; rm -vf /usr/include/iconv.h; 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)"; ./configure --build="$gnuArch" --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=/usr --with-openssl --with-readline --with-zlib --disable-phpdbg --with-pear --disable-cgi --enable-fpm --with-fpm-user=www-data --with-fpm-group=www-data ; 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; runDeps="$( scanelf --needed --nobanner --format '%n#p' --recursive /usr/local | tr ',' '\n' | sort -u | awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' )"; apk add --no-cache $runDeps; apk del --no-network .build-deps; pecl update-channels; rm -rf /tmp/pear ~/.pearrc; php --version # buildkit

2025-11-20 20:02:57 UTC (buildkit.dockerfile.v0)

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

2025-11-20 20:02:58 UTC (buildkit.dockerfile.v0)

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

2025-11-20 20:02:59 UTC (buildkit.dockerfile.v0)

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

2025-11-20 20:02:59 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["docker-php-entrypoint"]

2025-11-20 20:02:59 UTC (buildkit.dockerfile.v0)

WORKDIR /var/www/html

2025-11-20 20:02:59 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; cd /usr/local/etc; if [ -d php-fpm.d ]; then sed 's!=NONE/!=!g' php-fpm.conf.default | tee php-fpm.conf > /dev/null; cp php-fpm.d/www.conf.default php-fpm.d/www.conf; else mkdir php-fpm.d; cp php-fpm.conf.default php-fpm.d/www.conf; { echo '[global]'; echo 'include=etc/php-fpm.d/*.conf'; } | tee php-fpm.conf; fi; { echo '[global]'; echo 'error_log = /proc/self/fd/2'; echo; echo '; https://github.com/docker-library/php/pull/725#issuecomment-443540114'; echo 'log_limit = 8192'; echo; echo '[www]'; echo '; php-fpm closes STDOUT on startup, so sending logs to /proc/self/fd/1 does not work.'; echo '; https://bugs.php.net/bug.php?id=73886'; echo 'access.log = /proc/self/fd/2'; echo; echo 'clear_env = no'; echo; echo '; Ensure worker stdout and stderr are sent to the main error log.'; echo 'catch_workers_output = yes'; echo 'decorate_workers_output = no'; } | tee php-fpm.d/docker.conf; { echo '[global]'; echo 'daemonize = no'; echo; echo '[www]'; echo 'listen = 9000'; } | tee php-fpm.d/zz-docker.conf; mkdir -p "$PHP_INI_DIR/conf.d"; { echo '; https://github.com/docker-library/php/issues/878#issuecomment-938595965'; echo 'fastcgi.logging = Off'; } > "$PHP_INI_DIR/conf.d/docker-fpm.ini" # buildkit

2025-11-20 20:02:59 UTC (buildkit.dockerfile.v0)

STOPSIGNAL SIGQUIT

2025-11-20 20:02:59 UTC (buildkit.dockerfile.v0)

EXPOSE map[9000/tcp:{}]

2025-11-20 20:02:59 UTC (buildkit.dockerfile.v0)

CMD ["php-fpm"]

2026-03-23 04:42:31 UTC (buildkit.dockerfile.v0)

LABEL maintainer=Thomas Bruederli <[email protected]>

2026-03-23 04:42:31 UTC (buildkit.dockerfile.v0)

LABEL org.opencontainers.image.source=https://github.com/roundcube/roundcubemail-docker

2026-03-23 04:42:31 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c apk upgrade --no-cache # buildkit

2026-03-23 04:42:35 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -ex; if [ "fpm-alpine" = "apache" ]; then a2enmod rewrite; fi; apk add --no-cache bash coreutils rsync tzdata aspell aspell-en unzip # buildkit

2026-03-23 04:47:14 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -ex; apk add --no-cache --virtual .build-deps $PHPIZE_DEPS icu-dev freetype-dev imagemagick-dev libjpeg-turbo-dev libpng-dev libzip-dev libtool openldap-dev cyrus-sasl-dev postgresql-dev sqlite-dev aspell-dev ; pecl bundle -d /usr/src/php/ext imagick; pecl bundle -d /usr/src/php/ext redis; pecl bundle -d /usr/src/php/ext pspell; docker-php-ext-configure gd --with-jpeg --with-freetype; docker-php-ext-configure ldap --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; extdir="$(php -r 'echo ini_get("extension_dir");')"; runDeps="$( scanelf --needed --nobanner --format '%n#p' --recursive $extdir | tr ',' '\n' | sort -u | awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' )"; apk add --virtual .roundcubemail-phpext-rundeps imagemagick $runDeps; apk del .build-deps; 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-23 04:47:14 UTC (buildkit.dockerfile.v0)

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

2026-03-23 04:47:14 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c mv "$PHP_INI_DIR/php.ini-production" "$PHP_INI_DIR/php.ini" # buildkit

2026-03-23 04:47:14 UTC (buildkit.dockerfile.v0)

COPY php.ini /usr/local/etc/php/conf.d/roundcube-defaults.ini # buildkit

2026-03-23 04:47:14 UTC (buildkit.dockerfile.v0)

COPY --chmod=0755 docker-entrypoint.sh / # buildkit

2026-03-23 04:47:14 UTC (buildkit.dockerfile.v0)

ENV ROUNDCUBEMAIL_VERSION=1.6.14

2026-03-23 04:47:14 UTC (buildkit.dockerfile.v0)

ENV ROUNDCUBEMAIL_KEYID=F3E4 C04B B3DB 5D42 15C4 5F7F 5AB2 BAA1 41C4 F7D5

2026-03-23 04:47:17 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -ex; apk add --no-cache gnupg; 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-23 04:47:17 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["/docker-entrypoint.sh"]

2026-03-23 04:47:17 UTC (buildkit.dockerfile.v0)

CMD ["php-fpm"]

Details
Created

2026-03-23 04:41:53 UTC

Size

66.4 MB

Content Digest
Labels
  • maintainer
    Thomas Bruederli <[email protected]>
  • org.opencontainers.image.source
    https://github.com/roundcube/roundcubemail-docker

Environment
GPG_KEYS

AFD8691FDAEDF03BDF6E460563F15A9B715376CA 9D7F99A0CB8F05C8A6958D6256A97AF7600A39A6 0616E93D95AF471243E26761770426E17EBBB3DD

PATH

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

PHPIZE_DEPS

autoconf dpkg-dev dpkg file g++ gcc libc-dev make pkgconf re2c

PHP_ASC_URL

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

PHP_CFLAGS

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

PHP_CPPFLAGS

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

PHP_INI_DIR

/usr/local/etc/php

PHP_LDFLAGS

-Wl,-O1 -pie

PHP_SHA256

a060684f614b8344f9b34c334b6ba8db1177555997edb5b1aceab0a4b807da7e

PHP_URL

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

PHP_VERSION

8.4.15

ROUNDCUBEMAIL_KEYID

F3E4 C04B B3DB 5D42 15C4 5F7F 5AB2 BAA1 41C4 F7D5

ROUNDCUBEMAIL_VERSION

1.6.14


Layers

[#000] sha256:f637881d1138581d892d9eb942c56e0ccc7758fe3bdc0f1e6cd66059fdfd8185 - 5.23% (3.47 MB)

[#001] sha256:2ba0e426f3e8d15c8130cdd6d4dcb023be6e4a6dfd3030bb27f2c934364def9a - 4.84% (3.21 MB)

[#002] sha256:48b935e0712f4a01225fef637d3554091ac19f19340bed8083ab3b722a621f80 - 0.0% (935 Bytes)

[#003] sha256:6c71acb8b03265b1e9a38c4decef028b51303eff52a63a6fa636ecdbf14b15cb - 0.0% (224 Bytes)

[#004] sha256:1e601cc496d60ad1e3e75f866f84642042e7102859acdbf95c868234a357c941 - 19.64% (13 MB)

[#005] sha256:741b4001caec58b2adb38ccf742ff4dfe8c3c328c954ec8a973501c84db6992a - 0.0% (488 Bytes)

[#006] sha256:c7bbe5cefdd000f2281366c96aa1dd9ca2a27f51cd1c148a2194b17e81aeb578 - 21.58% (14.3 MB)

[#007] sha256:0a6cb370a1fe8680ff14bc131527a905c96eac67a884e853211aae7d2eb70230 - 0.0% (2.39 KB)

[#008] sha256:7344e5acc13115a3ad2dcc0aa275fdbcecda64202949e94ca3537b55db9a0261 - 0.03% (19.5 KB)

[#009] sha256:395ea5a411423195c73c65406de036f83f197017fe8e5462217037f34c9ca5fc - 0.03% (19.5 KB)

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

[#011] sha256:6110fc9c25e9310907fae0354fb9bbf0df27bd49c247b119bc5873c2263dc52f - 0.01% (8.98 KB)

[#012] sha256:50f172b73c44eade9f16363317215612608820a8196a3c5b475c2baaca8eba05 - 5.15% (3.42 MB)

[#013] sha256:dc0ae33a4e900837b31ce9058adde84af9833255f2d45ce97a123968d5158a1e - 7.62% (5.06 MB)

[#014] sha256:fb7b3e009e9eba161aff9755295aa5842a2d76058b3d42c0b2dd1a7e4602b4c8 - 18.85% (12.5 MB)

[#015] sha256:37fee6d6da56a736f0f7704f053bb59a1146a3bfbc85c260111832b1c0c2bc3f - 1.12% (759 KB)

[#016] sha256:76a544f362e6fb917909a35a19ae512a2d481b40242fdea44011b200cb1d894d - 0.03% (22.2 KB)

[#017] sha256:05c32bf15e08aecb545594a25ff19d1ad0046c07fa6eefcfc61a227b52beebb7 - 0.0% (363 Bytes)

[#018] sha256:61a11c21c3578f48f9ed7e75444c7a311ebabd410c6c3a6d2c298b423c5da215 - 0.0% (2.79 KB)

[#019] sha256:5a033c7e1939e5d54fedd518b23a4826b7e5e42ebcdf0b5fd888eae5b00302cc - 15.86% (10.5 MB)


History
2025-10-08 11:06:42 UTC (buildkit.dockerfile.v0)

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

2025-10-08 11:06:42 UTC (buildkit.dockerfile.v0)

CMD ["/bin/sh"]

2025-11-20 19:50:43 UTC (buildkit.dockerfile.v0)

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

2025-11-20 19:50:43 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c apk add --no-cache ca-certificates curl openssl tar xz # buildkit

2025-11-20 19:50:43 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; adduser -u 82 -D -S -G www-data www-data # buildkit

2025-11-20 19:50:43 UTC (buildkit.dockerfile.v0)

ENV PHP_INI_DIR=/usr/local/etc/php

2025-11-20 19:50:43 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

2025-11-20 19:50:43 UTC (buildkit.dockerfile.v0)

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

2025-11-20 19:50:43 UTC (buildkit.dockerfile.v0)

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

2025-11-20 19:50:43 UTC (buildkit.dockerfile.v0)

ENV PHP_LDFLAGS=-Wl,-O1 -pie

2025-11-20 19:50:43 UTC (buildkit.dockerfile.v0)

ENV GPG_KEYS=AFD8691FDAEDF03BDF6E460563F15A9B715376CA 9D7F99A0CB8F05C8A6958D6256A97AF7600A39A6 0616E93D95AF471243E26761770426E17EBBB3DD

2025-11-20 19:50:43 UTC (buildkit.dockerfile.v0)

ENV PHP_VERSION=8.4.15

2025-11-20 19:50:43 UTC (buildkit.dockerfile.v0)

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

2025-11-20 19:50:43 UTC (buildkit.dockerfile.v0)

ENV PHP_SHA256=a060684f614b8344f9b34c334b6ba8db1177555997edb5b1aceab0a4b807da7e

2025-11-20 19:57:40 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; apk add --no-cache --virtual .fetch-deps gnupg; 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"; apk del --no-network .fetch-deps # buildkit

2025-11-20 19:57:40 UTC (buildkit.dockerfile.v0)

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

2025-11-20 20:00:22 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; apk add --no-cache --virtual .build-deps $PHPIZE_DEPS argon2-dev coreutils curl-dev gnu-libiconv-dev libsodium-dev libxml2-dev linux-headers oniguruma-dev openssl-dev readline-dev sqlite-dev ; rm -vf /usr/include/iconv.h; 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)"; ./configure --build="$gnuArch" --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=/usr --with-openssl --with-readline --with-zlib --disable-phpdbg --with-pear --disable-cgi --enable-fpm --with-fpm-user=www-data --with-fpm-group=www-data ; 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; runDeps="$( scanelf --needed --nobanner --format '%n#p' --recursive /usr/local | tr ',' '\n' | sort -u | awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' )"; apk add --no-cache $runDeps; apk del --no-network .build-deps; pecl update-channels; rm -rf /tmp/pear ~/.pearrc; php --version # buildkit

2025-11-20 20:00:22 UTC (buildkit.dockerfile.v0)

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

2025-11-20 20:00:22 UTC (buildkit.dockerfile.v0)

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

2025-11-20 20:00:23 UTC (buildkit.dockerfile.v0)

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

2025-11-20 20:00:23 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["docker-php-entrypoint"]

2025-11-20 20:00:23 UTC (buildkit.dockerfile.v0)

WORKDIR /var/www/html

2025-11-20 20:00:23 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; cd /usr/local/etc; if [ -d php-fpm.d ]; then sed 's!=NONE/!=!g' php-fpm.conf.default | tee php-fpm.conf > /dev/null; cp php-fpm.d/www.conf.default php-fpm.d/www.conf; else mkdir php-fpm.d; cp php-fpm.conf.default php-fpm.d/www.conf; { echo '[global]'; echo 'include=etc/php-fpm.d/*.conf'; } | tee php-fpm.conf; fi; { echo '[global]'; echo 'error_log = /proc/self/fd/2'; echo; echo '; https://github.com/docker-library/php/pull/725#issuecomment-443540114'; echo 'log_limit = 8192'; echo; echo '[www]'; echo '; php-fpm closes STDOUT on startup, so sending logs to /proc/self/fd/1 does not work.'; echo '; https://bugs.php.net/bug.php?id=73886'; echo 'access.log = /proc/self/fd/2'; echo; echo 'clear_env = no'; echo; echo '; Ensure worker stdout and stderr are sent to the main error log.'; echo 'catch_workers_output = yes'; echo 'decorate_workers_output = no'; } | tee php-fpm.d/docker.conf; { echo '[global]'; echo 'daemonize = no'; echo; echo '[www]'; echo 'listen = 9000'; } | tee php-fpm.d/zz-docker.conf; mkdir -p "$PHP_INI_DIR/conf.d"; { echo '; https://github.com/docker-library/php/issues/878#issuecomment-938595965'; echo 'fastcgi.logging = Off'; } > "$PHP_INI_DIR/conf.d/docker-fpm.ini" # buildkit

2025-11-20 20:00:23 UTC (buildkit.dockerfile.v0)

STOPSIGNAL SIGQUIT

2025-11-20 20:00:23 UTC (buildkit.dockerfile.v0)

EXPOSE map[9000/tcp:{}]

2025-11-20 20:00:23 UTC (buildkit.dockerfile.v0)

CMD ["php-fpm"]

2026-03-23 04:39:11 UTC (buildkit.dockerfile.v0)

LABEL maintainer=Thomas Bruederli <[email protected]>

2026-03-23 04:39:11 UTC (buildkit.dockerfile.v0)

LABEL org.opencontainers.image.source=https://github.com/roundcube/roundcubemail-docker

2026-03-23 04:39:11 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c apk upgrade --no-cache # buildkit

2026-03-23 04:39:12 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -ex; if [ "fpm-alpine" = "apache" ]; then a2enmod rewrite; fi; apk add --no-cache bash coreutils rsync tzdata aspell aspell-en unzip # buildkit

2026-03-23 04:41:51 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -ex; apk add --no-cache --virtual .build-deps $PHPIZE_DEPS icu-dev freetype-dev imagemagick-dev libjpeg-turbo-dev libpng-dev libzip-dev libtool openldap-dev cyrus-sasl-dev postgresql-dev sqlite-dev aspell-dev ; pecl bundle -d /usr/src/php/ext imagick; pecl bundle -d /usr/src/php/ext redis; pecl bundle -d /usr/src/php/ext pspell; docker-php-ext-configure gd --with-jpeg --with-freetype; docker-php-ext-configure ldap --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; extdir="$(php -r 'echo ini_get("extension_dir");')"; runDeps="$( scanelf --needed --nobanner --format '%n#p' --recursive $extdir | tr ',' '\n' | sort -u | awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' )"; apk add --virtual .roundcubemail-phpext-rundeps imagemagick $runDeps; apk del .build-deps; 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-23 04:41:51 UTC (buildkit.dockerfile.v0)

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

2026-03-23 04:41:51 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c mv "$PHP_INI_DIR/php.ini-production" "$PHP_INI_DIR/php.ini" # buildkit

2026-03-23 04:41:51 UTC (buildkit.dockerfile.v0)

COPY php.ini /usr/local/etc/php/conf.d/roundcube-defaults.ini # buildkit

2026-03-23 04:41:51 UTC (buildkit.dockerfile.v0)

COPY --chmod=0755 docker-entrypoint.sh / # buildkit

2026-03-23 04:41:51 UTC (buildkit.dockerfile.v0)

ENV ROUNDCUBEMAIL_VERSION=1.6.14

2026-03-23 04:41:51 UTC (buildkit.dockerfile.v0)

ENV ROUNDCUBEMAIL_KEYID=F3E4 C04B B3DB 5D42 15C4 5F7F 5AB2 BAA1 41C4 F7D5

2026-03-23 04:41:53 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -ex; apk add --no-cache gnupg; 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-23 04:41:53 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["/docker-entrypoint.sh"]

2026-03-23 04:41:53 UTC (buildkit.dockerfile.v0)

CMD ["php-fpm"]

Details
Created

2026-03-23 05:27:48 UTC

Size

63.4 MB

Content Digest
Labels
  • maintainer
    Thomas Bruederli <[email protected]>
  • org.opencontainers.image.source
    https://github.com/roundcube/roundcubemail-docker

Environment
GPG_KEYS

AFD8691FDAEDF03BDF6E460563F15A9B715376CA 9D7F99A0CB8F05C8A6958D6256A97AF7600A39A6 0616E93D95AF471243E26761770426E17EBBB3DD

PATH

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

PHPIZE_DEPS

autoconf dpkg-dev dpkg file g++ gcc libc-dev make pkgconf re2c

PHP_ASC_URL

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

PHP_CFLAGS

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

PHP_CPPFLAGS

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

PHP_INI_DIR

/usr/local/etc/php

PHP_LDFLAGS

-Wl,-O1 -pie

PHP_SHA256

a060684f614b8344f9b34c334b6ba8db1177555997edb5b1aceab0a4b807da7e

PHP_URL

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

PHP_VERSION

8.4.15

ROUNDCUBEMAIL_KEYID

F3E4 C04B B3DB 5D42 15C4 5F7F 5AB2 BAA1 41C4 F7D5

ROUNDCUBEMAIL_VERSION

1.6.14


Layers

[#000] sha256:f8b30cbd0fab9e5a803578a09c973d18d7450816d914e63e04e5c2edd79f8bee - 5.06% (3.21 MB)

[#001] sha256:12fe235e9b5422d7d6d15159aa842ce891d59c63b709791183ff5041aab7ea81 - 5.02% (3.18 MB)

[#002] sha256:aa95b482e0df2df0194bc04556ed19646bf4c852457684c60da698e036caf8fb - 0.0% (934 Bytes)

[#003] sha256:281a49959192c7dab3ef28f8133571f0a9549fb3fe60dc0db236431ac83bfb67 - 0.0% (216 Bytes)

[#004] sha256:487f4d964bc4f7fbd6d2d3a069e4fb262d62b4404f0c8d837433117c54cb1038 - 20.58% (13 MB)

[#005] sha256:27543c4d0d7fda7194ba74aeeb3f1874ca706ca56df037f47ff2be5a20b83cf9 - 0.0% (488 Bytes)

[#006] sha256:264c52cb84c815ca74dc5dba16b1ad6e32c9098d86a0e3956b5b383b687e3d99 - 20.36% (12.9 MB)

[#007] sha256:af836d4577317283df19ce2208540562da4a36ab75d2c914d5a3102e4a46d06a - 0.0% (2.39 KB)

[#008] sha256:d4f1a200cfdf338fde0fe91827d2c0d643fc995fafdece78e4a49a732da0d37c - 0.03% (19.3 KB)

[#009] sha256:07ce6817ba428aa8f89409c9c857fcfd5293e78790c0facc15ef26a387c048ad - 0.03% (19.3 KB)

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

[#011] sha256:81f2e125306be47bb7cccb9d4f67a6bc7dbf9294948925fd6bc6d27fb7f2aa16 - 0.01% (8.98 KB)

[#012] sha256:e083e504f40bd13118495a5567f4c801b9a6d1736f014840cdd4f60aec221cfe - 4.95% (3.14 MB)

[#013] sha256:6759564dac108e6c2e537b5abdc6846243dfc444efa2af61b41917adc6988883 - 7.99% (5.06 MB)

[#014] sha256:4583ef9f53c59dbd0a5006f63e993ca31530d22a882662cf671144105301983e - 18.15% (11.5 MB)

[#015] sha256:dc0de3826ba5d024a959a6c2ff806e69661d13f05bae5a2878d56934fe2c7254 - 1.17% (759 KB)

[#016] sha256:ea387caa054c7ac7a4c1479faf841f3f709a07462252c06610ce1d8de4cba13d - 0.03% (22.2 KB)

[#017] sha256:225d0b8d8a8f5afafd3823a68bdc62b338bbd7acbae90d10b8aa94464f707eef - 0.0% (364 Bytes)

[#018] sha256:61a11c21c3578f48f9ed7e75444c7a311ebabd410c6c3a6d2c298b423c5da215 - 0.0% (2.79 KB)

[#019] sha256:627e2ce835217862499d8213fcc801872920cbb895c6551ee1da17f5869acd01 - 16.6% (10.5 MB)


History
2025-10-08 11:06:42 UTC (buildkit.dockerfile.v0)

ADD alpine-minirootfs-3.21.5-armhf.tar.gz / # buildkit

2025-10-08 11:06:42 UTC (buildkit.dockerfile.v0)

CMD ["/bin/sh"]

2025-11-20 19:54:29 UTC (buildkit.dockerfile.v0)

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

2025-11-20 19:54:29 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c apk add --no-cache ca-certificates curl openssl tar xz # buildkit

2025-11-20 19:54:29 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; adduser -u 82 -D -S -G www-data www-data # buildkit

2025-11-20 19:54:29 UTC (buildkit.dockerfile.v0)

ENV PHP_INI_DIR=/usr/local/etc/php

2025-11-20 19:54:29 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

2025-11-20 19:54:29 UTC (buildkit.dockerfile.v0)

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

2025-11-20 19:54:29 UTC (buildkit.dockerfile.v0)

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

2025-11-20 19:54:29 UTC (buildkit.dockerfile.v0)

ENV PHP_LDFLAGS=-Wl,-O1 -pie

2025-11-20 19:54:29 UTC (buildkit.dockerfile.v0)

ENV GPG_KEYS=AFD8691FDAEDF03BDF6E460563F15A9B715376CA 9D7F99A0CB8F05C8A6958D6256A97AF7600A39A6 0616E93D95AF471243E26761770426E17EBBB3DD

2025-11-20 19:54:29 UTC (buildkit.dockerfile.v0)

ENV PHP_VERSION=8.4.15

2025-11-20 19:54:29 UTC (buildkit.dockerfile.v0)

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

2025-11-20 19:54:29 UTC (buildkit.dockerfile.v0)

ENV PHP_SHA256=a060684f614b8344f9b34c334b6ba8db1177555997edb5b1aceab0a4b807da7e

2025-11-20 19:54:33 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; apk add --no-cache --virtual .fetch-deps gnupg; 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"; apk del --no-network .fetch-deps # buildkit

2025-11-20 19:54:33 UTC (buildkit.dockerfile.v0)

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

2025-11-20 19:57:33 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; apk add --no-cache --virtual .build-deps $PHPIZE_DEPS argon2-dev coreutils curl-dev gnu-libiconv-dev libsodium-dev libxml2-dev linux-headers oniguruma-dev openssl-dev readline-dev sqlite-dev ; rm -vf /usr/include/iconv.h; 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)"; ./configure --build="$gnuArch" --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=/usr --with-openssl --with-readline --with-zlib --disable-phpdbg --with-pear --disable-cgi --enable-fpm --with-fpm-user=www-data --with-fpm-group=www-data ; 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; runDeps="$( scanelf --needed --nobanner --format '%n#p' --recursive /usr/local | tr ',' '\n' | sort -u | awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' )"; apk add --no-cache $runDeps; apk del --no-network .build-deps; pecl update-channels; rm -rf /tmp/pear ~/.pearrc; php --version # buildkit

2025-11-20 19:57:33 UTC (buildkit.dockerfile.v0)

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

2025-11-20 19:57:34 UTC (buildkit.dockerfile.v0)

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

2025-11-20 19:57:35 UTC (buildkit.dockerfile.v0)

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

2025-11-20 19:57:35 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["docker-php-entrypoint"]

2025-11-20 19:57:35 UTC (buildkit.dockerfile.v0)

WORKDIR /var/www/html

2025-11-20 19:57:35 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; cd /usr/local/etc; if [ -d php-fpm.d ]; then sed 's!=NONE/!=!g' php-fpm.conf.default | tee php-fpm.conf > /dev/null; cp php-fpm.d/www.conf.default php-fpm.d/www.conf; else mkdir php-fpm.d; cp php-fpm.conf.default php-fpm.d/www.conf; { echo '[global]'; echo 'include=etc/php-fpm.d/*.conf'; } | tee php-fpm.conf; fi; { echo '[global]'; echo 'error_log = /proc/self/fd/2'; echo; echo '; https://github.com/docker-library/php/pull/725#issuecomment-443540114'; echo 'log_limit = 8192'; echo; echo '[www]'; echo '; php-fpm closes STDOUT on startup, so sending logs to /proc/self/fd/1 does not work.'; echo '; https://bugs.php.net/bug.php?id=73886'; echo 'access.log = /proc/self/fd/2'; echo; echo 'clear_env = no'; echo; echo '; Ensure worker stdout and stderr are sent to the main error log.'; echo 'catch_workers_output = yes'; echo 'decorate_workers_output = no'; } | tee php-fpm.d/docker.conf; { echo '[global]'; echo 'daemonize = no'; echo; echo '[www]'; echo 'listen = 9000'; } | tee php-fpm.d/zz-docker.conf; mkdir -p "$PHP_INI_DIR/conf.d"; { echo '; https://github.com/docker-library/php/issues/878#issuecomment-938595965'; echo 'fastcgi.logging = Off'; } > "$PHP_INI_DIR/conf.d/docker-fpm.ini" # buildkit

2025-11-20 19:57:35 UTC (buildkit.dockerfile.v0)

STOPSIGNAL SIGQUIT

2025-11-20 19:57:35 UTC (buildkit.dockerfile.v0)

EXPOSE map[9000/tcp:{}]

2025-11-20 19:57:35 UTC (buildkit.dockerfile.v0)

CMD ["php-fpm"]

2026-03-23 04:42:36 UTC (buildkit.dockerfile.v0)

LABEL maintainer=Thomas Bruederli <[email protected]>

2026-03-23 04:42:36 UTC (buildkit.dockerfile.v0)

LABEL org.opencontainers.image.source=https://github.com/roundcube/roundcubemail-docker

2026-03-23 04:42:36 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c apk upgrade --no-cache # buildkit

2026-03-23 04:42:41 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -ex; if [ "fpm-alpine" = "apache" ]; then a2enmod rewrite; fi; apk add --no-cache bash coreutils rsync tzdata aspell aspell-en unzip # buildkit

2026-03-23 05:27:38 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -ex; apk add --no-cache --virtual .build-deps $PHPIZE_DEPS icu-dev freetype-dev imagemagick-dev libjpeg-turbo-dev libpng-dev libzip-dev libtool openldap-dev cyrus-sasl-dev postgresql-dev sqlite-dev aspell-dev ; pecl bundle -d /usr/src/php/ext imagick; pecl bundle -d /usr/src/php/ext redis; pecl bundle -d /usr/src/php/ext pspell; docker-php-ext-configure gd --with-jpeg --with-freetype; docker-php-ext-configure ldap --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; extdir="$(php -r 'echo ini_get("extension_dir");')"; runDeps="$( scanelf --needed --nobanner --format '%n#p' --recursive $extdir | tr ',' '\n' | sort -u | awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' )"; apk add --virtual .roundcubemail-phpext-rundeps imagemagick $runDeps; apk del .build-deps; 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-23 05:27:38 UTC (buildkit.dockerfile.v0)

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

2026-03-23 05:27:38 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c mv "$PHP_INI_DIR/php.ini-production" "$PHP_INI_DIR/php.ini" # buildkit

2026-03-23 05:27:38 UTC (buildkit.dockerfile.v0)

COPY php.ini /usr/local/etc/php/conf.d/roundcube-defaults.ini # buildkit

2026-03-23 05:27:38 UTC (buildkit.dockerfile.v0)

COPY --chmod=0755 docker-entrypoint.sh / # buildkit

2026-03-23 05:27:38 UTC (buildkit.dockerfile.v0)

ENV ROUNDCUBEMAIL_VERSION=1.6.14

2026-03-23 05:27:38 UTC (buildkit.dockerfile.v0)

ENV ROUNDCUBEMAIL_KEYID=F3E4 C04B B3DB 5D42 15C4 5F7F 5AB2 BAA1 41C4 F7D5

2026-03-23 05:27:48 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -ex; apk add --no-cache gnupg; 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-23 05:27:48 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["/docker-entrypoint.sh"]

2026-03-23 05:27:48 UTC (buildkit.dockerfile.v0)

CMD ["php-fpm"]

Details
Created

2026-03-23 05:27:41 UTC

Size

61 MB

Content Digest
Labels
  • maintainer
    Thomas Bruederli <[email protected]>
  • org.opencontainers.image.source
    https://github.com/roundcube/roundcubemail-docker

Environment
GPG_KEYS

AFD8691FDAEDF03BDF6E460563F15A9B715376CA 9D7F99A0CB8F05C8A6958D6256A97AF7600A39A6 0616E93D95AF471243E26761770426E17EBBB3DD

PATH

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

PHPIZE_DEPS

autoconf dpkg-dev dpkg file g++ gcc libc-dev make pkgconf re2c

PHP_ASC_URL

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

PHP_CFLAGS

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

PHP_CPPFLAGS

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

PHP_INI_DIR

/usr/local/etc/php

PHP_LDFLAGS

-Wl,-O1 -pie

PHP_SHA256

a060684f614b8344f9b34c334b6ba8db1177555997edb5b1aceab0a4b807da7e

PHP_URL

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

PHP_VERSION

8.4.15

ROUNDCUBEMAIL_KEYID

F3E4 C04B B3DB 5D42 15C4 5F7F 5AB2 BAA1 41C4 F7D5

ROUNDCUBEMAIL_VERSION

1.6.14


Layers

[#000] sha256:520d06ecc3ba4ec2920319fa6f2cc6bea9a9c1d5a43808c1d2388522c37d7b30 - 4.85% (2.96 MB)

[#001] sha256:f3e211c5215d15bb276cb9ffab1cd256076e88c6df5f16033fc6aa499406c55c - 4.92% (3 MB)

[#002] sha256:a437a41b74643efc98ba113157086079d821113ce8ac4053a7caae993deb31b1 - 0.0% (934 Bytes)

[#003] sha256:df78fea15058889c058e65a56e1b786057b7010160dcf59ef9b67f38de4305ad - 0.0% (217 Bytes)

[#004] sha256:eba51c05664d91addbf2126e632932e7b44590167ae13bbeac0ad87f6950435e - 21.38% (13 MB)

[#005] sha256:634dd8c3df81326742988c0384c4ec4000721e7308e46962df039280ac34f6ad - 0.0% (488 Bytes)

[#006] sha256:d39e759db106e9add384700e345e589d27101ea16f38dd138a39953a914c6caa - 19.99% (12.2 MB)

[#007] sha256:8956839e0368ea2a9928d7393deccdd6e9e23c039eed63780b2f6a429d47ac59 - 0.0% (2.4 KB)

[#008] sha256:9f30d5337ee7c23bcb4e97e1c40aadce3643e953d9857e6b601753239ba8fb34 - 0.03% (19.3 KB)

[#009] sha256:d62678b8af35b50c72d06bf47b6939dbceef9d6e07d12367ebcde5db03fe8cf1 - 0.03% (19.3 KB)

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

[#011] sha256:7ee19d1e054cdc01430d7db3315fdeb8f06d963afb815206448131604c8e1013 - 0.01% (8.98 KB)

[#012] sha256:d7032a037fae3355c1c30963b42459193c362d911d63129e66620d662b23fab2 - 4.72% (2.88 MB)

[#013] sha256:d81a347ccd8c8cd8678e84776358373d9d64046d85363b2627ed301f80ee3eb6 - 7.91% (4.83 MB)

[#014] sha256:f83ed7167c831bb9b0672b529f3a895a02a877cc11838f259de64fe3ff9e7c36 - 18.52% (11.3 MB)

[#015] sha256:462824e19c648eda7f63e29a720a1e2ccdfc8d61107c01e6792101f16a350211 - 1.22% (759 KB)

[#016] sha256:7d2768119144060db4bc8eb2ec1fc03b329d2eeaf486f331abbd079855910caf - 0.04% (22.2 KB)

[#017] sha256:600d97d819af9286e78a03e124fcd0fb04960a128445ca1ab7ad6d7a6280e68c - 0.0% (364 Bytes)

[#018] sha256:61a11c21c3578f48f9ed7e75444c7a311ebabd410c6c3a6d2c298b423c5da215 - 0.0% (2.79 KB)

[#019] sha256:88b7d289a5a2f97f48660672ee359943e71127813d86f8bf6559e33a421ad68d - 16.37% (9.98 MB)


History
2025-10-08 11:06:42 UTC (buildkit.dockerfile.v0)

ADD alpine-minirootfs-3.21.5-armv7.tar.gz / # buildkit

2025-10-08 11:06:42 UTC (buildkit.dockerfile.v0)

CMD ["/bin/sh"]

2025-11-20 20:12:06 UTC (buildkit.dockerfile.v0)

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

2025-11-20 20:12:06 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c apk add --no-cache ca-certificates curl openssl tar xz # buildkit

2025-11-20 20:12:06 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; adduser -u 82 -D -S -G www-data www-data # buildkit

2025-11-20 20:12:06 UTC (buildkit.dockerfile.v0)

ENV PHP_INI_DIR=/usr/local/etc/php

2025-11-20 20:12:06 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

2025-11-20 20:12:06 UTC (buildkit.dockerfile.v0)

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

2025-11-20 20:12:06 UTC (buildkit.dockerfile.v0)

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

2025-11-20 20:12:06 UTC (buildkit.dockerfile.v0)

ENV PHP_LDFLAGS=-Wl,-O1 -pie

2025-11-20 20:12:06 UTC (buildkit.dockerfile.v0)

ENV GPG_KEYS=AFD8691FDAEDF03BDF6E460563F15A9B715376CA 9D7F99A0CB8F05C8A6958D6256A97AF7600A39A6 0616E93D95AF471243E26761770426E17EBBB3DD

2025-11-20 20:12:06 UTC (buildkit.dockerfile.v0)

ENV PHP_VERSION=8.4.15

2025-11-20 20:12:06 UTC (buildkit.dockerfile.v0)

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

2025-11-20 20:12:06 UTC (buildkit.dockerfile.v0)

ENV PHP_SHA256=a060684f614b8344f9b34c334b6ba8db1177555997edb5b1aceab0a4b807da7e

2025-11-20 20:12:10 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; apk add --no-cache --virtual .fetch-deps gnupg; 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"; apk del --no-network .fetch-deps # buildkit

2025-11-20 20:12:10 UTC (buildkit.dockerfile.v0)

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

2025-11-20 20:15:05 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; apk add --no-cache --virtual .build-deps $PHPIZE_DEPS argon2-dev coreutils curl-dev gnu-libiconv-dev libsodium-dev libxml2-dev linux-headers oniguruma-dev openssl-dev readline-dev sqlite-dev ; rm -vf /usr/include/iconv.h; 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)"; ./configure --build="$gnuArch" --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=/usr --with-openssl --with-readline --with-zlib --disable-phpdbg --with-pear --disable-cgi --enable-fpm --with-fpm-user=www-data --with-fpm-group=www-data ; 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; runDeps="$( scanelf --needed --nobanner --format '%n#p' --recursive /usr/local | tr ',' '\n' | sort -u | awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' )"; apk add --no-cache $runDeps; apk del --no-network .build-deps; pecl update-channels; rm -rf /tmp/pear ~/.pearrc; php --version # buildkit

2025-11-20 20:15:05 UTC (buildkit.dockerfile.v0)

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

2025-11-20 20:15:06 UTC (buildkit.dockerfile.v0)

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

2025-11-20 20:15:07 UTC (buildkit.dockerfile.v0)

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

2025-11-20 20:15:07 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["docker-php-entrypoint"]

2025-11-20 20:15:07 UTC (buildkit.dockerfile.v0)

WORKDIR /var/www/html

2025-11-20 20:15:07 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; cd /usr/local/etc; if [ -d php-fpm.d ]; then sed 's!=NONE/!=!g' php-fpm.conf.default | tee php-fpm.conf > /dev/null; cp php-fpm.d/www.conf.default php-fpm.d/www.conf; else mkdir php-fpm.d; cp php-fpm.conf.default php-fpm.d/www.conf; { echo '[global]'; echo 'include=etc/php-fpm.d/*.conf'; } | tee php-fpm.conf; fi; { echo '[global]'; echo 'error_log = /proc/self/fd/2'; echo; echo '; https://github.com/docker-library/php/pull/725#issuecomment-443540114'; echo 'log_limit = 8192'; echo; echo '[www]'; echo '; php-fpm closes STDOUT on startup, so sending logs to /proc/self/fd/1 does not work.'; echo '; https://bugs.php.net/bug.php?id=73886'; echo 'access.log = /proc/self/fd/2'; echo; echo 'clear_env = no'; echo; echo '; Ensure worker stdout and stderr are sent to the main error log.'; echo 'catch_workers_output = yes'; echo 'decorate_workers_output = no'; } | tee php-fpm.d/docker.conf; { echo '[global]'; echo 'daemonize = no'; echo; echo '[www]'; echo 'listen = 9000'; } | tee php-fpm.d/zz-docker.conf; mkdir -p "$PHP_INI_DIR/conf.d"; { echo '; https://github.com/docker-library/php/issues/878#issuecomment-938595965'; echo 'fastcgi.logging = Off'; } > "$PHP_INI_DIR/conf.d/docker-fpm.ini" # buildkit

2025-11-20 20:15:07 UTC (buildkit.dockerfile.v0)

STOPSIGNAL SIGQUIT

2025-11-20 20:15:07 UTC (buildkit.dockerfile.v0)

EXPOSE map[9000/tcp:{}]

2025-11-20 20:15:07 UTC (buildkit.dockerfile.v0)

CMD ["php-fpm"]

2026-03-23 04:42:35 UTC (buildkit.dockerfile.v0)

LABEL maintainer=Thomas Bruederli <[email protected]>

2026-03-23 04:42:35 UTC (buildkit.dockerfile.v0)

LABEL org.opencontainers.image.source=https://github.com/roundcube/roundcubemail-docker

2026-03-23 04:42:35 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c apk upgrade --no-cache # buildkit

2026-03-23 04:42:40 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -ex; if [ "fpm-alpine" = "apache" ]; then a2enmod rewrite; fi; apk add --no-cache bash coreutils rsync tzdata aspell aspell-en unzip # buildkit

2026-03-23 05:27:31 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -ex; apk add --no-cache --virtual .build-deps $PHPIZE_DEPS icu-dev freetype-dev imagemagick-dev libjpeg-turbo-dev libpng-dev libzip-dev libtool openldap-dev cyrus-sasl-dev postgresql-dev sqlite-dev aspell-dev ; pecl bundle -d /usr/src/php/ext imagick; pecl bundle -d /usr/src/php/ext redis; pecl bundle -d /usr/src/php/ext pspell; docker-php-ext-configure gd --with-jpeg --with-freetype; docker-php-ext-configure ldap --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; extdir="$(php -r 'echo ini_get("extension_dir");')"; runDeps="$( scanelf --needed --nobanner --format '%n#p' --recursive $extdir | tr ',' '\n' | sort -u | awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' )"; apk add --virtual .roundcubemail-phpext-rundeps imagemagick $runDeps; apk del .build-deps; 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-23 05:27:31 UTC (buildkit.dockerfile.v0)

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

2026-03-23 05:27:31 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c mv "$PHP_INI_DIR/php.ini-production" "$PHP_INI_DIR/php.ini" # buildkit

2026-03-23 05:27:31 UTC (buildkit.dockerfile.v0)

COPY php.ini /usr/local/etc/php/conf.d/roundcube-defaults.ini # buildkit

2026-03-23 05:27:31 UTC (buildkit.dockerfile.v0)

COPY --chmod=0755 docker-entrypoint.sh / # buildkit

2026-03-23 05:27:31 UTC (buildkit.dockerfile.v0)

ENV ROUNDCUBEMAIL_VERSION=1.6.14

2026-03-23 05:27:31 UTC (buildkit.dockerfile.v0)

ENV ROUNDCUBEMAIL_KEYID=F3E4 C04B B3DB 5D42 15C4 5F7F 5AB2 BAA1 41C4 F7D5

2026-03-23 05:27:41 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -ex; apk add --no-cache gnupg; 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-23 05:27:41 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["/docker-entrypoint.sh"]

2026-03-23 05:27:41 UTC (buildkit.dockerfile.v0)

CMD ["php-fpm"]

Details
Created

2026-03-23 05:33:27 UTC

Size

66.4 MB

Content Digest
Labels
  • maintainer
    Thomas Bruederli <[email protected]>
  • org.opencontainers.image.source
    https://github.com/roundcube/roundcubemail-docker

Environment
GPG_KEYS

AFD8691FDAEDF03BDF6E460563F15A9B715376CA 9D7F99A0CB8F05C8A6958D6256A97AF7600A39A6 0616E93D95AF471243E26761770426E17EBBB3DD

PATH

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

PHPIZE_DEPS

autoconf dpkg-dev dpkg file g++ gcc libc-dev make pkgconf re2c

PHP_ASC_URL

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

PHP_CFLAGS

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

PHP_CPPFLAGS

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

PHP_INI_DIR

/usr/local/etc/php

PHP_LDFLAGS

-Wl,-O1 -pie

PHP_SHA256

a060684f614b8344f9b34c334b6ba8db1177555997edb5b1aceab0a4b807da7e

PHP_URL

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

PHP_VERSION

8.4.15

ROUNDCUBEMAIL_KEYID

F3E4 C04B B3DB 5D42 15C4 5F7F 5AB2 BAA1 41C4 F7D5

ROUNDCUBEMAIL_VERSION

1.6.14


Layers

[#000] sha256:c2fe130f4aabc917e559e7eed7d37b0e21ba13b44520101696887ca892e8c63f - 5.73% (3.81 MB)

[#001] sha256:33a2b73fcb17bad5573448e373a390547c9ab9e88f267affc8366a950dda276f - 4.83% (3.21 MB)

[#002] sha256:5df7abb36b7806cd971c529dd1717252e058c6e1f28fdbfd2f03136ac827ea97 - 0.0% (936 Bytes)

[#003] sha256:0169b8fbb892812e53b039dc5008e73ea5f6b21704634224aee50242329a1464 - 0.0% (223 Bytes)

[#004] sha256:5efadfc7132354b8017b9a2d9dd114aaa5a3d06ae795b72ee292c8a2b3b8a012 - 19.63% (13 MB)

[#005] sha256:7b4e2a8a93f890d71268548d2b5c591cd9ddfd63b7cc8cda46aab6b7287e0b39 - 0.0% (485 Bytes)

[#006] sha256:414120efd6386b96c3290a45991d0c68dc8bd5ef35400d92b0213cfdd42c89da - 21.05% (14 MB)

[#007] sha256:59304740af47e9a50ea4c0193c3abf39d7f610322b7191940ba998fdd0b67d21 - 0.0% (2.39 KB)

[#008] sha256:cb37efdb7d70c39643b0ad861ef3ef49a570d2f3246b800bd428a937f1e21664 - 0.03% (19.3 KB)

[#009] sha256:f35fdd0be5992e1a8d36a5f646c0b4aec2737ae1c0d6a1ce5fa2bab177cb4847 - 0.03% (19.3 KB)

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

[#011] sha256:c86312baa001238b411549e99b2237785510f36be417e8426572ca75b7891efb - 0.01% (8.98 KB)

[#012] sha256:8c2a4569f53437a1e732048c04dbbd7202a59b902b28f01685c0be3175cb6565 - 5.55% (3.69 MB)

[#013] sha256:b4a7f592e1f78716357a35a722aa56caf76011287964e47bb353435bb70509d6 - 7.79% (5.17 MB)

[#014] sha256:754fbe70ef8d3d0dc542fb12a5c94f719e3e284fa227dd01002f5e840be40551 - 18.48% (12.3 MB)

[#015] sha256:7c0c76dd919ac9161f4ca868dc703b978f193b390ed87769019f8d28c1c4a368 - 1.12% (759 KB)

[#016] sha256:71efa0c920d023115b16c0fb36b4c4b1be791dce2a5e15119653b2170c55a391 - 0.03% (22.2 KB)

[#017] sha256:36826e5c40941a3619b2fd53acf5a082a2395845320609d8390b8a2b5d1e2d7a - 0.0% (366 Bytes)

[#018] sha256:61a11c21c3578f48f9ed7e75444c7a311ebabd410c6c3a6d2c298b423c5da215 - 0.0% (2.79 KB)

[#019] sha256:09b26b3a40586deb3253408cbc73212fa8f465d6e6092b0c63a88a1e6ce12f77 - 15.7% (10.4 MB)


History
2025-10-08 11:06:42 UTC (buildkit.dockerfile.v0)

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

2025-10-08 11:06:42 UTC (buildkit.dockerfile.v0)

CMD ["/bin/sh"]

2025-11-20 20:00:43 UTC (buildkit.dockerfile.v0)

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

2025-11-20 20:00:43 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c apk add --no-cache ca-certificates curl openssl tar xz # buildkit

2025-11-20 20:00:44 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; adduser -u 82 -D -S -G www-data www-data # buildkit

2025-11-20 20:00:44 UTC (buildkit.dockerfile.v0)

ENV PHP_INI_DIR=/usr/local/etc/php

2025-11-20 20:00: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

2025-11-20 20:00:44 UTC (buildkit.dockerfile.v0)

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

2025-11-20 20:00:44 UTC (buildkit.dockerfile.v0)

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

2025-11-20 20:00:44 UTC (buildkit.dockerfile.v0)

ENV PHP_LDFLAGS=-Wl,-O1 -pie

2025-11-20 20:00:44 UTC (buildkit.dockerfile.v0)

ENV GPG_KEYS=AFD8691FDAEDF03BDF6E460563F15A9B715376CA 9D7F99A0CB8F05C8A6958D6256A97AF7600A39A6 0616E93D95AF471243E26761770426E17EBBB3DD

2025-11-20 20:00:44 UTC (buildkit.dockerfile.v0)

ENV PHP_VERSION=8.4.15

2025-11-20 20:00:44 UTC (buildkit.dockerfile.v0)

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

2025-11-20 20:00:44 UTC (buildkit.dockerfile.v0)

ENV PHP_SHA256=a060684f614b8344f9b34c334b6ba8db1177555997edb5b1aceab0a4b807da7e

2025-11-20 20:00:47 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; apk add --no-cache --virtual .fetch-deps gnupg; 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"; apk del --no-network .fetch-deps # buildkit

2025-11-20 20:00:47 UTC (buildkit.dockerfile.v0)

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

2025-11-20 20:04:18 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; apk add --no-cache --virtual .build-deps $PHPIZE_DEPS argon2-dev coreutils curl-dev gnu-libiconv-dev libsodium-dev libxml2-dev linux-headers oniguruma-dev openssl-dev readline-dev sqlite-dev ; rm -vf /usr/include/iconv.h; 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)"; ./configure --build="$gnuArch" --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=/usr --with-openssl --with-readline --with-zlib --disable-phpdbg --with-pear --disable-cgi --enable-fpm --with-fpm-user=www-data --with-fpm-group=www-data ; 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; runDeps="$( scanelf --needed --nobanner --format '%n#p' --recursive /usr/local | tr ',' '\n' | sort -u | awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' )"; apk add --no-cache $runDeps; apk del --no-network .build-deps; pecl update-channels; rm -rf /tmp/pear ~/.pearrc; php --version # buildkit

2025-11-20 20:04:18 UTC (buildkit.dockerfile.v0)

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

2025-11-20 20:04:18 UTC (buildkit.dockerfile.v0)

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

2025-11-20 20:04:19 UTC (buildkit.dockerfile.v0)

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

2025-11-20 20:04:19 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["docker-php-entrypoint"]

2025-11-20 20:04:19 UTC (buildkit.dockerfile.v0)

WORKDIR /var/www/html

2025-11-20 20:04:19 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; cd /usr/local/etc; if [ -d php-fpm.d ]; then sed 's!=NONE/!=!g' php-fpm.conf.default | tee php-fpm.conf > /dev/null; cp php-fpm.d/www.conf.default php-fpm.d/www.conf; else mkdir php-fpm.d; cp php-fpm.conf.default php-fpm.d/www.conf; { echo '[global]'; echo 'include=etc/php-fpm.d/*.conf'; } | tee php-fpm.conf; fi; { echo '[global]'; echo 'error_log = /proc/self/fd/2'; echo; echo '; https://github.com/docker-library/php/pull/725#issuecomment-443540114'; echo 'log_limit = 8192'; echo; echo '[www]'; echo '; php-fpm closes STDOUT on startup, so sending logs to /proc/self/fd/1 does not work.'; echo '; https://bugs.php.net/bug.php?id=73886'; echo 'access.log = /proc/self/fd/2'; echo; echo 'clear_env = no'; echo; echo '; Ensure worker stdout and stderr are sent to the main error log.'; echo 'catch_workers_output = yes'; echo 'decorate_workers_output = no'; } | tee php-fpm.d/docker.conf; { echo '[global]'; echo 'daemonize = no'; echo; echo '[www]'; echo 'listen = 9000'; } | tee php-fpm.d/zz-docker.conf; mkdir -p "$PHP_INI_DIR/conf.d"; { echo '; https://github.com/docker-library/php/issues/878#issuecomment-938595965'; echo 'fastcgi.logging = Off'; } > "$PHP_INI_DIR/conf.d/docker-fpm.ini" # buildkit

2025-11-20 20:04:19 UTC (buildkit.dockerfile.v0)

STOPSIGNAL SIGQUIT

2025-11-20 20:04:19 UTC (buildkit.dockerfile.v0)

EXPOSE map[9000/tcp:{}]

2025-11-20 20:04:19 UTC (buildkit.dockerfile.v0)

CMD ["php-fpm"]

2026-03-23 04:42:35 UTC (buildkit.dockerfile.v0)

LABEL maintainer=Thomas Bruederli <[email protected]>

2026-03-23 04:42:35 UTC (buildkit.dockerfile.v0)

LABEL org.opencontainers.image.source=https://github.com/roundcube/roundcubemail-docker

2026-03-23 04:42:35 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c apk upgrade --no-cache # buildkit

2026-03-23 04:42:40 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -ex; if [ "fpm-alpine" = "apache" ]; then a2enmod rewrite; fi; apk add --no-cache bash coreutils rsync tzdata aspell aspell-en unzip # buildkit

2026-03-23 05:33:20 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -ex; apk add --no-cache --virtual .build-deps $PHPIZE_DEPS icu-dev freetype-dev imagemagick-dev libjpeg-turbo-dev libpng-dev libzip-dev libtool openldap-dev cyrus-sasl-dev postgresql-dev sqlite-dev aspell-dev ; pecl bundle -d /usr/src/php/ext imagick; pecl bundle -d /usr/src/php/ext redis; pecl bundle -d /usr/src/php/ext pspell; docker-php-ext-configure gd --with-jpeg --with-freetype; docker-php-ext-configure ldap --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; extdir="$(php -r 'echo ini_get("extension_dir");')"; runDeps="$( scanelf --needed --nobanner --format '%n#p' --recursive $extdir | tr ',' '\n' | sort -u | awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' )"; apk add --virtual .roundcubemail-phpext-rundeps imagemagick $runDeps; apk del .build-deps; 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-23 05:33:20 UTC (buildkit.dockerfile.v0)

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

2026-03-23 05:33:20 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c mv "$PHP_INI_DIR/php.ini-production" "$PHP_INI_DIR/php.ini" # buildkit

2026-03-23 05:33:20 UTC (buildkit.dockerfile.v0)

COPY php.ini /usr/local/etc/php/conf.d/roundcube-defaults.ini # buildkit

2026-03-23 05:33:20 UTC (buildkit.dockerfile.v0)

COPY --chmod=0755 docker-entrypoint.sh / # buildkit

2026-03-23 05:33:20 UTC (buildkit.dockerfile.v0)

ENV ROUNDCUBEMAIL_VERSION=1.6.14

2026-03-23 05:33:20 UTC (buildkit.dockerfile.v0)

ENV ROUNDCUBEMAIL_KEYID=F3E4 C04B B3DB 5D42 15C4 5F7F 5AB2 BAA1 41C4 F7D5

2026-03-23 05:33:27 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -ex; apk add --no-cache gnupg; 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-23 05:33:27 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["/docker-entrypoint.sh"]

2026-03-23 05:33:27 UTC (buildkit.dockerfile.v0)

CMD ["php-fpm"]