diff --git a/nextcloud-onlyoffice/Chart.yaml b/nextcloud-onlyoffice/Chart.yaml index 983b4862a90af29a3d7fbdd7a7b30c67c39e7c3e..a2517259d5952b4f0dbeca88452b82e6514f58da 100644 --- a/nextcloud-onlyoffice/Chart.yaml +++ b/nextcloud-onlyoffice/Chart.yaml @@ -2,4 +2,4 @@ apiVersion: v1 description: | A helm chart for installing NextCloud and setting up ONLYOFFICE integration name: nextcloud-onlyoffice -version: 0.1.2 +version: 0.1.3 diff --git a/nextcloud-onlyoffice/templates/job-configure-nextcloud.yaml b/nextcloud-onlyoffice/templates/job-configure-nextcloud.yaml new file mode 100644 index 0000000000000000000000000000000000000000..c2d6786e76f0c1af0644ee0b3521a37ff7bca0bb --- /dev/null +++ b/nextcloud-onlyoffice/templates/job-configure-nextcloud.yaml @@ -0,0 +1,111 @@ +apiVersion: batch/v1 +kind: Job +metadata: + name: "{{ .Release.Name }}-configure-nextcloud" + labels: + app.kubernetes.io/managed-by: {{ .Release.Service | quote }} + app.kubernetes.io/instance: {{ .Release.Name | quote }} + helm.sh/chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" + annotations: + "helm.sh/hook": post-install,post-upgrade + "helm.sh/hook-weight": "1" + "helm.sh/hook-delete-policy": hook-succeeded +spec: + template: + metadata: + name: "{{.Release.Name}}-configure-nextcloud" + labels: + app.kubernetes.io/managed-by: {{ .Release.Service | quote }} + app.kubernetes.io/instance: {{.Release.Name | quote }} + helm.sh/chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" + spec: + restartPolicy: Never + securityContext: + fsGroup: 33 + runAsUser: 33 + runAsGroup: 33 + containers: + - name: {{ .Release.Name }}-configure-nextcloud-job + image: {{ .Values.nextcloud.image.repository }}:{{ .Values.nextcloud.image.tag }} + command: + command: + - "/usr/local/bin/php" + - "/var/www/html/occ" + - "config:import" + - "/var/local/config.json" + volumeMounts: + - name: nextcloud-data + mountPath: /var/www/html/ + subPath: root + - name: nextcloud-data + mountPath: /var/www/html/data + subPath: data + - name: nextcloud-data + mountPath: /var/www/html/config + subPath: config + - name: nextcloud-data + mountPath: /var/www/html/custom_apps + subPath: custom_apps + - name: nextcloud-data + mountPath: /var/www/html/themes + subPath: themes + - name: onlyoffice-config + mountPath: /var/local + env: + {{- if .Values.nextcloud.internalDatabase.enabled }} + - name: SQLITE_DATABASE + value: {{ .Values.nextcloud.internalDatabase.name | quote }} + {{- else if .Values.nextcloud.mariadb.enabled }} + - name: MYSQL_HOST + value: {{ template "nextcloud.mariadb.fullname" . }} + - name: MYSQL_DATABASE + value: {{ .Values.nextcloud.mariadb.db.name | quote }} + - name: MYSQL_USER + valueFrom: + secretKeyRef: + name: {{ printf "%s-%s" .Release.Name "db" }} + key: db-username + - name: MYSQL_PASSWORD + valueFrom: + secretKeyRef: + name: {{ printf "%s-%s" .Release.Name "db" }} + key: db-password + {{- else }} + - name: MYSQL_HOST + value: {{ .Values.nextcloud.externalDatabase.host | quote }} + - name: MYSQL_DATABASE + value: {{ .Values.nextcloud.externalDatabase.database | quote }} + - name: MYSQL_USER + valueFrom: + secretKeyRef: + name: {{ printf "%s-%s" .Release.Name "db" }} + key: db-username + - name: MYSQL_PASSWORD + valueFrom: + secretKeyRef: + name: {{ printf "%s-%s" .Release.Name "db" }} + key: db-password + {{- end }} + - name: NEXTCLOUD_ADMIN_USER + valueFrom: + secretKeyRef: + name: {{ printf "%s-%s" .Release.Name "nextcloud" }} + key: nextcloud-username + - name: NEXTCLOUD_ADMIN_PASSWORD + valueFrom: + secretKeyRef: + name: {{ printf "%s-%s" .Release.Name "nextcloud" }} + key: nextcloud-password + - name: NEXTCLOUD_TRUSTED_DOMAINS + value: {{ .Values.nextcloud.nextcloud.host }} + volumes: + - name: nextcloud-data + {{- if .Values.nextcloud.persistence.enabled }} + persistentVolumeClaim: + claimName: {{ if .Values.nextcloud.persistence.existingClaim }}{{ .Values.nextcloud.persistence.existingClaim }}{{- else }}{{ printf "%s-%s" .Release.Name "nextcloud-nextcloud" }}{{- end }} + {{- else }} + emptyDir: {} + {{- end }} + - name: onlyoffice-config + configMap: + name: {{ .Release.Name }}-onlyoffice-config diff --git a/nextcloud-onlyoffice/templates/onlyoffice-config.yaml b/nextcloud-onlyoffice/templates/onlyoffice-config.yaml index 9440f9982a8a66d056791b014d9b59eeffcc4450..26516f834ab57691e91e3ff4d70d9ba1af9ad4b4 100644 --- a/nextcloud-onlyoffice/templates/onlyoffice-config.yaml +++ b/nextcloud-onlyoffice/templates/onlyoffice-config.yaml @@ -41,3 +41,14 @@ data: # Config settings from the configmap above php occ config:import /var/local/onlyoffice-config.json + config.json: | + { + "system":{ + "trusted_proxies": "10.43.0.0/16" + }, + "apps":{ + "core":{ + "backgroundjobs_mode": "cron" + } + } + }