64 lines
2.1 KiB
YAML
64 lines
2.1 KiB
YAML
- 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
|