54 Commits

Author SHA1 Message Date
Pablo Zmdl
1d8ea95d37 Pre-setup and post-setup tasks
All executable files present in /entrypoint-tasks/pre-setup/ and
/entrypoint-tasks/post-setup/ are run at the beginning
or at the end, respectively, of the actual entrypoint-script.

Each of the executed files receive the CMD given to the container as their
arguments. This allows e.g. to change a plugin's config, or install a
technical requirement of a plugin that is to be installed.

This feature is not implemented in the images for Roundcube v1.5, since
they are not well maintained and will be dropped soon, anyways.
2025-11-03 14:19:08 +01:00
Pablo Zmdl
0aca62896e Fix letter case mismatch
Docker complains about it, which pollutes the logs.
2025-06-11 16:30:43 +02:00
Pablo Zmdl
457d3b02f3 Use PHP v8.4 in all main images 2025-06-11 16:30:43 +02:00
Pablo Zmdl
de5dfc6f2d Temporarily use alpine 3.21 to fix builds
The actual culprit is ICU 76.1-r0, which is included in alpine v3.22

Refs:
https://github.com/php/php-src/issues/18831
https://github.com/mlocati/docker-php-extension-installer/issues/1104
2025-06-11 16:09:07 +02:00
Matwey V. Kornilov
7c21c3bac7 Allow ldap-sasl for php-ldap
Prepare to support improvements introduced in 7d13b337db
2025-06-04 11:23:18 +00:00
DullJZ
44b1e78129 fix: Remove unix() while bash doesn't support 2025-05-15 08:34:42 +00:00
DullJZ
eeba9e5a7d fix: Databases connected via Unix domain sockets aren't well supported #177 2025-05-15 07:19:11 +00:00
IOhannes m zmölnig
95484c5fc0 Refresh apt-cache before installing dictionaries
Closes: https://github.com/roundcube/roundcubemail-docker/issues/334

Signed-off-by: IOhannes m zmölnig <zmoelnig@iem.at>
2025-04-24 15:23:04 +02:00
Thomas B.
ef4b8cc59e
feat: build non-root image variants (#310)
Adds an additional stage to the Dockerfile to create images with default user www-data.
The apache webserver listens on unprivileged port 8000 instead of 80.
Publish all variants with an additional tag ending in `-nonroot` for distinction.

Refs: #306
2025-04-15 21:46:17 +02:00
Pablo Zmdl
c28c679c00
Merge pull request #323 from roundcube/use-php.ini-production
Use php.ini-production as recommended by the upstream image authors
2025-03-24 18:06:26 +01:00
Pablo Zmdl
1091caf265 Use php.ini-production as recommended by the upstream image authors 2025-02-13 11:55:37 +01:00
Pablo Zmdl
f04a3820bd Make HTTP daemons use public_html/ as document root
To protect files outside of the document root against unauthorized
access.
This is possible and recommended since a while, and will be required for
Roundcubemail v1.7.
2025-02-13 11:21:52 +01:00
Pablo Zmdl
3ee7dd81fe Make apt not ask on upgrade 2025-01-14 08:51:45 +01:00
Bjalbor
8519970a3d
Install missing skin via composer on system initialization (#254)
Co-authored-by: Björn Bores <bores@d-bug.net>
2024-12-09 12:30:41 +01:00
Pablo Zmdl
04da3b31b8
Merge pull request #296 from roundcube/fix-injecting-enigma-homedir 2024-12-09 09:39:50 +01:00
Pablo Zmdl
31d6f36ca1 Keep the PHP headers in all images
f1bba7f removed it from apache/Dockerfile only, which even gets
overwritten by update.sh
2024-12-06 15:57:43 +01:00
Pablo Zmdl
5749668130 Fix injecting enigma homedir 2024-12-04 10:33:22 +01:00
Pablo Zmdl
fd51e658ff Fix building alpine 2024-12-03 20:12:31 +01:00
Pablo Zmdl
eb7ad58f97
Merge pull request #281 from roundcube/update-packages-in-images 2024-12-03 10:25:25 +01:00
Pablo Zmdl
7592a0599b Update packages in images
This should be done by the upstream images, but currently they don't.

And rather than getting into problems due to outdated packages, we take
matters in our own hands.
2024-11-20 15:53:35 +01:00
Pablo Zmdl
4493e478b2 Provide enigma working dir (if enabled) 2024-11-20 15:17:16 +01:00
Pablo Zmdl
70342df954 Don't remove gnupg from alpine image
It's required to run enigma and doesn't hurt in general.
2024-11-08 10:24:56 +01:00
William Desportes
a1aab3c0e9
Improve the docker layers (#251)
* Improve build layers
* Switch latest commit of wait-for-it.sh to avoid a security bug
* Drop dirmngr ipv6 workaround
* Use the same build process on Alpine for php extensions
* Remove ldd check for Alpine
* Move COPY before source and indent using tabs
* Add a .editorconfig to make templates show up as Dockerfile
2024-11-07 22:53:20 +01:00
Shannon Wynter
df2440c5f9
Fix syntax error in docker-entrypoint.sh (#268)
/docker-entrypoint.sh: line 148: [: missing `]'
2024-10-27 21:54:03 +01:00
Marc
fbb90ec4bb
Add image source label to dockerfiles (#269) 2024-10-27 21:51:10 +01:00
William Desportes
5c73c3e40a
Fix composer plugins install (#250)
* Add new ENV ROUNDCUBEMAIL_COMPOSER_PLUGINS

* Fix composer plugin location and loading

* Remove ROUNDCUBEMAIL_INSTALL_PLUGINS
2024-08-04 21:38:40 +02:00
Lukas Müller
b6c9f5d250
Enable roundcube shell scripts to be directly executed (#238)
* Updated conditional in all variants of the docker-entrypoint.sh script to allow for shell scripts to be executed easily

* Added example
2024-05-21 22:54:57 +02:00
William Desportes
667818ca9a
Add new ENV ROUNDCUBEMAIL_INSTALL_PLUGINS (#245)
* Added ROUNDCUBEMAIL_INSTALL_PLUGINS for installing plugins

* Re-work the composer install plugins to use the way document on the README

* Update the README

* Transform into a space to avoid crashes

* Fix displaying the plugin list

---------

Co-authored-by: Mikkel Bundgaard <mikkel@notfound.dk>
2024-05-19 22:23:14 +02:00
indridieinarsson
3e0abad485
Oauth client secret as docker secret for roundcube docker (#247)
* Add support for docker secrets for oauth secret - apache version only

* Add oauth secret handling to template

* Add oauth secret handling to template. Generate examples from template

---------

Co-authored-by: Indriði Einarsson <indridi@indridi.net>
2024-05-19 22:20:25 +02:00
Clemenk
52f39a60e5
Add the ROUNDCUBEMAIL_USERNAME_DOMAIN env var to set the username_domain config option (#240) 2024-05-16 23:50:33 +02:00
William Desportes
5ad2eaa339
Fix dynamic libraries loading (#226)
Fixes: #224

Ref: 87bbb8dd8f
Ref: da4b8f273a
2023-08-01 23:39:02 +02:00
Thomas Bruederli
913cd6f417 Add ROUNDCUBEMAIL_REQUEST_PATH env to all variants 2023-04-05 21:27:13 +02:00
Thomas B
c744ce9dc7
Add unzip binary + separate actions to test and publish (#209)
* Include unzip package to avoid composer warnings
* Separate actions to test and publish
* Exclude builds on changes to README.md and examples
2023-03-12 22:40:22 +01:00
Thomas Bruederli
323e25a285 Release version 1.6.1
Fixes #204
2023-02-03 21:34:04 +01:00
Thomas Bruederli
0296150d29 Release version 1.6.0 2022-07-28 22:53:34 +02:00
Thomas Bruederli
e3ebd0e063 Remove db volume from alpine template 2022-06-30 22:22:19 +02:00
Thomas Bruederli
9c31f3fc7e Remove volume declarations (#142)
... and document recommended mount mounts in README
2022-06-13 22:54:14 +02:00
Thomas Bruederli
2672a50f1c improve DB init/update to avoid false error messages 2022-03-06 22:00:15 +01:00
Thomas Bruederli
6bcfc3d9dc Replace composer.pahr call with the binary in /usr/bin
fixes #163
2022-01-03 21:16:39 +01:00
Thomas Bruederli
b241aa21f4 Add libldap-common as it lacks in latest php base images (#160) 2021-12-23 21:58:36 +01:00
Brad Dutton
fe4d5fc2df add redis support to PHP 2021-11-12 21:48:34 +01:00
Thomas Bruederli
08fa041812 configure gd extension with freetype + jpeg (#137) 2021-11-01 22:03:51 +01:00
Thomas Bruederli
b3292221e8 Use local aspell/pspell as default spell check engine
Install additional aspell dicts specified with ROUNDCUBEMAIL_ASPELL_DICTS on container start.

Introduce ROUNDCUBEMAIL_SPELLCHECK_URI env var to use remote spell check API.
2021-10-27 22:33:01 +02:00
William Desportes
c65e0fd09b
Install composer from composer image 2021-09-15 23:21:29 +02:00
William Desportes
b85710be9c Add some security layer on the GPG keyfetching 2021-08-06 22:16:05 +02:00
Brad Dutton
ad46293cad enable opcache in templates too 2021-07-21 22:19:34 +02:00
Thomas Bruederli
cc3a6dbf6e Remove sks-keyservers.net; download pubkey from roundcube.net directly 2021-06-27 22:04:55 +02:00
Thomas Bruederli
7294dfa8a4 Update to php:7.4 base images 2021-02-03 20:46:57 +01:00
Thomas Bruederli
b6107d4cce Allow to define des_key as env variable
This avoids writing it to a shared volume and supports
using secrets in a Kubenetes setup.
2021-01-28 21:56:41 +01:00
Thomas B
a8b213cef1
Add imagick module to enable TIFF image conversion (#124)
* Add imagick module to enable TIFF image conversion

fixes issue #123
2021-01-18 21:35:37 +01:00