--- apiVersion: v1 kind: PersistentVolume metadata: name: nextcloud-pv spec: capacity: storage: 10Gi accessModes: - ReadWriteOnce persistentVolumeReclaimPolicy: Retain storageClassName: local-path hostPath: path: /dpool/temp/Nextcloud --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: nextcloud-pvc namespace: {{ .Release.Namespace }} spec: accessModes: - ReadWriteOnce storageClassName: local-path resources: requests: storage: 10Gi volumeName: nextcloud-pv --- apiVersion: v1 kind: Service metadata: name: nextcloud namespace: {{ .Release.Namespace }} spec: ports: - port: 80 selector: app: nextcloud --- apiVersion: apps/v1 kind: Deployment metadata: name: nextcloud namespace: {{ .Release.Namespace }} spec: securityContext: runAsUser: 1000 runAsGroup: 1000 fsGroup: 1000 selector: matchLabels: app: nextcloud template: metadata: labels: app: nextcloud spec: containers: - name: nextcloud image: nextcloud:29 env: - name: MYSQL_PASSWORD valueFrom: secretKeyRef: name: nextcloud-secrets key: MYSQL_PASSWORD - name: MYSQL_DATABASE value: nextcloud - name: MYSQL_USER value: nextcloud - name: MYSQL_HOST value: mariadb ports: - containerPort: 80 volumeMounts: - name: nextcloud-data mountPath: /var/www/html securityContext: runAsUser: 1000 runAsGroup: 1000 fsGroup: 1000 volumes: - name: nextcloud-data persistentVolumeClaim: claimName: nextcloud-pvc --- apiVersion: k8s.mariadb.com/v1alpha1 kind: MariaDB metadata: name: nextcloud-db namespace: {{ .Release.Namespace }} spec: rootPasswordSecretKeyRef: name: nextcloud-secrets key: MYSQL_ROOT_PASSWORD database: nextcloud username: nextcloud passwordSecretKeyRef: name: nextcloud-secrets key: MYSQL_PASSWORD image: mariadb:10.11 storage: size: 5Gi --- apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: nextcloud namespace: {{ .Release.Namespace }} annotations: external-dns.alpha.kubernetes.io/hostname: nc.hxme.net spec: tls: - hosts: - nc.hxme.net secretName: wildcard-hxme-net rules: - host: nc.hxme.net http: paths: - path: / pathType: Prefix backend: service: name: nextcloud port: number: 80