apiVersion: apps/v1 kind: Deployment metadata: name: nextcloud-app namespace: nextcloud spec: replicas: 1 selector: matchLabels: app: nextcloud-app template: metadata: labels: app: nextcloud-app spec: containers: - name: nextcloud image: nextcloud:apache envFrom: - secretRef: name: nextcloud-secrets env: - name: POSTGRES_HOST value: nextcloud-db - name: OVERWRITEPROTOCOL value: "https" - name: TRUSTED_PROXIES value: "10.42.0.0/16 10.43.0.0/16" - name: NEXTCLOUD_TRUSTED_DOMAINS value: "cloud.mynest.love" volumeMounts: - name: nextcloud-core-data mountPath: /var/www/html - name: nextcloud-user-data mountPath: /var/www/html/data volumes: - name: nextcloud-core-data persistentVolumeClaim: claimName: nextcloud-app-pvc - name: nextcloud-user-data persistentVolumeClaim: claimName: nextcloud-media-nfs-pvc --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: nextcloud-app-pvc namespace: nextcloud spec: accessModes: - ReadWriteOnce storageClassName: longhorn resources: requests: storage: 100Gi --- apiVersion: v1 kind: PersistentVolume metadata: name: nextcloud-media-nfs-pv spec: capacity: storage: 1Ti volumeMode: Filesystem accessModes: - ReadWriteMany persistentVolumeReclaimPolicy: Retain storageClassName: robin-nfs nfs: server: robin.home.nest path: /nextcloud --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: nextcloud-media-nfs-pvc namespace: nextcloud spec: accessModes: - ReadWriteMany storageClassName: robin-nfs resources: requests: storage: 1Ti