Skip to content

Commit 4b99368

Browse files
committed
documents configuring firewall, LoadBalancer service and ingress controller
1 parent e69af8a commit 4b99368

1 file changed

Lines changed: 13 additions & 1 deletion

File tree

charts/docker-mailserver/README.md

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,13 @@ Kubernetes cluster. docker-mailserver is a production-ready, fullstack mail serv
4343

4444
Setting up docker-mailserver requires generating a number of configuration [files](https://docker-mailserver.github.io/docker-mailserver/latest/config/advanced/optional-config/). To make this easier, docker-mailserver includes a `setup` command that can generate these files.
4545

46-
To get started, first manually create a TLS Certificate, setting `metadata.name` and `spec.secretName` to the same value. Also set the fully-qualified domain name for your mail server in `spec.dnsNames` and `spec.issuerRef.name` to the name of an Issuer or ClusterIssuer, and `spec.issuerRef.kind` to `Issuer` or `ClusterIssuer`.
46+
To get started, first configure the firewall on your cluster to allow connections to ports 25 (imap), 465 (submissions), 587 (submission) and 993 (imaps) from any IP address.
47+
48+
If you have a LoadBalancer service routing traffic to your ingress controller, configure it to pass through the mail ports.
49+
50+
Then, configure your ingress controller (or Gateway) to [pass through the email ports](https://docker-mailserver.github.io/docker-mailserver/latest/config/advanced/kubernetes/#using-the-proxy-protocol).
51+
52+
Next, manually create a TLS Certificate, setting `metadata.name` and `spec.secretName` to the same value. Also set the fully-qualified domain name for your mail server in `spec.dnsNames` and `spec.issuerRef.name` to the name of an Issuer or ClusterIssuer, and `spec.issuerRef.kind` to `Issuer` or `ClusterIssuer`.
4753
```yaml
4854
apiVersion: cert-manager.io/v1
4955
kind: Certificate
@@ -82,6 +88,12 @@ deployment:
8288
env:
8389
OVERRIDE_HOSTNAME: example.com # You must OVERRIDE this!
8490
```
91+
If you're using the HAProxy ingress controller, configure it to send PROXY Protocol to the docker-mailserver ports, by appending this to your values file:
92+
```yaml
93+
service:
94+
annotations:
95+
haproxy.org/send-proxy-protocol: proxy-v2
96+
```
8597
8698
Then install docker-mailserver using the values file:
8799

0 commit comments

Comments
 (0)