Mailu: Another nginx front proxy

Created on 7 Oct 2018  路  5Comments  路  Source: Mailu/Mailu

I'm working on a sympa integration with mailu. Sympa is a mailing list software. It has its own web interface. I'd like to proxy it with nginx front just like admin or roundcube. It seems to me that I have to fork the front container for that and change the config file (nginx.conf). I'd like to avoid that and keep things in my docker image. With the postfix container it seems possible to use overrides for the transport logic ( I haven't done that yet to see if all requrements can be fulfilled ). I'd like something like that for nginx as well. To be able to plugin another service.

typquestion

Most helpful comment

Here is a preliminary version of sympa with mailu: https://github.com/c-holtermann/Mailu/tree/front-sympa. Not yet fully functional. The web interface works with the nginx front proxy.

All 5 comments

To be honnest, having a list server is something we have been struggling with. @morbidick did try to integrate with mailman iirc. The standard way we should go is probably having a MAILING_LIST variable initially set to none that specifies which list server is used on a Mailu instance.

Then, this environment variable can be used in the front container configuration to proxify the proper paths. If it is integrated with Mailu, I see no reason why you should not integrate it in the front container.

Also, have a look at #337. Unfortunately, other discussions happened outside of Github.

I've been using sympa for some while for multiple lists and like it. But that's just my preference. I think a mailing list environment would be worthwile for the whole mailu project. Just like there are different webmails it should be possible to have different list systems from my perspective. But that's a design decision.

Just from the plain sympa perspective there is a need for two url pathes:
/sympa
/sympa-static

Maybe sympa-static could be somehow made internally to sympa/sympa-static but ideally front would provide both domains. That would be a little more complex than just having one path that can be put into MAILING_LIST.

MAILING_LIST could contain two pathes separated by comma like "sympa, sympa-static". I have never worked with mailman. I don't know what path(es) that needs.

I've been using sympa for some while for multiple lists and like it. But that's just my preference. I think a mailing list environment would be worthwile for the whole mailu project. Just like there are different webmails it should be possible to have different list systems from my perspective. But that's a design decision.

Agreed, and that was specifically the idea behind having an environment variable for it.

Maybe sympa-static could be somehow made internally to sympa/sympa-static but ideally front would provide both domains. That would be a little more complex than just having one path that can be put into MAILING_LIST.

What's interesting with the nginx configuration in the front container is it is a Jinja template compiled at runtime based on environment variables. So you are able to do things like:

{% if MAILING_LIST == "sympa" %}
location /sympa {
 ...
}

location /sympa-static {
 ...
}
{% endif %}

Here is a preliminary version of sympa with mailu: https://github.com/c-holtermann/Mailu/tree/front-sympa. Not yet fully functional. The web interface works with the nginx front proxy.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

c-holtermann picture c-holtermann  路  3Comments

styxlab picture styxlab  路  4Comments

SJS28092018 picture SJS28092018  路  3Comments

Angedestenebres picture Angedestenebres  路  3Comments

whitef0x0 picture whitef0x0  路  4Comments