--- # tasks file for lemmy - name: Create lemmy namespace k8s: state: present definition: apiVersion: v1 kind: Namespace metadata: name: lemmy - name: Create a persistent volume claim for lemmy k8s: state: present definition: apiVersion: v1 kind: PersistentVolumeClaim metadata: name: config namespace: lemmy spec: accessModes: - ReadWriteOnce resources: requests: storage: 2Ti - name: Create a persistent volume claim for lemmy k8s: state: present definition: apiVersion: v1 kind: PersistentVolumeClaim metadata: name: lemmy namespace: lemmy spec: accessModes: - ReadWriteOnce resources: requests: storage: 2Ti - name: Create a deployment for lemmy k8s: definition: apiVersion: v1 kind: Deployment metadata: name: lemmy namespace: lemmy spec: replicas: 1 selector: matchLabels: app: lemmy template: metadata: labels: app: lemmy spec: containers: - name: lemmy image: dessalines/lemmy:0.19.11 volumeMounts: - name: config mountPath: /tmp/docker-lemmyserver - name: ssl mountPath: /etc/letsencrypt - name: lemmy mountPath: /var/lemmy ports: - containerPort: 25 env: - name: OVERRIDE_HOSTNAME value: "postfix.eom.dev" volumes: - name: lemmy persistentVolumeClaim: claimName: lemmy - name: Create a deployment for lemmy-ui k8s: definition: apiVersion: v1 kind: Deployment metadata: name: lemmy-ui namespace: lemmy spec: replicas: 1 selector: matchLabels: app: lemmy-ui template: metadata: labels: app: lemmy-ui spec: containers: - name: lemmy-ui image: dessalines/lemmy-ui:0.19.11 volumeMounts: - name: lemmy mountPath: /var/lemmy ports: - containerPort: 25 env: - name: OVERRIDE_HOSTNAME value: "postfix.eom.dev" volumes: - name: lemmy persistentVolumeClaim: claimName: lemmy - name: Expose deployment as a service k8s: definition: apiVersion: v1 kind: Service metadata: name: lemmy namespace: lemmy spec: selector: app: lemmy ports: - port: 25 name: smtp-a type: LoadBalancer externalTrafficPolicy: Local