Research-Stack/4-Infrastructure/k3s-flake/manifests/mail/mailserver.yaml
2026-05-25 16:24:21 -05:00

95 lines
2.5 KiB
YAML

apiVersion: v1
kind: Namespace
metadata:
name: mail
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: mailserver
namespace: mail
labels:
app: mailserver
spec:
replicas: 0
selector:
matchLabels:
app: mailserver
template:
metadata:
labels:
app: mailserver
spec:
nodeSelector:
kubernetes.io/hostname: racknerd-510bd9c
tolerations:
- key: pulse-only
operator: Equal
value: "true"
effect: NoSchedule
hostNetwork: true
dnsPolicy: ClusterFirstWithHostNet
containers:
- name: mailserver
image: ghcr.io/docker-mailserver/docker-mailserver:latest
ports:
- containerPort: 25
protocol: TCP
- containerPort: 143
protocol: TCP
- containerPort: 465
protocol: TCP
- containerPort: 587
protocol: TCP
- containerPort: 993
protocol: TCP
env:
- name: SSL_TYPE
value: ""
- name: POSTFIX_DISABLE_TLS
value: "yes"
- name: POSTMASTER_ADDRESS
value: "postmaster@researchstack.info"
- name: TZ
value: "America/Chicago"
- name: ENABLE_SPAMASSASSIN
value: "1"
- name: ENABLE_CLAMAV
value: "0"
- name: ENABLE_FAIL2BAN
value: "1"
- name: ENABLE_POSTGREY
value: "0"
- name: POSTFIX_MESSAGE_SIZE_LIMIT
value: "51200000"
- name: ONE_DIR
value: "1"
- name: DOMAIN
value: "researchstack.info"
- name: OVERRIDE_HOSTNAME
value: "mail.researchstack.info"
volumeMounts:
- name: maildata
mountPath: /var/mail
- name: mailstate
mountPath: /var/mail-state
- name: config
mountPath: /tmp/docker-mailserver
readinessProbe:
tcpSocket:
port: 25
initialDelaySeconds: 30
periodSeconds: 15
volumes:
- name: maildata
hostPath:
path: /mnt/mail/data
type: DirectoryOrCreate
- name: mailstate
hostPath:
path: /mnt/mail/state
type: DirectoryOrCreate
- name: config
hostPath:
path: /mnt/mail/config
type: DirectoryOrCreate