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