lava / dockermail

Ready-to-use email server + (optional) web mail + (optional) caldav, carddav and a kitchen sink in a docker container
MIT License
300 stars 60 forks source link

SSL options #7

Open gabeos opened 9 years ago

gabeos commented 9 years ago

Documentation request on how to use my own SSL certificates with this build. Relevant for all services, but especially dovecot..

Would be great if owncloud and rainloop had the option of connecting through SSL also.

lava commented 9 years ago

Hi, for dovecot, the SSL certificate is placed in /etc/dovecot/dovecot.pem and the SSL key in /etc/dovecot/private/dovecot.pem. For postfix, the SSL certificate is placed in /etc/ssl/certs/ssl-cert-snakeoil.pem and the key is placed in /etc/ssl/private/ssl-cert-snakeoil.key.

So the easiest method would be to place the relevant keys in the dovecot folder and add the following lines to the end of dovecot/Dockerfile as needed:

ADD ./gabeos-postfix.pem /etc/ssl/certs/ssl-cert-snakeoil.pem
ADD ./gabeos-postfix.key /etc/ssl/certs/ssl-cert-snakeoil.key
...

Of course, you could also place the key anywhere you want and change the postfix/dovecot config accordingly.

For owncloud and rainloop, those already connect to the mail server via TLS by default. (in fact, dovecot will not even accept unencrypted connections). If you want to connect to the website using SSL (i.e., https), my recommendation would be setting up nginx as a reverse proxy and only accept local connections to the containers. That's my setup, anyways.

If you want to accept SSL connections directly from within owncloud or rainloop, I can't really help you because both of them are using apache and I never configured SSL with apache.