-
Notifications
You must be signed in to change notification settings - Fork 131
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
Add replicaCount for admin, dovecot, webmail and oletools #303
base: master
Are you sure you want to change the base?
Conversation
We'd need to test this in length in term of session management. |
This PR is stale because it has been open 45 days with no activity. Remove stale label or comment or this will be closed in 10 days. |
That is definitely broken. The only things you can safely scale up are: unbound, oletools, clamav, tika and webmail; All the other containers can't^wshoudn't be scaled up without changes in Mailu |
This PR is stale because it has been open 45 days with no activity. Remove stale label or comment or this will be closed in 10 days. |
@nextgens why should admin not be scaled up? i run this setup since a few months and have not experienced any problems. Regarding postfix the interesting point would be what problems do you expect there? If they dont share storage, but instead all have there own storage, then one mail should be randomly delivered to one of the postfixes and send from there. I also have not experienced any issue with this so far. |
This PR is stale because it has been open 45 days with no activity. Remove stale label or comment or this will be closed in 10 days. |
Because until 2024.06 it had some shared state. I don't think that's true anymore so it is probably okay to do so now. The imap container (running dovecot) is still problematic. To scale that up you should find a way to emulate what 'dovecot director' does: ensure that all clients sharing the same username are steered towards the same dovecot backend regardless of the protocol they use. Failing to do so means that indexes will never be kept up to date across backends ... and that will put the underlying FS under a lot of strain and will get you terrible performance. A basic implementation of this is trivial to do (probably 3 lines of code); the devil is in the detail. To do it right you probably need to have visibility on the healthchecks of the various backends... which means reinventing the wheel in a docker-compose context. Is there a standardized way of doing it in k8s land? |
Correcting myself above: webmails cannot be safely scaled as is. PHP sessions and whatknot are not in redis; If requests are load-balanced across instances it will break. |
This PR is stale because it has been open 45 days with no activity. Remove stale label or comment or this will be closed in 10 days. |
In general those services can easily deployed with multiple replicas, when the storage is shared, without any issues. So why not be able to configure them?