mirror of
https://github.com/nextcloud/all-in-one.git
synced 2025-12-19 22:16:49 +00:00
update helm-chart updates
Signed-off-by: Simon L <szaimen@e.mail.de>
This commit is contained in:
parent
9c0ea8a23c
commit
fe336cf6d8
37 changed files with 11 additions and 3 deletions
12
nextcloud-aio-helm-chart/Chart.yaml
Executable file
12
nextcloud-aio-helm-chart/Chart.yaml
Executable file
|
|
@ -0,0 +1,12 @@
|
|||
name: nextcloud-aio-helm-chart
|
||||
description: A generated Helm Chart for Nextcloud AIO from Skippbox Kompose
|
||||
version: 4.7.0
|
||||
apiVersion: v2
|
||||
keywords:
|
||||
- latest
|
||||
- nextcloud
|
||||
- helm-chart
|
||||
- open-source
|
||||
sources:
|
||||
- https://github.com/nextcloud/all-in-one/tree/main/helm-chart
|
||||
home: https://github.com/nextcloud/all-in-one/tree/main/helm-chart
|
||||
3
nextcloud-aio-helm-chart/readme.md
Executable file
3
nextcloud-aio-helm-chart/readme.md
Executable file
|
|
@ -0,0 +1,3 @@
|
|||
# You can also install the AIO containers on Kubernetes using this Helm Chart
|
||||
|
||||
This is currently beta and not ready yet.
|
||||
73
nextcloud-aio-helm-chart/templates/nextcloud-aio-apache-deployment.yaml
Executable file
73
nextcloud-aio-helm-chart/templates/nextcloud-aio-apache-deployment.yaml
Executable file
|
|
@ -0,0 +1,73 @@
|
|||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.cmd: kompose convert -c -f latest.yml
|
||||
kompose.version: 1.28.0 (c4137012e)
|
||||
labels:
|
||||
io.kompose.service: nextcloud-aio-apache
|
||||
name: nextcloud-aio-apache
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
io.kompose.service: nextcloud-aio-apache
|
||||
template:
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.cmd: kompose convert -c -f latest.yml
|
||||
kompose.version: 1.28.0 (c4137012e)
|
||||
labels:
|
||||
io.kompose.network/nextcloud-aio: "true"
|
||||
io.kompose.service: nextcloud-aio-apache
|
||||
spec:
|
||||
initContainers:
|
||||
- name: init-volumes
|
||||
image: alpine
|
||||
command:
|
||||
- chmod
|
||||
- "777"
|
||||
- /nextcloud-aio-nextcloud
|
||||
- /nextcloud-aio-apache
|
||||
volumeMounts:
|
||||
- name: nextcloud-aio-apache
|
||||
mountPath: /nextcloud-aio-apache
|
||||
- name: nextcloud-aio-nextcloud
|
||||
mountPath: /nextcloud-aio-nextcloud
|
||||
containers:
|
||||
- env:
|
||||
- name: APACHE_MAX_SIZE
|
||||
value: "{{ .Values.APACHE_MAX_SIZE }}"
|
||||
- name: APACHE_MAX_TIME
|
||||
value: "{{ .Values.NEXTCLOUD_MAX_TIME }}"
|
||||
- name: APACHE_PORT
|
||||
value: "{{ .Values.APACHE_PORT }}"
|
||||
- name: COLLABORA_HOST
|
||||
value: nextcloud-aio-collabora
|
||||
- name: NC_DOMAIN
|
||||
value: "{{ .Values.NC_DOMAIN }}"
|
||||
- name: NEXTCLOUD_HOST
|
||||
value: nextcloud-aio-nextcloud
|
||||
- name: ONLYOFFICE_HOST
|
||||
value: nextcloud-aio-onlyoffice
|
||||
- name: TALK_HOST
|
||||
value: nextcloud-aio-talk
|
||||
- name: TZ
|
||||
value: "{{ .Values.TIMEZONE }}"
|
||||
image: nextcloud/aio-apache:20230330_075307-latest
|
||||
name: nextcloud-aio-apache
|
||||
ports:
|
||||
- containerPort: {{ .Values.APACHE_PORT }}
|
||||
volumeMounts:
|
||||
- mountPath: /var/www/html
|
||||
name: nextcloud-aio-nextcloud
|
||||
readOnly: true
|
||||
- mountPath: /mnt/data
|
||||
name: nextcloud-aio-apache
|
||||
volumes:
|
||||
- name: nextcloud-aio-nextcloud
|
||||
persistentVolumeClaim:
|
||||
claimName: nextcloud-aio-nextcloud
|
||||
- name: nextcloud-aio-apache
|
||||
persistentVolumeClaim:
|
||||
claimName: nextcloud-aio-apache
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
labels:
|
||||
io.kompose.service: nextcloud-aio-apache
|
||||
name: nextcloud-aio-apache
|
||||
spec:
|
||||
{{- if .Values.STORAGE_CLASS }}
|
||||
storageClassName: {{ .Values.STORAGE_CLASS }}
|
||||
{{- end }}
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: {{ .Values.APACHE_STORAGE_SIZE }}
|
||||
17
nextcloud-aio-helm-chart/templates/nextcloud-aio-apache-service.yaml
Executable file
17
nextcloud-aio-helm-chart/templates/nextcloud-aio-apache-service.yaml
Executable file
|
|
@ -0,0 +1,17 @@
|
|||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.cmd: kompose convert -c -f latest.yml
|
||||
kompose.version: 1.28.0 (c4137012e)
|
||||
labels:
|
||||
io.kompose.service: nextcloud-aio-apache
|
||||
name: nextcloud-aio-apache
|
||||
spec:
|
||||
type: LoadBalancer
|
||||
ports:
|
||||
- name: "{{ .Values.APACHE_PORT }}"
|
||||
port: {{ .Values.APACHE_PORT }}
|
||||
targetPort: {{ .Values.APACHE_PORT }}
|
||||
selector:
|
||||
io.kompose.service: nextcloud-aio-apache
|
||||
52
nextcloud-aio-helm-chart/templates/nextcloud-aio-clamav-deployment.yaml
Executable file
52
nextcloud-aio-helm-chart/templates/nextcloud-aio-clamav-deployment.yaml
Executable file
|
|
@ -0,0 +1,52 @@
|
|||
{{- if eq .Values.CLAMAV_ENABLED "yes" }}
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.cmd: kompose convert -c -f latest.yml
|
||||
kompose.version: 1.28.0 (c4137012e)
|
||||
labels:
|
||||
io.kompose.service: nextcloud-aio-clamav
|
||||
name: nextcloud-aio-clamav
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
io.kompose.service: nextcloud-aio-clamav
|
||||
template:
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.cmd: kompose convert -c -f latest.yml
|
||||
kompose.version: 1.28.0 (c4137012e)
|
||||
labels:
|
||||
io.kompose.network/nextcloud-aio: "true"
|
||||
io.kompose.service: nextcloud-aio-clamav
|
||||
spec:
|
||||
initContainers:
|
||||
- name: init-volumes
|
||||
image: alpine
|
||||
command:
|
||||
- chmod
|
||||
- "777"
|
||||
- /nextcloud-aio-clamav
|
||||
volumeMounts:
|
||||
- name: nextcloud-aio-clamav
|
||||
mountPath: /nextcloud-aio-clamav
|
||||
containers:
|
||||
- env:
|
||||
- name: CLAMD_STARTUP_TIMEOUT
|
||||
value: "90"
|
||||
- name: TZ
|
||||
value: "{{ .Values.TIMEZONE }}"
|
||||
image: nextcloud/aio-clamav:20230330_075307-latest
|
||||
name: nextcloud-aio-clamav
|
||||
ports:
|
||||
- containerPort: 3310
|
||||
volumeMounts:
|
||||
- mountPath: /var/lib/clamav
|
||||
name: nextcloud-aio-clamav
|
||||
volumes:
|
||||
- name: nextcloud-aio-clamav
|
||||
persistentVolumeClaim:
|
||||
claimName: nextcloud-aio-clamav
|
||||
{{- end }}
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
labels:
|
||||
io.kompose.service: nextcloud-aio-clamav
|
||||
name: nextcloud-aio-clamav
|
||||
spec:
|
||||
{{- if .Values.STORAGE_CLASS }}
|
||||
storageClassName: {{ .Values.STORAGE_CLASS }}
|
||||
{{- end }}
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: {{ .Values.CLAMAV_STORAGE_SIZE }}
|
||||
18
nextcloud-aio-helm-chart/templates/nextcloud-aio-clamav-service.yaml
Executable file
18
nextcloud-aio-helm-chart/templates/nextcloud-aio-clamav-service.yaml
Executable file
|
|
@ -0,0 +1,18 @@
|
|||
{{- if eq .Values.CLAMAV_ENABLED "yes" }}
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.cmd: kompose convert -c -f latest.yml
|
||||
kompose.version: 1.28.0 (c4137012e)
|
||||
labels:
|
||||
io.kompose.service: nextcloud-aio-clamav
|
||||
name: nextcloud-aio-clamav
|
||||
spec:
|
||||
ports:
|
||||
- name: "3310"
|
||||
port: 3310
|
||||
targetPort: 3310
|
||||
selector:
|
||||
io.kompose.service: nextcloud-aio-clamav
|
||||
{{- end }}
|
||||
58
nextcloud-aio-helm-chart/templates/nextcloud-aio-collabora-deployment.yaml
Executable file
58
nextcloud-aio-helm-chart/templates/nextcloud-aio-collabora-deployment.yaml
Executable file
|
|
@ -0,0 +1,58 @@
|
|||
{{- if eq .Values.COLLABORA_ENABLED "yes" }}
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.cmd: kompose convert -c -f latest.yml
|
||||
kompose.version: 1.28.0 (c4137012e)
|
||||
labels:
|
||||
io.kompose.service: nextcloud-aio-collabora
|
||||
name: nextcloud-aio-collabora
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
io.kompose.service: nextcloud-aio-collabora
|
||||
template:
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.cmd: kompose convert -c -f latest.yml
|
||||
kompose.version: 1.28.0 (c4137012e)
|
||||
labels:
|
||||
io.kompose.network/nextcloud-aio: "true"
|
||||
io.kompose.service: nextcloud-aio-collabora
|
||||
spec:
|
||||
initContainers:
|
||||
- name: init-volumes
|
||||
image: alpine
|
||||
command:
|
||||
- chmod
|
||||
- "777"
|
||||
- /nextcloud-aio-collabora-fonts
|
||||
volumeMounts:
|
||||
- name: nextcloud-aio-collabora-fonts
|
||||
mountPath: /nextcloud-aio-collabora-fonts
|
||||
containers:
|
||||
- env:
|
||||
- name: TZ
|
||||
value: "{{ .Values.TIMEZONE }}"
|
||||
- name: aliasgroup1
|
||||
value: https://{{ .Values.NC_DOMAIN }}:443
|
||||
- name: dictionaries
|
||||
value: "{{ .Values.COLLABORA_DICTIONARIES }}"
|
||||
- name: extra_params
|
||||
value: --o:ssl.enable=false --o:ssl.termination=true --o:mount_jail_tree=false --o:logging.level=warning --o:home_mode.enable=true {{ .Values.COLLABORA_SECCOMP_POLICY }} --o:remote_font_config.url=https://{{ .Values.NC_DOMAIN }}/apps/richdocuments/settings/fonts.json
|
||||
- name: server_name
|
||||
value: "{{ .Values.NC_DOMAIN }}"
|
||||
image: nextcloud/aio-collabora:20230330_075307-latest
|
||||
name: nextcloud-aio-collabora
|
||||
ports:
|
||||
- containerPort: 9980
|
||||
volumeMounts:
|
||||
- mountPath: /opt/cool/systemplate/tmpfonts
|
||||
name: nextcloud-aio-collabora-fonts
|
||||
volumes:
|
||||
- name: nextcloud-aio-collabora-fonts
|
||||
persistentVolumeClaim:
|
||||
claimName: nextcloud-aio-collabora-fonts
|
||||
{{- end }}
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
labels:
|
||||
io.kompose.service: nextcloud-aio-collabora-fonts
|
||||
name: nextcloud-aio-collabora-fonts
|
||||
spec:
|
||||
{{- if .Values.STORAGE_CLASS }}
|
||||
storageClassName: {{ .Values.STORAGE_CLASS }}
|
||||
{{- end }}
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: {{ .Values.COLLABORA_FONTS_STORAGE_SIZE }}
|
||||
18
nextcloud-aio-helm-chart/templates/nextcloud-aio-collabora-service.yaml
Executable file
18
nextcloud-aio-helm-chart/templates/nextcloud-aio-collabora-service.yaml
Executable file
|
|
@ -0,0 +1,18 @@
|
|||
{{- if eq .Values.COLLABORA_ENABLED "yes" }}
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.cmd: kompose convert -c -f latest.yml
|
||||
kompose.version: 1.28.0 (c4137012e)
|
||||
labels:
|
||||
io.kompose.service: nextcloud-aio-collabora
|
||||
name: nextcloud-aio-collabora
|
||||
spec:
|
||||
ports:
|
||||
- name: "9980"
|
||||
port: 9980
|
||||
targetPort: 9980
|
||||
selector:
|
||||
io.kompose.service: nextcloud-aio-collabora
|
||||
{{- end }}
|
||||
65
nextcloud-aio-helm-chart/templates/nextcloud-aio-database-deployment.yaml
Executable file
65
nextcloud-aio-helm-chart/templates/nextcloud-aio-database-deployment.yaml
Executable file
|
|
@ -0,0 +1,65 @@
|
|||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.cmd: kompose convert -c -f latest.yml
|
||||
kompose.version: 1.28.0 (c4137012e)
|
||||
labels:
|
||||
io.kompose.service: nextcloud-aio-database
|
||||
name: nextcloud-aio-database
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
io.kompose.service: nextcloud-aio-database
|
||||
template:
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.cmd: kompose convert -c -f latest.yml
|
||||
kompose.version: 1.28.0 (c4137012e)
|
||||
labels:
|
||||
io.kompose.network/nextcloud-aio: "true"
|
||||
io.kompose.service: nextcloud-aio-database
|
||||
spec:
|
||||
initContainers:
|
||||
- name: init-volumes
|
||||
image: alpine
|
||||
command:
|
||||
- chown
|
||||
- 999:999
|
||||
- /nextcloud-aio-database
|
||||
- /nextcloud-aio-database-dump
|
||||
volumeMounts:
|
||||
- name: nextcloud-aio-database-dump
|
||||
mountPath: /nextcloud-aio-database-dump
|
||||
- name: nextcloud-aio-database
|
||||
mountPath: /nextcloud-aio-database
|
||||
containers:
|
||||
- env:
|
||||
- name: PGTZ
|
||||
value: "{{ .Values.TIMEZONE }}"
|
||||
- name: POSTGRES_DB
|
||||
value: nextcloud_database
|
||||
- name: POSTGRES_PASSWORD
|
||||
value: "{{ .Values.DATABASE_PASSWORD }}"
|
||||
- name: POSTGRES_USER
|
||||
value: nextcloud
|
||||
- name: TZ
|
||||
value: "{{ .Values.TIMEZONE }}"
|
||||
image: nextcloud/aio-postgresql:20230330_075307-latest
|
||||
name: nextcloud-aio-database
|
||||
ports:
|
||||
- containerPort: 5432
|
||||
volumeMounts:
|
||||
- mountPath: /var/lib/postgresql/data
|
||||
name: nextcloud-aio-database
|
||||
- mountPath: /mnt/data
|
||||
name: nextcloud-aio-database-dump
|
||||
terminationGracePeriodSeconds: 1800
|
||||
volumes:
|
||||
- name: nextcloud-aio-database
|
||||
persistentVolumeClaim:
|
||||
claimName: nextcloud-aio-database
|
||||
- name: nextcloud-aio-database-dump
|
||||
persistentVolumeClaim:
|
||||
claimName: nextcloud-aio-database-dump
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
labels:
|
||||
io.kompose.service: nextcloud-aio-database-dump
|
||||
name: nextcloud-aio-database-dump
|
||||
spec:
|
||||
{{- if .Values.STORAGE_CLASS }}
|
||||
storageClassName: {{ .Values.STORAGE_CLASS }}
|
||||
{{- end }}
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: {{ .Values.DATABASE_DUMP_STORAGE_SIZE }}
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
labels:
|
||||
io.kompose.service: nextcloud-aio-database
|
||||
name: nextcloud-aio-database
|
||||
spec:
|
||||
{{- if .Values.STORAGE_CLASS }}
|
||||
storageClassName: {{ .Values.STORAGE_CLASS }}
|
||||
{{- end }}
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: {{ .Values.DATABASE_STORAGE_SIZE }}
|
||||
16
nextcloud-aio-helm-chart/templates/nextcloud-aio-database-service.yaml
Executable file
16
nextcloud-aio-helm-chart/templates/nextcloud-aio-database-service.yaml
Executable file
|
|
@ -0,0 +1,16 @@
|
|||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.cmd: kompose convert -c -f latest.yml
|
||||
kompose.version: 1.28.0 (c4137012e)
|
||||
labels:
|
||||
io.kompose.service: nextcloud-aio-database
|
||||
name: nextcloud-aio-database
|
||||
spec:
|
||||
ports:
|
||||
- name: "5432"
|
||||
port: 5432
|
||||
targetPort: 5432
|
||||
selector:
|
||||
io.kompose.service: nextcloud-aio-database
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
labels:
|
||||
io.kompose.service: nextcloud-aio-elasticsearch
|
||||
name: nextcloud-aio-elasticsearch
|
||||
spec:
|
||||
{{- if .Values.STORAGE_CLASS }}
|
||||
storageClassName: {{ .Values.STORAGE_CLASS }}
|
||||
{{- end }}
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: {{ .Values.ELASTICSEARCH_STORAGE_SIZE }}
|
||||
|
|
@ -0,0 +1,56 @@
|
|||
{{- if eq .Values.FULLTEXTSEARCH_ENABLED "yes" }}
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.cmd: kompose convert -c -f latest.yml
|
||||
kompose.version: 1.28.0 (c4137012e)
|
||||
labels:
|
||||
io.kompose.service: nextcloud-aio-fulltextsearch
|
||||
name: nextcloud-aio-fulltextsearch
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
io.kompose.service: nextcloud-aio-fulltextsearch
|
||||
template:
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.cmd: kompose convert -c -f latest.yml
|
||||
kompose.version: 1.28.0 (c4137012e)
|
||||
labels:
|
||||
io.kompose.network/nextcloud-aio: "true"
|
||||
io.kompose.service: nextcloud-aio-fulltextsearch
|
||||
spec:
|
||||
initContainers:
|
||||
- name: init-volumes
|
||||
image: alpine
|
||||
command:
|
||||
- chmod
|
||||
- "777"
|
||||
- /nextcloud-aio-elasticsearch
|
||||
volumeMounts:
|
||||
- name: nextcloud-aio-elasticsearch
|
||||
mountPath: /nextcloud-aio-elasticsearch
|
||||
containers:
|
||||
- env:
|
||||
- name: ES_JAVA_OPTS
|
||||
value: -Xms1024M -Xmx1024M
|
||||
- name: POSTGRES_HOST
|
||||
value: nextcloud-aio-database
|
||||
- name: TZ
|
||||
value: "{{ .Values.TIMEZONE }}"
|
||||
- name: discovery.type
|
||||
value: single-node
|
||||
image: nextcloud/aio-fulltextsearch:20230330_075307-latest
|
||||
name: nextcloud-aio-fulltextsearch
|
||||
ports:
|
||||
- containerPort: 9200
|
||||
volumeMounts:
|
||||
- mountPath: /usr/share/elasticsearch/data
|
||||
name: nextcloud-aio-elasticsearch
|
||||
volumes:
|
||||
- name: nextcloud-aio-elasticsearch
|
||||
persistentVolumeClaim:
|
||||
claimName: nextcloud-aio-elasticsearch
|
||||
{{- end }}
|
||||
18
nextcloud-aio-helm-chart/templates/nextcloud-aio-fulltextsearch-service.yaml
Executable file
18
nextcloud-aio-helm-chart/templates/nextcloud-aio-fulltextsearch-service.yaml
Executable file
|
|
@ -0,0 +1,18 @@
|
|||
{{- if eq .Values.FULLTEXTSEARCH_ENABLED "yes" }}
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.cmd: kompose convert -c -f latest.yml
|
||||
kompose.version: 1.28.0 (c4137012e)
|
||||
labels:
|
||||
io.kompose.service: nextcloud-aio-fulltextsearch
|
||||
name: nextcloud-aio-fulltextsearch
|
||||
spec:
|
||||
ports:
|
||||
- name: "9200"
|
||||
port: 9200
|
||||
targetPort: 9200
|
||||
selector:
|
||||
io.kompose.service: nextcloud-aio-fulltextsearch
|
||||
{{- end }}
|
||||
37
nextcloud-aio-helm-chart/templates/nextcloud-aio-imaginary-deployment.yaml
Executable file
37
nextcloud-aio-helm-chart/templates/nextcloud-aio-imaginary-deployment.yaml
Executable file
|
|
@ -0,0 +1,37 @@
|
|||
{{- if eq .Values.IMAGINARY_ENABLED "yes" }}
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.cmd: kompose convert -c -f latest.yml
|
||||
kompose.version: 1.28.0 (c4137012e)
|
||||
labels:
|
||||
io.kompose.service: nextcloud-aio-imaginary
|
||||
name: nextcloud-aio-imaginary
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
io.kompose.service: nextcloud-aio-imaginary
|
||||
template:
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.cmd: kompose convert -c -f latest.yml
|
||||
kompose.version: 1.28.0 (c4137012e)
|
||||
labels:
|
||||
io.kompose.network/nextcloud-aio: "true"
|
||||
io.kompose.service: nextcloud-aio-imaginary
|
||||
spec:
|
||||
containers:
|
||||
- env:
|
||||
- name: TZ
|
||||
value: "{{ .Values.TIMEZONE }}"
|
||||
image: nextcloud/aio-imaginary:20230330_075307-latest
|
||||
name: nextcloud-aio-imaginary
|
||||
ports:
|
||||
- containerPort: 9000
|
||||
securityContext:
|
||||
capabilities:
|
||||
add:
|
||||
- SYS_NICE
|
||||
{{- end }}
|
||||
18
nextcloud-aio-helm-chart/templates/nextcloud-aio-imaginary-service.yaml
Executable file
18
nextcloud-aio-helm-chart/templates/nextcloud-aio-imaginary-service.yaml
Executable file
|
|
@ -0,0 +1,18 @@
|
|||
{{- if eq .Values.IMAGINARY_ENABLED "yes" }}
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.cmd: kompose convert -c -f latest.yml
|
||||
kompose.version: 1.28.0 (c4137012e)
|
||||
labels:
|
||||
io.kompose.service: nextcloud-aio-imaginary
|
||||
name: nextcloud-aio-imaginary
|
||||
spec:
|
||||
ports:
|
||||
- name: "9000"
|
||||
port: 9000
|
||||
targetPort: 9000
|
||||
selector:
|
||||
io.kompose.service: nextcloud-aio-imaginary
|
||||
{{- end }}
|
||||
13
nextcloud-aio-helm-chart/templates/nextcloud-aio-networkpolicy.yaml
Executable file
13
nextcloud-aio-helm-chart/templates/nextcloud-aio-networkpolicy.yaml
Executable file
|
|
@ -0,0 +1,13 @@
|
|||
apiVersion: networking.k8s.io/v1
|
||||
kind: NetworkPolicy
|
||||
metadata:
|
||||
name: nextcloud-aio
|
||||
spec:
|
||||
ingress:
|
||||
- from:
|
||||
- podSelector:
|
||||
matchLabels:
|
||||
io.kompose.network/nextcloud-aio: "true"
|
||||
podSelector:
|
||||
matchLabels:
|
||||
io.kompose.network/nextcloud-aio: "true"
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
labels:
|
||||
io.kompose.service: nextcloud-aio-nextcloud-data
|
||||
name: nextcloud-aio-nextcloud-data
|
||||
spec:
|
||||
{{- if .Values.STORAGE_CLASS }}
|
||||
storageClassName: {{ .Values.STORAGE_CLASS }}
|
||||
{{- end }}
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: {{ .Values.NEXTCLOUD_DATA_STORAGE_SIZE }}
|
||||
139
nextcloud-aio-helm-chart/templates/nextcloud-aio-nextcloud-deployment.yaml
Executable file
139
nextcloud-aio-helm-chart/templates/nextcloud-aio-nextcloud-deployment.yaml
Executable file
|
|
@ -0,0 +1,139 @@
|
|||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.cmd: kompose convert -c -f latest.yml
|
||||
kompose.version: 1.28.0 (c4137012e)
|
||||
labels:
|
||||
io.kompose.service: nextcloud-aio-nextcloud
|
||||
name: nextcloud-aio-nextcloud
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
io.kompose.service: nextcloud-aio-nextcloud
|
||||
template:
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.cmd: kompose convert -c -f latest.yml
|
||||
kompose.version: 1.28.0 (c4137012e)
|
||||
labels:
|
||||
io.kompose.network/nextcloud-aio: "true"
|
||||
io.kompose.service: nextcloud-aio-nextcloud
|
||||
spec:
|
||||
initContainers:
|
||||
- name: init-volumes
|
||||
image: alpine
|
||||
command:
|
||||
- chmod
|
||||
- "777"
|
||||
- /nextcloud-aio-nextcloud
|
||||
- /nextcloud-aio-nextcloud-trusted-cacerts
|
||||
volumeMounts:
|
||||
- name: nextcloud-aio-nextcloud-trusted-cacerts
|
||||
mountPath: /nextcloud-aio-nextcloud-trusted-cacerts
|
||||
- name: nextcloud-aio-nextcloud
|
||||
mountPath: /nextcloud-aio-nextcloud
|
||||
containers:
|
||||
- env:
|
||||
- name: ADDITIONAL_APKS
|
||||
value: "{{ .Values.NEXTCLOUD_ADDITIONAL_APKS }}"
|
||||
- name: ADDITIONAL_PHP_EXTENSIONS
|
||||
value: "{{ .Values.NEXTCLOUD_ADDITIONAL_PHP_EXTENSIONS }}"
|
||||
- name: ADMIN_PASSWORD
|
||||
value: "{{ .Values.NEXTCLOUD_PASSWORD }}"
|
||||
- name: ADMIN_USER
|
||||
value: admin
|
||||
- name: AIO_TOKEN
|
||||
value: "{{ .Values.AIO_TOKEN }}"
|
||||
- name: AIO_URL
|
||||
value: "{{ .Values.AIO_URL }}"
|
||||
- name: CLAMAV_ENABLED
|
||||
value: "{{ .Values.CLAMAV_ENABLED }}"
|
||||
- name: CLAMAV_HOST
|
||||
value: nextcloud-aio-clamav
|
||||
- name: COLLABORA_ENABLED
|
||||
value: "{{ .Values.COLLABORA_ENABLED }}"
|
||||
- name: COLLABORA_HOST
|
||||
value: nextcloud-aio-collabora
|
||||
- name: FULLTEXTSEARCH_ENABLED
|
||||
value: "{{ .Values.FULLTEXTSEARCH_ENABLED }}"
|
||||
- name: FULLTEXTSEARCH_HOST
|
||||
value: nextcloud-aio-fulltextsearch
|
||||
- name: IMAGINARY_ENABLED
|
||||
value: "{{ .Values.IMAGINARY_ENABLED }}"
|
||||
- name: IMAGINARY_HOST
|
||||
value: nextcloud-aio-imaginary
|
||||
- name: NC_DOMAIN
|
||||
value: "{{ .Values.NC_DOMAIN }}"
|
||||
- name: NEXTCLOUD_DATA_DIR
|
||||
value: /mnt/ncdata
|
||||
- name: ONLYOFFICE_ENABLED
|
||||
value: "{{ .Values.ONLYOFFICE_ENABLED }}"
|
||||
- name: ONLYOFFICE_HOST
|
||||
value: nextcloud-aio-onlyoffice
|
||||
- name: ONLYOFFICE_SECRET
|
||||
value: "{{ .Values.ONLYOFFICE_SECRET }}"
|
||||
- name: OVERWRITEHOST
|
||||
value: "{{ .Values.NC_DOMAIN }}"
|
||||
- name: OVERWRITEPROTOCOL
|
||||
value: https
|
||||
- name: PHP_MAX_TIME
|
||||
value: "{{ .Values.NEXTCLOUD_MAX_TIME }}"
|
||||
- name: PHP_MEMORY_LIMIT
|
||||
value: "{{ .Values.NEXTCLOUD_MEMORY_LIMIT }}"
|
||||
- name: PHP_UPLOAD_LIMIT
|
||||
value: "{{ .Values.NEXTCLOUD_UPLOAD_LIMIT }}"
|
||||
- name: POSTGRES_DB
|
||||
value: nextcloud_database
|
||||
- name: POSTGRES_HOST
|
||||
value: nextcloud-aio-database
|
||||
- name: POSTGRES_PASSWORD
|
||||
value: "{{ .Values.DATABASE_PASSWORD }}"
|
||||
- name: POSTGRES_USER
|
||||
value: nextcloud
|
||||
- name: REDIS_HOST
|
||||
value: nextcloud-aio-redis
|
||||
- name: REDIS_HOST_PASSWORD
|
||||
value: "{{ .Values.REDIS_PASSWORD }}"
|
||||
- name: SIGNALING_SECRET
|
||||
value: "{{ .Values.SIGNALING_SECRET }}"
|
||||
- name: SKIP_DATA_DIRECTORY_PERMISSION_CHECK
|
||||
value: "{{ .Values.SKIP_DATA_DIRECTORY_PERMISSION_CHECK }}"
|
||||
- name: STARTUP_APPS
|
||||
value: "{{ .Values.NEXTCLOUD_STARTUP_APPS }}"
|
||||
- name: TALK_ENABLED
|
||||
value: "{{ .Values.TALK_ENABLED }}"
|
||||
- name: TALK_PORT
|
||||
value: "{{ .Values.TALK_PORT }}"
|
||||
- name: TRUSTED_CACERTS_DIR
|
||||
value: "{{ .Values.NEXTCLOUD_TRUSTED_CACERTS_DIR }}"
|
||||
- name: TURN_SECRET
|
||||
value: "{{ .Values.TURN_SECRET }}"
|
||||
- name: TZ
|
||||
value: "{{ .Values.TIMEZONE }}"
|
||||
- name: UPDATE_NEXTCLOUD_APPS
|
||||
value: "{{ .Values.UPDATE_NEXTCLOUD_APPS }}"
|
||||
image: nextcloud/aio-nextcloud:20230330_075307-latest
|
||||
name: nextcloud-aio-nextcloud
|
||||
ports:
|
||||
- containerPort: 9000
|
||||
- containerPort: 7867
|
||||
volumeMounts:
|
||||
- mountPath: /var/www/html
|
||||
name: nextcloud-aio-nextcloud
|
||||
- mountPath: /mnt/ncdata
|
||||
name: nextcloud-aio-nextcloud-data
|
||||
- mountPath: /usr/local/share/ca-certificates
|
||||
name: nextcloud-aio-nextcloud-trusted-cacerts
|
||||
readOnly: true
|
||||
volumes:
|
||||
- name: nextcloud-aio-nextcloud
|
||||
persistentVolumeClaim:
|
||||
claimName: nextcloud-aio-nextcloud
|
||||
- name: nextcloud-aio-nextcloud-data
|
||||
persistentVolumeClaim:
|
||||
claimName: nextcloud-aio-nextcloud-data
|
||||
- name: nextcloud-aio-nextcloud-trusted-cacerts
|
||||
persistentVolumeClaim:
|
||||
claimName: nextcloud-aio-nextcloud-trusted-cacerts
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
labels:
|
||||
io.kompose.service: nextcloud-aio-nextcloud
|
||||
name: nextcloud-aio-nextcloud
|
||||
spec:
|
||||
{{- if .Values.STORAGE_CLASS }}
|
||||
storageClassName: {{ .Values.STORAGE_CLASS }}
|
||||
{{- end }}
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: {{ .Values.NEXTCLOUD_STORAGE_SIZE }}
|
||||
19
nextcloud-aio-helm-chart/templates/nextcloud-aio-nextcloud-service.yaml
Executable file
19
nextcloud-aio-helm-chart/templates/nextcloud-aio-nextcloud-service.yaml
Executable file
|
|
@ -0,0 +1,19 @@
|
|||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.cmd: kompose convert -c -f latest.yml
|
||||
kompose.version: 1.28.0 (c4137012e)
|
||||
labels:
|
||||
io.kompose.service: nextcloud-aio-nextcloud
|
||||
name: nextcloud-aio-nextcloud
|
||||
spec:
|
||||
ports:
|
||||
- name: "9000"
|
||||
port: 9000
|
||||
targetPort: 9000
|
||||
- name: "7867"
|
||||
port: 7867
|
||||
targetPort: 7867
|
||||
selector:
|
||||
io.kompose.service: nextcloud-aio-nextcloud
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
labels:
|
||||
io.kompose.service: nextcloud-aio-nextcloud-trusted-cacerts
|
||||
name: nextcloud-aio-nextcloud-trusted-cacerts
|
||||
spec:
|
||||
{{- if .Values.STORAGE_CLASS }}
|
||||
storageClassName: {{ .Values.STORAGE_CLASS }}
|
||||
{{- end }}
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: {{ .Values.NEXTCLOUD_TRUSTED_CACERTS_STORAGE_SIZE }}
|
||||
56
nextcloud-aio-helm-chart/templates/nextcloud-aio-onlyoffice-deployment.yaml
Executable file
56
nextcloud-aio-helm-chart/templates/nextcloud-aio-onlyoffice-deployment.yaml
Executable file
|
|
@ -0,0 +1,56 @@
|
|||
{{- if eq .Values.ONLYOFFICE_ENABLED "yes" }}
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.cmd: kompose convert -c -f latest.yml
|
||||
kompose.version: 1.28.0 (c4137012e)
|
||||
labels:
|
||||
io.kompose.service: nextcloud-aio-onlyoffice
|
||||
name: nextcloud-aio-onlyoffice
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
io.kompose.service: nextcloud-aio-onlyoffice
|
||||
template:
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.cmd: kompose convert -c -f latest.yml
|
||||
kompose.version: 1.28.0 (c4137012e)
|
||||
labels:
|
||||
io.kompose.network/nextcloud-aio: "true"
|
||||
io.kompose.service: nextcloud-aio-onlyoffice
|
||||
spec:
|
||||
initContainers:
|
||||
- name: init-volumes
|
||||
image: alpine
|
||||
command:
|
||||
- chmod
|
||||
- "777"
|
||||
- /nextcloud-aio-onlyoffice
|
||||
volumeMounts:
|
||||
- name: nextcloud-aio-onlyoffice
|
||||
mountPath: /nextcloud-aio-onlyoffice
|
||||
containers:
|
||||
- env:
|
||||
- name: JWT_ENABLED
|
||||
value: "true"
|
||||
- name: JWT_HEADER
|
||||
value: AuthorizationJwt
|
||||
- name: JWT_SECRET
|
||||
value: "{{ .Values.ONLYOFFICE_SECRET }}"
|
||||
- name: TZ
|
||||
value: "{{ .Values.TIMEZONE }}"
|
||||
image: nextcloud/aio-onlyoffice:20230330_075307-latest
|
||||
name: nextcloud-aio-onlyoffice
|
||||
ports:
|
||||
- containerPort: 80
|
||||
volumeMounts:
|
||||
- mountPath: /var/lib/onlyoffice
|
||||
name: nextcloud-aio-onlyoffice
|
||||
volumes:
|
||||
- name: nextcloud-aio-onlyoffice
|
||||
persistentVolumeClaim:
|
||||
claimName: nextcloud-aio-onlyoffice
|
||||
{{- end }}
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
labels:
|
||||
io.kompose.service: nextcloud-aio-onlyoffice
|
||||
name: nextcloud-aio-onlyoffice
|
||||
spec:
|
||||
{{- if .Values.STORAGE_CLASS }}
|
||||
storageClassName: {{ .Values.STORAGE_CLASS }}
|
||||
{{- end }}
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: {{ .Values.ONLYOFFICE_STORAGE_SIZE }}
|
||||
18
nextcloud-aio-helm-chart/templates/nextcloud-aio-onlyoffice-service.yaml
Executable file
18
nextcloud-aio-helm-chart/templates/nextcloud-aio-onlyoffice-service.yaml
Executable file
|
|
@ -0,0 +1,18 @@
|
|||
{{- if eq .Values.ONLYOFFICE_ENABLED "yes" }}
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.cmd: kompose convert -c -f latest.yml
|
||||
kompose.version: 1.28.0 (c4137012e)
|
||||
labels:
|
||||
io.kompose.service: nextcloud-aio-onlyoffice
|
||||
name: nextcloud-aio-onlyoffice
|
||||
spec:
|
||||
ports:
|
||||
- name: "80"
|
||||
port: 80
|
||||
targetPort: 80
|
||||
selector:
|
||||
io.kompose.service: nextcloud-aio-onlyoffice
|
||||
{{- end }}
|
||||
50
nextcloud-aio-helm-chart/templates/nextcloud-aio-redis-deployment.yaml
Executable file
50
nextcloud-aio-helm-chart/templates/nextcloud-aio-redis-deployment.yaml
Executable file
|
|
@ -0,0 +1,50 @@
|
|||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.cmd: kompose convert -c -f latest.yml
|
||||
kompose.version: 1.28.0 (c4137012e)
|
||||
labels:
|
||||
io.kompose.service: nextcloud-aio-redis
|
||||
name: nextcloud-aio-redis
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
io.kompose.service: nextcloud-aio-redis
|
||||
template:
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.cmd: kompose convert -c -f latest.yml
|
||||
kompose.version: 1.28.0 (c4137012e)
|
||||
labels:
|
||||
io.kompose.network/nextcloud-aio: "true"
|
||||
io.kompose.service: nextcloud-aio-redis
|
||||
spec:
|
||||
initContainers:
|
||||
- name: init-volumes
|
||||
image: alpine
|
||||
command:
|
||||
- chmod
|
||||
- "777"
|
||||
- /nextcloud-aio-redis
|
||||
volumeMounts:
|
||||
- name: nextcloud-aio-redis
|
||||
mountPath: /nextcloud-aio-redis
|
||||
containers:
|
||||
- env:
|
||||
- name: REDIS_HOST_PASSWORD
|
||||
value: "{{ .Values.REDIS_PASSWORD }}"
|
||||
- name: TZ
|
||||
value: "{{ .Values.TIMEZONE }}"
|
||||
image: nextcloud/aio-redis:20230330_075307-latest
|
||||
name: nextcloud-aio-redis
|
||||
ports:
|
||||
- containerPort: 6379
|
||||
volumeMounts:
|
||||
- mountPath: /data
|
||||
name: nextcloud-aio-redis
|
||||
volumes:
|
||||
- name: nextcloud-aio-redis
|
||||
persistentVolumeClaim:
|
||||
claimName: nextcloud-aio-redis
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
labels:
|
||||
io.kompose.service: nextcloud-aio-redis
|
||||
name: nextcloud-aio-redis
|
||||
spec:
|
||||
{{- if .Values.STORAGE_CLASS }}
|
||||
storageClassName: {{ .Values.STORAGE_CLASS }}
|
||||
{{- end }}
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: {{ .Values.REDIS_STORAGE_SIZE }}
|
||||
16
nextcloud-aio-helm-chart/templates/nextcloud-aio-redis-service.yaml
Executable file
16
nextcloud-aio-helm-chart/templates/nextcloud-aio-redis-service.yaml
Executable file
|
|
@ -0,0 +1,16 @@
|
|||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.cmd: kompose convert -c -f latest.yml
|
||||
kompose.version: 1.28.0 (c4137012e)
|
||||
labels:
|
||||
io.kompose.service: nextcloud-aio-redis
|
||||
name: nextcloud-aio-redis
|
||||
spec:
|
||||
ports:
|
||||
- name: "6379"
|
||||
port: 6379
|
||||
targetPort: 6379
|
||||
selector:
|
||||
io.kompose.service: nextcloud-aio-redis
|
||||
44
nextcloud-aio-helm-chart/templates/nextcloud-aio-talk-deployment.yaml
Executable file
44
nextcloud-aio-helm-chart/templates/nextcloud-aio-talk-deployment.yaml
Executable file
|
|
@ -0,0 +1,44 @@
|
|||
{{- if eq .Values.TALK_ENABLED "yes" }}
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.cmd: kompose convert -c -f latest.yml
|
||||
kompose.version: 1.28.0 (c4137012e)
|
||||
labels:
|
||||
io.kompose.service: nextcloud-aio-talk
|
||||
name: nextcloud-aio-talk
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
io.kompose.service: nextcloud-aio-talk
|
||||
template:
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.cmd: kompose convert -c -f latest.yml
|
||||
kompose.version: 1.28.0 (c4137012e)
|
||||
labels:
|
||||
io.kompose.network/nextcloud-aio: "true"
|
||||
io.kompose.service: nextcloud-aio-talk
|
||||
spec:
|
||||
containers:
|
||||
- env:
|
||||
- name: NC_DOMAIN
|
||||
value: "{{ .Values.NC_DOMAIN }}"
|
||||
- name: SIGNALING_SECRET
|
||||
value: "{{ .Values.SIGNALING_SECRET }}"
|
||||
- name: TALK_PORT
|
||||
value: "{{ .Values.TALK_PORT }}"
|
||||
- name: TURN_SECRET
|
||||
value: "{{ .Values.TURN_SECRET }}"
|
||||
- name: TZ
|
||||
value: "{{ .Values.TIMEZONE }}"
|
||||
image: nextcloud/aio-talk:20230330_075307-latest
|
||||
name: nextcloud-aio-talk
|
||||
ports:
|
||||
- containerPort: {{ .Values.TALK_PORT }}
|
||||
- containerPort: {{ .Values.TALK_PORT }}
|
||||
protocol: UDP
|
||||
- containerPort: 8081
|
||||
{{- end }}
|
||||
41
nextcloud-aio-helm-chart/templates/nextcloud-aio-talk-service.yaml
Executable file
41
nextcloud-aio-helm-chart/templates/nextcloud-aio-talk-service.yaml
Executable file
|
|
@ -0,0 +1,41 @@
|
|||
{{- if eq .Values.TALK_ENABLED "yes" }}
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.cmd: kompose convert -c -f latest.yml
|
||||
kompose.version: 1.28.0 (c4137012e)
|
||||
labels:
|
||||
io.kompose.service: nextcloud-aio-talk
|
||||
name: nextcloud-aio-talk-public
|
||||
spec:
|
||||
type: LoadBalancer
|
||||
ports:
|
||||
- name: "{{ .Values.TALK_PORT }}"
|
||||
port: {{ .Values.TALK_PORT }}
|
||||
targetPort: {{ .Values.TALK_PORT }}
|
||||
- name: {{ .Values.TALK_PORT }}-udp
|
||||
port: {{ .Values.TALK_PORT }}
|
||||
protocol: UDP
|
||||
targetPort: {{ .Values.TALK_PORT }}
|
||||
selector:
|
||||
io.kompose.service: nextcloud-aio-talk
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.cmd: kompose convert -c -f latest.yml
|
||||
kompose.version: 1.28.0 (c4137012e)
|
||||
labels:
|
||||
io.kompose.service: nextcloud-aio-talk
|
||||
name: nextcloud-aio-talk
|
||||
spec:
|
||||
ports:
|
||||
- name: "8081"
|
||||
port: 8081
|
||||
targetPort: 8081
|
||||
selector:
|
||||
io.kompose.service: nextcloud-aio-talk
|
||||
{{- end }}
|
||||
210
nextcloud-aio-helm-chart/update-helm.sh
Executable file
210
nextcloud-aio-helm-chart/update-helm.sh
Executable file
|
|
@ -0,0 +1,210 @@
|
|||
#!/bin/bash
|
||||
|
||||
DOCKER_TAG="$1"
|
||||
|
||||
# The logic needs the files in ./helm-chart
|
||||
mv ./nextcloud-aio-helm-chart ./helm-chart
|
||||
|
||||
# Clean
|
||||
rm -f ./helm-chart/values.yaml
|
||||
rm -rf ./helm-chart/templates
|
||||
|
||||
# Install kompose
|
||||
LATEST_KOMPOSE="$(git ls-remote --tags https://github.com/kubernetes/kompose.git | cut -d/ -f3 | grep -viE -- 'rc|b' | sort -V | tail -1)"
|
||||
curl -L https://github.com/kubernetes/kompose/releases/download/"$LATEST_KOMPOSE"/kompose-linux-amd64 -o kompose
|
||||
chmod +x kompose
|
||||
sudo mv ./kompose /usr/local/bin/kompose
|
||||
|
||||
set -ex
|
||||
|
||||
# Conversion of docker-compose
|
||||
cd manual-install
|
||||
cp latest.yml latest.yml.backup
|
||||
cp sample.conf /tmp/
|
||||
sed -i 's|^|export |' /tmp/sample.conf
|
||||
# shellcheck disable=SC1091
|
||||
source /tmp/sample.conf
|
||||
rm /tmp/sample.conf
|
||||
sed -i "s|:latest$|:$DOCKER_TAG-latest|" latest.yml
|
||||
sed -i "s|\${APACHE_IP_BINDING}:||" latest.yml
|
||||
sed -i "s|\${APACHE_PORT}:\${APACHE_PORT}/|$APACHE_PORT:$APACHE_PORT/|" latest.yml
|
||||
sed -i "s|\${TALK_PORT}:\${TALK_PORT}/|$TALK_PORT:$TALK_PORT/|g" latest.yml
|
||||
sed -i "s|- \${APACHE_PORT}|- $APACHE_PORT|" latest.yml
|
||||
sed -i "s|- \${TALK_PORT}|- $TALK_PORT|" latest.yml
|
||||
sed -i "s|\${NEXTCLOUD_DATADIR}|$NEXTCLOUD_DATADIR|" latest.yml
|
||||
sed -i "/NEXTCLOUD_DATADIR/d" latest.yml
|
||||
sed -i "/\${NEXTCLOUD_MOUNT}/d" latest.yml
|
||||
sed -i "/^volumes:/a\ \ nextcloud_aio_nextcloud_trusted_cacerts:\n \ \ \ \ name: nextcloud_aio_nextcloud_trusted_cacerts" latest.yml
|
||||
sed -i "s|\${NEXTCLOUD_TRUSTED_CACERTS_DIR}:|nextcloud_aio_nextcloud_trusted_cacerts:|g#" latest.yml
|
||||
sed -i 's|\${|{{ .Values.|g' latest.yml
|
||||
sed -i 's|}| }}|g' latest.yml
|
||||
cat latest.yml
|
||||
kompose convert -c -f latest.yml
|
||||
cd latest
|
||||
|
||||
mv ./templates/manual-install-nextcloud-aio-networkpolicy.yaml ./templates/nextcloud-aio-networkpolicy.yaml
|
||||
# shellcheck disable=SC1083
|
||||
find ./ -name '*networkpolicy.yaml' -exec sed -i "s|manual-install-nextcloud-aio|nextcloud-aio|" \{} \;
|
||||
cat << EOL > /tmp/initcontainers
|
||||
initContainers:
|
||||
- name: init-volumes
|
||||
image: alpine
|
||||
command:
|
||||
- chmod
|
||||
- "777"
|
||||
volumeMountsInitContainer:
|
||||
EOL
|
||||
cat << EOL > /tmp/initcontainers.database
|
||||
initContainers:
|
||||
- name: init-volumes
|
||||
image: alpine
|
||||
command:
|
||||
- chown
|
||||
- 999:999
|
||||
volumeMountsInitContainer:
|
||||
EOL
|
||||
# shellcheck disable=SC1083
|
||||
DEPLOYMENTS="$(find ./ -name '*deployment.yaml')"
|
||||
mapfile -t DEPLOYMENTS <<< "$DEPLOYMENTS"
|
||||
for variable in "${DEPLOYMENTS[@]}"; do
|
||||
if grep -q volumeMounts "$variable"; then
|
||||
if ! echo "$variable" | grep -q database; then
|
||||
sed -i "/^ spec:/r /tmp/initcontainers" "$variable"
|
||||
else
|
||||
sed -i "/^ spec:/r /tmp/initcontainers.database" "$variable"
|
||||
fi
|
||||
volumeNames="$(grep -A1 mountPath "$variable" | grep -v mountPath | sed 's|.*name: ||' | sed '/^--$/d')"
|
||||
mapfile -t volumeNames <<< "$volumeNames"
|
||||
for volumeName in "${volumeNames[@]}"; do
|
||||
# The Nextcloud container runs as root user and sets the correct permissions automatically for the data-dir if the www-data user cannot write to it
|
||||
if [ "$volumeName" != "nextcloud-aio-nextcloud-data" ]; then
|
||||
sed -i "/^.*volumeMountsInitContainer:/i\ \ \ \ \ \ \ \ \ \ \ \ - /$volumeName" "$variable"
|
||||
sed -i "/volumeMountsInitContainer:/a\ \ \ \ \ \ \ \ \ \ \ \ - name: $volumeName\n\ \ \ \ \ \ \ \ \ \ \ \ \ \ mountPath: /$volumeName" "$variable"
|
||||
fi
|
||||
done
|
||||
sed -i "s|volumeMountsInitContainer|volumeMounts|" "$variable"
|
||||
if grep -q claimName "$variable"; then
|
||||
claimNames="$(grep claimName "$variable")"
|
||||
mapfile -t claimNames <<< "$claimNames"
|
||||
for claimName in "${claimNames[@]}"; do
|
||||
if grep -A1 "^$claimName$" "$variable" | grep -q "readOnly: true"; then
|
||||
sed -i "/^$claimName$/{n;d}" "$variable"
|
||||
fi
|
||||
done
|
||||
fi
|
||||
fi
|
||||
done
|
||||
# shellcheck disable=SC1083
|
||||
find ./ -name '*service.yaml' -exec sed -i "/^status:/,$ d" \{} \;
|
||||
# shellcheck disable=SC1083
|
||||
find ./ -name '*deployment.yaml' -exec sed -i "s|manual-install-nextcloud-aio|nextcloud-aio|" \{} \;
|
||||
# shellcheck disable=SC1083
|
||||
find ./ -name '*persistentvolumeclaim.yaml' -exec sed -i "s|ReadOnlyMany|ReadWriteOnce|" \{} \;
|
||||
# shellcheck disable=SC1083
|
||||
find ./ -name '*persistentvolumeclaim.yaml' -exec sed -i "/accessModes:/i\ \ {{- if .Values.STORAGE_CLASS }}" \{} \;
|
||||
# shellcheck disable=SC1083
|
||||
find ./ -name '*persistentvolumeclaim.yaml' -exec sed -i "/accessModes:/i\ \ storageClassName: {{ .Values.STORAGE_CLASS }}" \{} \;
|
||||
# shellcheck disable=SC1083
|
||||
find ./ -name '*persistentvolumeclaim.yaml' -exec sed -i "/accessModes:/i\ \ {{- end }}" \{} \;
|
||||
# shellcheck disable=SC1083
|
||||
find ./ -name '*deployment.yaml' -exec sed -i "/restartPolicy:/d" \{} \;
|
||||
# shellcheck disable=SC1083
|
||||
find ./ -name '*apache*' -exec sed -i "s|$APACHE_PORT|{{ .Values.APACHE_PORT }}|" \{} \;
|
||||
# shellcheck disable=SC1083
|
||||
find ./ -name '*talk*' -exec sed -i "s|$TALK_PORT|{{ .Values.TALK_PORT }}|" \{} \;
|
||||
# shellcheck disable=SC1083
|
||||
find ./ -name '*apache-service.yaml' -exec sed -i "/^spec:/a\ \ type: LoadBalancer" \{} \;
|
||||
# shellcheck disable=SC1083
|
||||
find ./ -name '*talk-service.yaml' -exec sed -i "/^spec:/a\ \ type: LoadBalancer" \{} \;
|
||||
echo '---' > /tmp/talk-service.copy
|
||||
# shellcheck disable=SC1083
|
||||
find ./ -name '*talk-service.yaml' -exec cat \{} \; >> /tmp/talk-service.copy
|
||||
sed -i 's|name: nextcloud-aio-talk|name: nextcloud-aio-talk-public|' /tmp/talk-service.copy
|
||||
# shellcheck disable=SC1083
|
||||
INTERNAL_TALK_PORTS="$(find ./ -name '*talk-deployment.yaml' -exec grep -oP 'containerPort: [0-9]+' \{} \;)"
|
||||
mapfile -t INTERNAL_TALK_PORTS <<< "$INTERNAL_TALK_PORTS"
|
||||
for port in "${INTERNAL_TALK_PORTS[@]}"; do
|
||||
port="$(echo "$port" | grep -oP '[0-9]+')"
|
||||
sed -i "/$port/d" /tmp/talk-service.copy
|
||||
done
|
||||
echo '---' >> /tmp/talk-service.copy
|
||||
# shellcheck disable=SC1083
|
||||
find ./ -name '*talk-service.yaml' -exec grep -v '{{ .Values.*}}\|protocol: UDP\|type: LoadBalancer' \{} \; >> /tmp/talk-service.copy
|
||||
# shellcheck disable=SC1083
|
||||
find ./ -name '*talk-service.yaml' -exec mv /tmp/talk-service.copy \{} \;
|
||||
# shellcheck disable=SC1083
|
||||
find ./ -name '*.yaml' -exec sed -i "s|'{{|\"{{|g;s|}}'|}}\"|g" \{} \;
|
||||
# shellcheck disable=SC1083
|
||||
find ./ -name '*.yaml' -exec sed -i "/type: Recreate/d" \{} \;
|
||||
# shellcheck disable=SC1083
|
||||
find ./ -name '*.yaml' -exec sed -i "/strategy:/d" \{} \;
|
||||
# shellcheck disable=SC1083
|
||||
find ./ \( -not -name '*service.yaml' -name '*.yaml' \) -exec sed -i "/^status:/d" \{} \;
|
||||
# shellcheck disable=SC1083
|
||||
find ./ \( -not -name '*persistentvolumeclaim.yaml' -name '*.yaml' \) -exec sed -i "/resources:/d" \{} \;
|
||||
# shellcheck disable=SC1083
|
||||
find ./ -name '*.yaml' -exec sed -i "/creationTimestamp: null/d" \{} \;
|
||||
VOLUMES="$(find ./ -name '*persistentvolumeclaim.yaml' | sed 's|-persistentvolumeclaim.yaml||g;s|.*nextcloud-aio-||g' | sort)"
|
||||
mapfile -t VOLUMES <<< "$VOLUMES"
|
||||
for variable in "${VOLUMES[@]}"; do
|
||||
name="$(echo "$variable" | sed 's|-|_|g' | tr '[:lower:]' '[:upper:]')_STORAGE_SIZE"
|
||||
VOLUME_VARIABLE+=("$name")
|
||||
# shellcheck disable=SC1083
|
||||
find ./ -name "*nextcloud-aio-$variable-persistentvolumeclaim.yaml" -exec sed -i "s|storage: 100Mi|storage: {{ .Values.$name }}|" \{} \;
|
||||
done
|
||||
|
||||
cd ../
|
||||
mkdir -p ../helm-chart/
|
||||
rm latest/Chart.yaml
|
||||
rm latest/README.md
|
||||
mv latest/* ../helm-chart/
|
||||
rm -r latest
|
||||
rm latest.yml
|
||||
mv latest.yml.backup latest.yml
|
||||
|
||||
# Get version of AIO
|
||||
AIO_VERSION="$(grep 'Nextcloud AIO ' ../php/templates/containers.twig | grep -oP '[0-9]+.[0-9]+.[0-9]+')"
|
||||
sed -i "s|^version:.*|version: $AIO_VERSION|" ../helm-chart/Chart.yaml
|
||||
|
||||
# Conversion of sample.conf
|
||||
cp sample.conf /tmp/
|
||||
sed -i 's|"||g' /tmp/sample.conf
|
||||
sed -i 's|=|: |' /tmp/sample.conf
|
||||
sed -i 's|= |: |' /tmp/sample.conf
|
||||
sed -i '/^NEXTCLOUD_DATADIR/d' /tmp/sample.conf
|
||||
sed -i '/^APACHE_IP_BINDING/d' /tmp/sample.conf
|
||||
sed -i '/^NEXTCLOUD_MOUNT/d' /tmp/sample.conf
|
||||
sed -i '/_ENABLED.*/s/ yes / "yes" /' /tmp/sample.conf
|
||||
sed -i '/_ENABLED.*/s/ no / "no" /' /tmp/sample.conf
|
||||
sed -i 's|^NEXTCLOUD_TRUSTED_CACERTS_DIR: .*|NEXTCLOUD_TRUSTED_CACERTS_DIR: # Setting this to any value allows to automatically import root certificates into the Nextcloud container|' /tmp/sample.conf
|
||||
# shellcheck disable=SC2129
|
||||
echo 'STORAGE_CLASS: # By setting this, you can adjust the storage class for your volumes' >> /tmp/sample.conf
|
||||
for variable in "${VOLUME_VARIABLE[@]}"; do
|
||||
echo "$variable: 1Gi # You can change the size of the $(echo "$variable" | sed 's|_STORAGE_SIZE||;s|_|-|g' | tr '[:upper:]' '[:lower:]') volume that default to 1Gi with this value" >> /tmp/sample.conf
|
||||
done
|
||||
mv /tmp/sample.conf ../helm-chart/values.yaml
|
||||
|
||||
ENABLED_VARIABLES="$(grep -oP '^[A-Z]+_ENABLED' ../helm-chart/values.yaml)"
|
||||
mapfile -t ENABLED_VARIABLES <<< "$ENABLED_VARIABLES"
|
||||
|
||||
cd ../helm-chart/
|
||||
for variable in "${ENABLED_VARIABLES[@]}"; do
|
||||
name="$(echo "$variable" | sed 's|_ENABLED||g' | tr '[:upper:]' '[:lower:]')"
|
||||
# shellcheck disable=SC1083
|
||||
find ./ -name "*nextcloud-aio-$name-deployment.yaml" -exec sed -i "1i\\{{- if eq .Values.$variable \"yes\" }}" \{} \;
|
||||
# shellcheck disable=SC1083
|
||||
find ./ -name "*nextcloud-aio-$name-deployment.yaml" -exec sed -i "$ a {{- end }}" \{} \;
|
||||
# shellcheck disable=SC1083
|
||||
find ./ -name "*nextcloud-aio-$name-service.yaml" -exec sed -i "1i\\{{- if eq .Values.$variable \"yes\" }}" \{} \;
|
||||
# shellcheck disable=SC1083
|
||||
find ./ -name "*nextcloud-aio-$name-service.yaml" -exec sed -i "$ a {{- end }}" \{} \;
|
||||
done
|
||||
|
||||
chmod 777 -R ./
|
||||
|
||||
# Seems like the dir needs to match the name of the chart
|
||||
cd ../
|
||||
rm -rf ./nextcloud-aio-helm-chart
|
||||
mv ./helm-chart ./nextcloud-aio-helm-chart
|
||||
|
||||
set +ex
|
||||
42
nextcloud-aio-helm-chart/values.yaml
Executable file
42
nextcloud-aio-helm-chart/values.yaml
Executable file
|
|
@ -0,0 +1,42 @@
|
|||
AIO_TOKEN: 123456 # Has no function but needs to be set!
|
||||
AIO_URL: localhost # Has no function but needs to be set!
|
||||
APACHE_MAX_SIZE: 10737418240 # This needs to be an integer and in sync with NEXTCLOUD_UPLOAD_LIMIT
|
||||
APACHE_PORT: 443 # Changing this to a different value than 443 will allow you to run it behind a web server or reverse proxy (like Apache, Nginx and else).
|
||||
CLAMAV_ENABLED: "no" # Setting this to "yes" (with quotes) enables the option in Nextcloud automatically.
|
||||
COLLABORA_DICTIONARIES: de_DE en_GB en_US es_ES fr_FR it nl pt_BR pt_PT ru # You can change this in order to enable other dictionaries for collabora
|
||||
COLLABORA_ENABLED: "no" # Setting this to "yes" (with quotes) enables the option in Nextcloud automatically.
|
||||
COLLABORA_SECCOMP_POLICY: --o:security.seccomp=true # Changing the value to false allows to disable the seccomp feature of the Collabora container.
|
||||
DATABASE_PASSWORD: # TODO! This needs to be a unique and good password!
|
||||
FULLTEXTSEARCH_ENABLED: "no" # Setting this to "yes" (with quotes) enables the option in Nextcloud automatically.
|
||||
IMAGINARY_ENABLED: "no" # Setting this to "yes" (with quotes) enables the option in Nextcloud automatically.
|
||||
NC_DOMAIN: yourdomain.com # TODO! Needs to be changed to the domain that you want to use for Nextcloud.
|
||||
NEXTCLOUD_ADDITIONAL_APKS: imagemagick # This allows to add additional packages to the Nextcloud container permanently. Default is imagemagick but can be overwritten by modifying this value.
|
||||
NEXTCLOUD_ADDITIONAL_PHP_EXTENSIONS: imagick # This allows to add additional php extensions to the Nextcloud container permanently. Default is imagick but can be overwritten by modifying this value.
|
||||
NEXTCLOUD_MAX_TIME: 3600 # This allows to change the upload time limit of the Nextcloud container
|
||||
NEXTCLOUD_MEMORY_LIMIT: 512M # This allows to change the PHP memory limit of the Nextcloud container
|
||||
NEXTCLOUD_PASSWORD: # TODO! This is the password of the initially created Nextcloud admin with username admin.
|
||||
NEXTCLOUD_STARTUP_APPS: deck twofactor_totp tasks calendar contacts # Allows to modify the Nextcloud apps that are installed on starting AIO the first time
|
||||
NEXTCLOUD_TRUSTED_CACERTS_DIR: # Setting this to any value allows to automatically import root certificates into the Nextcloud container
|
||||
NEXTCLOUD_UPLOAD_LIMIT: 10G # This allows to change the upload limit of the Nextcloud container
|
||||
ONLYOFFICE_ENABLED: "no" # Setting this to "yes" (with quotes) enables the option in Nextcloud automatically.
|
||||
ONLYOFFICE_SECRET: # TODO! This needs to be a unique and good password!
|
||||
REDIS_PASSWORD: # TODO! This needs to be a unique and good password!
|
||||
SIGNALING_SECRET: # TODO! This needs to be a unique and good password!
|
||||
SKIP_DATA_DIRECTORY_PERMISSION_CHECK: no # When setting to yes (with quotes), it will skip the datadir permission check upon the initial Nextcloud installation.
|
||||
TALK_ENABLED: "no" # Setting this to "yes" (with quotes) enables the option in Nextcloud automatically.
|
||||
TALK_PORT: 3478 # This allows to adjust the port that the talk container is using.
|
||||
TIMEZONE: Europe/Berlin # TODO! This is the timezone that your containers will use.
|
||||
TURN_SECRET: # TODO! This needs to be a unique and good password!
|
||||
UPDATE_NEXTCLOUD_APPS: no # When setting to yes (with quotes), it will automatically update all installed Nextcloud apps upon container startup on saturdays.
|
||||
STORAGE_CLASS: # By setting this, you can adjust the storage class for your volumes
|
||||
APACHE_STORAGE_SIZE: 1Gi # You can change the size of the apache volume that default to 1Gi with this value
|
||||
CLAMAV_STORAGE_SIZE: 1Gi # You can change the size of the clamav volume that default to 1Gi with this value
|
||||
COLLABORA_FONTS_STORAGE_SIZE: 1Gi # You can change the size of the collabora-fonts volume that default to 1Gi with this value
|
||||
DATABASE_STORAGE_SIZE: 1Gi # You can change the size of the database volume that default to 1Gi with this value
|
||||
DATABASE_DUMP_STORAGE_SIZE: 1Gi # You can change the size of the database-dump volume that default to 1Gi with this value
|
||||
ELASTICSEARCH_STORAGE_SIZE: 1Gi # You can change the size of the elasticsearch volume that default to 1Gi with this value
|
||||
NEXTCLOUD_STORAGE_SIZE: 1Gi # You can change the size of the nextcloud volume that default to 1Gi with this value
|
||||
NEXTCLOUD_DATA_STORAGE_SIZE: 1Gi # You can change the size of the nextcloud-data volume that default to 1Gi with this value
|
||||
NEXTCLOUD_TRUSTED_CACERTS_STORAGE_SIZE: 1Gi # You can change the size of the nextcloud-trusted-cacerts volume that default to 1Gi with this value
|
||||
ONLYOFFICE_STORAGE_SIZE: 1Gi # You can change the size of the onlyoffice volume that default to 1Gi with this value
|
||||
REDIS_STORAGE_SIZE: 1Gi # You can change the size of the redis volume that default to 1Gi with this value
|
||||
Loading…
Add table
Add a link
Reference in a new issue