mirror of
https://github.com/Mailu/Mailu.git
synced 2024-12-12 10:45:38 +02:00
420 lines
8.2 KiB
YAML
420 lines
8.2 KiB
YAML
---
|
|
apiVersion: extensions/v1beta1
|
|
kind: Ingress
|
|
metadata:
|
|
name: mailu-admin-ing
|
|
labels:
|
|
app: mailu
|
|
role: mail
|
|
tier: backend
|
|
spec:
|
|
tls:
|
|
- hosts:
|
|
- "mail.example.com"
|
|
secretName: letsencrypt-certs-all # If unsure how to generate these, check out https://github.com/ployst/docker-letsencrypt
|
|
rules:
|
|
- host: "mail.example.com"
|
|
http:
|
|
paths:
|
|
- path: "/admin"
|
|
backend:
|
|
serviceName: mailu-admin
|
|
servicePort: 80
|
|
|
|
---
|
|
apiVersion: extensions/v1beta1
|
|
kind: Deployment
|
|
metadata:
|
|
name: mailu-redis
|
|
spec:
|
|
replicas: 1
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: mailu-redis
|
|
role: mail
|
|
tier: backend
|
|
spec:
|
|
containers:
|
|
- name: redis
|
|
image: redis:4.0-alpine
|
|
imagePullPolicy: Always
|
|
volumeMounts:
|
|
- mountPath: /data
|
|
name: redisdata
|
|
ports:
|
|
- containerPort: 6379
|
|
name: redis
|
|
protocol: TCP
|
|
volumes:
|
|
- name: redisdata
|
|
hostPath:
|
|
path: /var/data/mailu/redisdata
|
|
|
|
---
|
|
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: redis
|
|
labels:
|
|
app: mailu-redis
|
|
role: mail
|
|
tier: backend
|
|
spec:
|
|
selector:
|
|
app: mailu
|
|
role: mail
|
|
tier: backend
|
|
ports:
|
|
- name: redis
|
|
port: 6379
|
|
protocol: TCP
|
|
|
|
---
|
|
|
|
apiVersion: extensions/v1beta1
|
|
kind: Deployment
|
|
metadata:
|
|
name: mailu-imap
|
|
spec:
|
|
replicas: 1
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: mailu-imap
|
|
role: mail
|
|
tier: backend
|
|
spec:
|
|
containers:
|
|
- name: imap
|
|
image: mailu/dovecot:stable
|
|
imagePullPolicy: Always
|
|
env:
|
|
- name : DOMAIN
|
|
value : example.com
|
|
- name : HOSTNAME
|
|
value : mail.example.com
|
|
- name : POSTMASTER
|
|
value : admin
|
|
volumeMounts:
|
|
- mountPath: /data
|
|
name: maildata
|
|
- mountPath: /mail
|
|
name: mailstate
|
|
- mountPath: /overrides
|
|
name: overrides
|
|
- mountPath: /certs
|
|
name: certs
|
|
readOnly: true
|
|
ports:
|
|
- containerPort: 2102
|
|
- containerPort: 2525
|
|
- containerPort: 143
|
|
- containerPort: 993
|
|
- containerPort: 4190
|
|
volumes:
|
|
- name: maildata
|
|
hostPath:
|
|
path: /var/data/mailu/maildata
|
|
- name: mailstate
|
|
hostPath:
|
|
path: /var/data/mailu/mailstate
|
|
- name: overrides
|
|
hostPath:
|
|
path: /var/data/mailu/overrides
|
|
- name: certs
|
|
secret:
|
|
items:
|
|
- key: tls.crt
|
|
path: cert.pem
|
|
- key: tls.key
|
|
path: key.pem
|
|
secretName: letsencrypt-certs-all
|
|
|
|
---
|
|
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: imap
|
|
labels:
|
|
app: mailu
|
|
role: mail
|
|
tier: backend
|
|
spec:
|
|
selector:
|
|
app: mailu-imap
|
|
role: mail
|
|
tier: backend
|
|
ports:
|
|
ports:
|
|
- name: imap-auth
|
|
port: 2102
|
|
protocol: TCP
|
|
- name: imap-transport
|
|
port: 2525
|
|
protocol: TCP
|
|
- name: imap-default
|
|
port: 143
|
|
protocol: TCP
|
|
- name: imap-ssl
|
|
port: 993
|
|
protocol: TCP
|
|
- name: sieve
|
|
port: 4190
|
|
protocol: TCP
|
|
|
|
---
|
|
|
|
apiVersion: extensions/v1beta1
|
|
kind: Deployment
|
|
metadata:
|
|
name: mailu-smtp
|
|
spec:
|
|
replicas: 1
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: mailu-smtp
|
|
role: mail
|
|
tier: backend
|
|
spec:
|
|
containers:
|
|
- name: smtp
|
|
image: mailu/postfix:stable
|
|
imagePullPolicy: Always
|
|
env:
|
|
- name : DOMAIN
|
|
value : example.com
|
|
- name : HOSTNAME
|
|
value : mail.example.com
|
|
- name : MESSAGE_SIZE_LIMIT
|
|
value : "50000000"
|
|
- name : RELAYHOST
|
|
value : ""
|
|
volumeMounts:
|
|
- mountPath: /data
|
|
name: maildata
|
|
- mountPath: /overrides
|
|
name: overrides
|
|
- mountPath: /certs
|
|
name: certs
|
|
readOnly: true
|
|
ports:
|
|
- name: smtp
|
|
containerPort: 25
|
|
protocol: TCP
|
|
- name: smtp-ssl
|
|
containerPort: 465
|
|
protocol: TCP
|
|
- name: smtp-starttls
|
|
containerPort: 587
|
|
protocol: TCP
|
|
volumes:
|
|
- name: maildata
|
|
hostPath:
|
|
path: /var/data/mailu/maildata
|
|
- name: overrides
|
|
hostPath:
|
|
path: /var/data/mailu/overrides
|
|
- name: certs
|
|
secret:
|
|
items:
|
|
- key: tls.crt
|
|
path: cert.pem
|
|
- key: tls.key
|
|
path: key.pem
|
|
secretName: letsencrypt-certs-all
|
|
|
|
---
|
|
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: smtp
|
|
labels:
|
|
app: mailu
|
|
role: mail
|
|
tier: backend
|
|
spec:
|
|
selector:
|
|
app: mailu-smtp
|
|
role: mail
|
|
tier: backend
|
|
ports:
|
|
- name: smtp
|
|
port: 25
|
|
protocol: TCP
|
|
- name: smtp-ssl
|
|
port: 465
|
|
protocol: TCP
|
|
- name: smtp-starttls
|
|
port: 587
|
|
protocol: TCP
|
|
|
|
---
|
|
|
|
apiVersion: extensions/v1beta1
|
|
kind: Deployment
|
|
metadata:
|
|
name: mailu-security
|
|
spec:
|
|
replicas: 1
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: mailu-security
|
|
role: mail
|
|
tier: backend
|
|
spec:
|
|
containers:
|
|
- name: antispam
|
|
image: mailu/rspamd:stable
|
|
imagePullPolicy: Always
|
|
ports:
|
|
- name: antispam
|
|
containerPort: 11333
|
|
protocol: TCP
|
|
volumeMounts:
|
|
- name: filter
|
|
mountPath: /var/lib/rspamd
|
|
- name: antivirus
|
|
image: mailu/clamav:stable
|
|
imagePullPolicy: Always
|
|
ports:
|
|
- name: antivirus
|
|
containerPort: 3310
|
|
protocol: TCP
|
|
volumeMounts:
|
|
- name: filter
|
|
mountPath: /data
|
|
volumes:
|
|
- name: filter
|
|
hostPath:
|
|
path: /var/data/mailu/filter
|
|
|
|
---
|
|
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: antispam
|
|
labels:
|
|
app: mailu-antispam
|
|
role: mail
|
|
tier: backend
|
|
spec:
|
|
selector:
|
|
app: mailu-security
|
|
role: mail
|
|
tier: backend
|
|
ports:
|
|
- name: antispam
|
|
port: 11333
|
|
protocol: TCP
|
|
|
|
---
|
|
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: antivirus
|
|
labels:
|
|
app: mailu-antivirus
|
|
role: mail
|
|
tier: backend
|
|
spec:
|
|
selector:
|
|
app: mailu-security
|
|
role: mail
|
|
tier: backend
|
|
ports:
|
|
- name: antivirus
|
|
port: 3310
|
|
protocol: TCP
|
|
|
|
---
|
|
|
|
apiVersion: extensions/v1beta1
|
|
kind: Deployment
|
|
metadata:
|
|
name: mailu-admin
|
|
spec:
|
|
replicas: 1
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: mailu-admin
|
|
role: mail
|
|
tier: backend
|
|
spec:
|
|
containers:
|
|
- name: admin
|
|
image: mailu/admin:stable
|
|
imagePullPolicy: Always
|
|
env:
|
|
- name : DOMAIN
|
|
value : example.com
|
|
- name : HOSTNAME
|
|
value : mail.example.com
|
|
- name : POSTMASTER
|
|
value : core
|
|
- name : SECRET_KEY
|
|
value : pleasereplacethiswithabetterkey
|
|
- name : DEBUG
|
|
value : "True"
|
|
volumeMounts:
|
|
- name: maildata
|
|
mountPath: /data
|
|
- name: dkim
|
|
mountPath: /dkim
|
|
- name: certs
|
|
mountPath: /certs
|
|
readOnly: true
|
|
# - name: docker
|
|
# mountPath: /var/run/docker.sock
|
|
# readOnly: true
|
|
ports:
|
|
- name: http
|
|
containerPort: 80
|
|
protocol: TCP
|
|
volumes:
|
|
- name: maildata
|
|
hostPath:
|
|
path: /var/data/mailu/maildata
|
|
- name: dkim
|
|
hostPath:
|
|
path: /var/data/mailu/dkim
|
|
- name: certs
|
|
secret:
|
|
items:
|
|
- key: tls.crt
|
|
path: cert.pem
|
|
- key: tls.key
|
|
path: key.pem
|
|
secretName: letsencrypt-certs-all
|
|
# - name: docker
|
|
# hostPath:
|
|
# path: /var/run/docker.sock
|
|
|
|
---
|
|
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: mailu-admin
|
|
labels:
|
|
app: mailu-admin
|
|
role: mail
|
|
tier: backend
|
|
spec:
|
|
selector:
|
|
app: mailu-admin
|
|
role: mail
|
|
tier: backend
|
|
ports:
|
|
- name: http
|
|
port: 80
|
|
protocol: TCP
|