Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Optional config for roundcube #267

Open
freman opened this issue Oct 22, 2024 · 5 comments
Open

Optional config for roundcube #267

freman opened this issue Oct 22, 2024 · 5 comments
Labels
needs-feedback Waiting for feedback from reporter

Comments

@freman
Copy link
Contributor

freman commented Oct 22, 2024

Hey, so at the moment the only way to tweak roundcube config (say to add config for a plugin) is to replace a config file, I'd like to propose the following change

mkdir config/config.inc.d/
mv config/config.docker.inc.php config/config.inc.d/

replace the include line from config.inc.d to

foreach (glob("config.inc.d/*.php") as $filename)
{
    include $filename;
}

We could mount various configs into that dir.

alternatively just have config.docker.inc.php check for a user include mounted into that dir and include that...

@thomascube
Copy link
Member

For additional config files we have the /var/roundcube/config volume which is loaded pretty much the same way you propose here except that the for loop is done in the docker-entrypoint and not in PHP:
https://github.com/roundcube/roundcubemail-docker/blob/master/apache/docker-entrypoint.sh#L153-L156

I don't see the benefit of the way you propose to what we already have. Please clarify if I seem to miss something here.

@pabzm pabzm added the needs-feedback Waiting for feedback from reporter label Nov 8, 2024
@HanSyt
Copy link

HanSyt commented Dec 17, 2024

I was struggling with docker and plugins, especially the authres_status plugin. When using the env plugin settings, the container kept crashing. So I made 2 volumes: /var/www/html/config en /plugins. (roundcube_config resp roundcube_plugins)
I commented out the include config docker inc and did the whole config in config_inc.php, pretty like a standalone roundcube installation.
This is not what you ment I guess, but makes the system more flexible for me (and the plugin did not crash).

@pabzm
Copy link
Member

pabzm commented Jan 2, 2025

I wouldn't like to change our approach to extended configs without a good reason, so unless you can convince us that your setup really isn't feasible with the current approach, chances are not so good, to be honest.

Did you check why your container had been crashing?

@HanSyt
Copy link

HanSyt commented Jan 3, 2025

Basically I had two problems. First adding skin Larry and second the plugins.
With the variable for plugins set, the container crashed. With the change I made the container stayed up and is reliable.

My docker compose (without the extra plugin config)
image

I changed the config like this:
image

So it is not that different from the original, except some lines from the include config are moved to the main config.
I guess this is the line that differs:
$config['plugins'] = array_filter(array_unique(array_merge($config['plugins'], ['archive', 'zipdownload'])));

I don't know what is the best approach, I guess both should be working, however my approach stopped roundcube crashing (on the plugin) .

@pabzm
Copy link
Member

pabzm commented Jan 9, 2025

Until we know why your container crashed we can't tell what happened and why your way of things helped. You should be able to still read the container output after it crashed, using docker compose log roundcubemail. Please show us the result (as text, not as screenshot).

You might also try with a newer image. ROUNDCUBEMAIL_INSTALL_PLUGINS has been removed months ago. Please see the README for instructions on how to make the current container image install plugins.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
needs-feedback Waiting for feedback from reporter
Projects
None yet
Development

No branches or pull requests

4 participants