initial commit
This commit is contained in:
29
lp/dockermail/README.md
Normal file
29
lp/dockermail/README.md
Normal file
@@ -0,0 +1,29 @@
|
||||
kubectl apply -f pvc.yaml
|
||||
|
||||
helm repo add docker-mailserver https://docker-mailserver.github.io/docker-mailserver-helm
|
||||
|
||||
helm upgrade --install docker-mailserver docker-mailserver/docker-mailserver --namespace mail --create-namespace
|
||||
|
||||
kubectl exec -it -n mail deploy/docker-mailserver -- bash
|
||||
|
||||
setup email add admin@allarddcs.nl Dockermail01@
|
||||
|
||||
setup config dkim keysize 2048 domain 'allarddcs.nl'
|
||||
|
||||
2025-01-22 13:09:42+00:00 INFO rspamd-dkim: Here is the content of the TXT DNS record mail._domainkey.allarddcs.nl that you need to create:
|
||||
|
||||
v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwiLS07tI7kyAeIiR+hroK2r2v6/5/2CjLY2kzM2RA4nfnb/ZFG5/tYEF34NMBsZ4/fqki+ACUyN+65d1b7qa2Lxl+sj6honkVnmZHmayYhZbRp1odgim4IOdxRhqnJ3S0T3aVN7XLIgDng2/Uoyl/78qlPWMRZFbxe4h2z8iw3KTtTh3IrMsDnWWeatYO+Bx2WJDMc63qKuiZZ2XL4cC6ptrhKHRcAgErZFlUFyrZzfj7LhXx0Mq+6XLJGAGuVgo797qe4WM/y80PjoGQKCM9VduyFJd4du5DbGA9mhsB3Pu8o+MUt17xb/iWkpLMGO/0GBgLwLM5j7lfDwYOcFmDwIDAQAB
|
||||
|
||||
rspamd: stopped
|
||||
rspamd: started
|
||||
|
||||
|
||||
|
||||
helm upgrade docker-mailserver docker-mailserver/docker-mailserver -n mail
|
||||
|
||||
|
||||
|
||||
supervisorctl restart postfix
|
||||
in etc/postfix/generic
|
||||
|
||||
@allarddcs.nl @allarddcs.nl
|
||||
@@ -0,0 +1 @@
|
||||
v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqRda3lUfPZNi94d4P/82nBtM3rH2KLi7xOOSYm0njK6jtuqfJEvA5Mp3SH8JP7AtOamVXHGqsK1AWxCjPcyRGsHaenp6pDzBToNWbWTbgL/yfI1YIfHagUfpR+1EIUyaIb1NsFOSuEOVecSXQqPnPFVAYAcobDF/5q5z1eM0uPNHyTH0HGVlH038O8tH/INkjmVUa1l6IttdYVeU942J2n4p7hFNqzSc9EcLmaS2Q8DEB1+5i02vhu62qKojYSYo+jr5ThhqOQEy07xOCCenGq7yps9nHbvgmt9m6RlfxIJ9SwphzPm9zIGuK4hxt8MrFD408L+eympWRrDFLfm4owIDAQAB
|
||||
11
lp/dockermail/catalog-info.yaml
Normal file
11
lp/dockermail/catalog-info.yaml
Normal file
@@ -0,0 +1,11 @@
|
||||
apiVersion: backstage.io/v1alpha1
|
||||
kind: Component
|
||||
metadata:
|
||||
name: lp-dockermail
|
||||
title: Dockermail (lp)
|
||||
spec:
|
||||
type: service
|
||||
lifecycle: production
|
||||
owner: platform-team
|
||||
partOf:
|
||||
- ../catalog-info.yaml
|
||||
64
lp/dockermail/ingressroute.yaml
Normal file
64
lp/dockermail/ingressroute.yaml
Normal file
@@ -0,0 +1,64 @@
|
||||
apiVersion: networking.k8s.io/v1
|
||||
kind: Ingress
|
||||
metadata:
|
||||
name: docker-mailserver-ingress
|
||||
annotations:
|
||||
traefik.ingress.kubernetes.io/router.entrypoints: web, websecure
|
||||
traefik.ingress.kubernetes.io/router.rule: "Host(`mail.allarddcs.nl`)"
|
||||
spec:
|
||||
rules:
|
||||
- host: mail.allarddcs.nl
|
||||
http:
|
||||
paths:
|
||||
- path: /
|
||||
pathType: Prefix
|
||||
backend:
|
||||
service:
|
||||
name: docker-mailserver
|
||||
port:
|
||||
number: 25
|
||||
# Add other ports for IMAP, POP3, etc.
|
||||
- host: mail.allarddcs.nl
|
||||
tcp:
|
||||
- port: 25
|
||||
backend:
|
||||
service:
|
||||
name: docker-mailserver
|
||||
port:
|
||||
number: 25
|
||||
- port: 465
|
||||
backend:
|
||||
service:
|
||||
name: docker-mailserver
|
||||
port:
|
||||
number: 465
|
||||
- port: 587
|
||||
backend:
|
||||
service:
|
||||
name: docker-mailserver
|
||||
port:
|
||||
number: 587
|
||||
- port: 993
|
||||
backend:
|
||||
service:
|
||||
name: docker-mailserver
|
||||
port:
|
||||
number: 993
|
||||
- port: 143
|
||||
backend:
|
||||
service:
|
||||
name: docker-mailserver
|
||||
port:
|
||||
number: 143
|
||||
- port: 110
|
||||
backend:
|
||||
service:
|
||||
name: docker-mailserver
|
||||
port:
|
||||
number: 110
|
||||
- port: 995
|
||||
backend:
|
||||
service:
|
||||
name: docker-mailserver
|
||||
port:
|
||||
number: 995
|
||||
23
lp/dockermail/ingressrouteTCP.yaml
Normal file
23
lp/dockermail/ingressrouteTCP.yaml
Normal file
@@ -0,0 +1,23 @@
|
||||
apiVersion: traefik.containo.us/v1alpha1
|
||||
kind: IngressRouteTCP
|
||||
metadata:
|
||||
name: ingressroute-tcp-dockermailserver
|
||||
namespace: mail # Use the appropriate namespace where your Mailserver is deployed
|
||||
spec:
|
||||
entryPoints:
|
||||
- smtp
|
||||
- imap
|
||||
- pop3
|
||||
routes:
|
||||
- match: HostSNI(`*`) # This will match all hostnames, change it to match a specific domain if needed
|
||||
services:
|
||||
- name: docker-mailserver # Replace with your actual mailserver service name
|
||||
port: 25 # SMTP port for Mailserver (adjust as needed)
|
||||
- match: HostSNI(`*`) # IMAP route
|
||||
services:
|
||||
- name: docker-mailserver
|
||||
port: 143 # IMAP port for Mailserver (adjust as needed)
|
||||
- match: HostSNI(`*`) # POP3 route
|
||||
services:
|
||||
- name: docker-mailserver
|
||||
port: 110 # POP3 port for Mailserver (adjust as needed)
|
||||
1
lp/dockermail/logs.sh
Executable file
1
lp/dockermail/logs.sh
Executable file
@@ -0,0 +1 @@
|
||||
microk8s kubectl logs docker-mailserver-0 -n mail
|
||||
124
lp/dockermail/pvc.yaml
Executable file
124
lp/dockermail/pvc.yaml
Executable file
@@ -0,0 +1,124 @@
|
||||
apiVersion: v1
|
||||
kind: PersistentVolume
|
||||
metadata:
|
||||
name: mail-docker-mailserver-mail-config-pv
|
||||
spec:
|
||||
storageClassName: ""
|
||||
capacity:
|
||||
storage: 2Gi
|
||||
accessModes:
|
||||
- ReadWriteMany
|
||||
persistentVolumeReclaimPolicy: Retain
|
||||
volumeMode: Filesystem
|
||||
hostPath:
|
||||
path: /mnt/nfs_share/dockermail/config
|
||||
type: Directory
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
name: mail-docker-mailserver-mail-config-pvc
|
||||
namespace: mail
|
||||
spec:
|
||||
storageClassName: ""
|
||||
volumeName: mail-docker-mailserver-mail-config-pv
|
||||
accessModes:
|
||||
- ReadWriteMany
|
||||
volumeMode: Filesystem
|
||||
resources:
|
||||
requests:
|
||||
storage: 1Gi
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: PersistentVolume
|
||||
metadata:
|
||||
name: mail-docker-mailserver-mail-data-pv
|
||||
spec:
|
||||
storageClassName: ""
|
||||
capacity:
|
||||
storage: 5Gi
|
||||
accessModes:
|
||||
- ReadWriteMany
|
||||
persistentVolumeReclaimPolicy: Retain
|
||||
volumeMode: Filesystem
|
||||
hostPath:
|
||||
path: /mnt/nfs_share/dockermail/data
|
||||
type: Directory
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
name: mail-docker-mailserver-mail-data-pvc
|
||||
namespace: mail
|
||||
spec:
|
||||
storageClassName: ""
|
||||
volumeName: mail-docker-mailserver-mail-data-pv
|
||||
accessModes:
|
||||
- ReadWriteMany
|
||||
volumeMode: Filesystem
|
||||
resources:
|
||||
requests:
|
||||
storage: 1Gi
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: PersistentVolume
|
||||
metadata:
|
||||
name: mail-docker-mailserver-mail-log-pv
|
||||
spec:
|
||||
storageClassName: ""
|
||||
capacity:
|
||||
storage: 2Gi
|
||||
accessModes:
|
||||
- ReadWriteMany
|
||||
persistentVolumeReclaimPolicy: Retain
|
||||
volumeMode: Filesystem
|
||||
hostPath:
|
||||
path: /mnt/nfs_share/dockermail/log
|
||||
type: Directory
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
name: mail-docker-mailserver-mail-log-pvc
|
||||
namespace: mail
|
||||
spec:
|
||||
storageClassName: ""
|
||||
volumeName: mail-docker-mailserver-mail-log-pv
|
||||
accessModes:
|
||||
- ReadWriteMany
|
||||
volumeMode: Filesystem
|
||||
resources:
|
||||
requests:
|
||||
storage: 1Gi
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: PersistentVolume
|
||||
metadata:
|
||||
name: mail-docker-mailserver-mail-state-pv
|
||||
spec:
|
||||
storageClassName: ""
|
||||
capacity:
|
||||
storage: 2Gi
|
||||
accessModes:
|
||||
- ReadWriteMany
|
||||
persistentVolumeReclaimPolicy: Retain
|
||||
volumeMode: Filesystem
|
||||
hostPath:
|
||||
path: /mnt/nfs_share/dockermail/state
|
||||
type: Directory
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
name: mail-docker-mailserver-mail-state-pvc
|
||||
namespace: mail
|
||||
spec:
|
||||
storageClassName: ""
|
||||
volumeName: mail-docker-mailserver-mail-state-pv
|
||||
accessModes:
|
||||
- ReadWriteMany
|
||||
volumeMode: Filesystem
|
||||
resources:
|
||||
requests:
|
||||
storage: 1Gi
|
||||
|
||||
1
lp/dockermail/setup.sh
Normal file
1
lp/dockermail/setup.sh
Normal file
@@ -0,0 +1 @@
|
||||
setup email add admin@allarddcs.nl Dockermail01@
|
||||
17
lp/dockermail/tls-secret.yaml
Normal file
17
lp/dockermail/tls-secret.yaml
Normal file
@@ -0,0 +1,17 @@
|
||||
apiVersion: cert-manager.io/v1
|
||||
kind: Certificate
|
||||
metadata:
|
||||
name: mail-certificate
|
||||
namespace: mail # Replace with your desired namespace (in this case, "mail")
|
||||
spec:
|
||||
secretName: mail-certificate-secret # The name of the Kubernetes secret to store the cert and key
|
||||
issuerRef:
|
||||
name: letsencrypt # Reference to the ClusterIssuer you created earlier
|
||||
kind: ClusterIssuer
|
||||
commonName: mail.allarddcs.nl # The common name for your mail domain
|
||||
dnsNames:
|
||||
- mail.allarddcs.nl # Additional DNS names (e.g., subdomains)
|
||||
usages:
|
||||
- digital signature
|
||||
- key encipherment
|
||||
- server auth
|
||||
Reference in New Issue
Block a user