- name: Nextcloud setup block: - name: Defined Nextcloud repository kubernetes.core.helm_repository: name: nextcloud repo_url: "https://nextcloud.github.io/helm/" - name: Deploy Nextcloud kubernetes.core.helm: context: "{{ my_context }}" name: nextcloud chart_ref: nextcloud/nextcloud chart_version: "3.0.4" release_namespace: "nextcloud" create_namespace: true values: ingress: enabled: true annotations: cert-manager.io/cluster-issuer: letsencrypt-prod traefik.ingress.kubernetes.io/router.entrypoints: web,websecure traefik.ingress.kubernetes.io/router.middlewares: security_headers@file,compress@file,nextcloud-nextcloud-redirect@kubernetescrd tls: - secretName: nextcloud.{{ cluster_domain }} hosts: - nextcloud.{{ cluster_domain }} nextcloud: host: nextcloud.{{ cluster_domain }} username: admin password: "{{ prometheus_grafana_admin_password }}" mail: enabled: true fromAddress: nextcloud domain: "{{ cluster_domain }}" smtp: host: "{{ smtp_host }}" secure: ssl port: 465 authtype: LOGIN name: "{{ smtp_user }}" password: "{{ smtp_password }}" persistence: enabled: true storageClass: "longhorn" size: 20Gi - name: Install Nextcloud Middleware kubernetes.core.k8s: state: present context: "{{ my_context }}" namespace: "nextcloud" definition: apiVersion: traefik.io/v1alpha1 kind: Middleware metadata: name: nextcloud-redirect namespace: "nextcloud" spec: redirectRegex: permanent: true regex: "https://(.*)/.well-known/(card|cal)dav" replacement: "https://${1}/remote.php/dav/" tags: - nextcloud