mirror of
https://github.com/nextcloud/all-in-one.git
synced 2025-03-03 17:27:22 +08:00
commit
0588a3391c
30 changed files with 930 additions and 4 deletions
13
.github/workflows/update-helm.yml
vendored
13
.github/workflows/update-helm.yml
vendored
|
@ -2,8 +2,8 @@ name: Update Helm Chart
|
|||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
# schedule:
|
||||
# - cron: '00 12 * * *'
|
||||
schedule:
|
||||
- cron: '00 12 * * *'
|
||||
|
||||
jobs:
|
||||
psalm:
|
||||
|
@ -14,7 +14,12 @@ jobs:
|
|||
uses: actions/checkout@v3
|
||||
- name: update helm chart
|
||||
run: |
|
||||
sudo bash helm-chart/update-helm.sh
|
||||
DOCKER_TAG="$(curl -L -s 'https://registry.hub.docker.com/v2/repositories/nextcloud/all-in-one/tags?page_size=1024' | jq '."results"[]["name"]' | sed 's|"||g' | grep '^20' | sort -r | head -1)"
|
||||
DOCKER_TAG="${DOCKER_TAG%%latest*}"
|
||||
export DOCKER_TAG
|
||||
if [ -n "$DOCKER_TAG" ] && ! grep -q "$DOCKER_TAG" ./helm-chart/templates/nextcloud-aio-nextcloud-deployment.yaml; then
|
||||
sudo bash helm-chart/update-helm.sh "$DOCKER_TAG"
|
||||
fi
|
||||
- name: Create Pull Request
|
||||
uses: peter-evans/create-pull-request@v4
|
||||
with:
|
||||
|
@ -25,4 +30,4 @@ jobs:
|
|||
labels: dependencies
|
||||
milestone: next
|
||||
branch: aio-helm-update
|
||||
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
|
8
helm-chart/Chart.yaml
Executable file
8
helm-chart/Chart.yaml
Executable file
|
@ -0,0 +1,8 @@
|
|||
name: Nextcloud AIO Helm Chart
|
||||
description: A generated Helm Chart for Nextcloud AIO from Skippbox Kompose
|
||||
version: 4.1.0
|
||||
apiVersion: v1
|
||||
keywords:
|
||||
- latest
|
||||
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
helm-chart/readme.md
Executable file
3
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.
|
61
helm-chart/templates/nextcloud-aio-apache-deployment.yaml
Executable file
61
helm-chart/templates/nextcloud-aio-apache-deployment.yaml
Executable file
|
@ -0,0 +1,61 @@
|
|||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.cmd: kompose convert -c -f latest.yml
|
||||
kompose.version: 1.27.0 (b0ed6a2c9)
|
||||
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.27.0 (b0ed6a2c9)
|
||||
labels:
|
||||
io.kompose.network/nextcloud-aio: "true"
|
||||
io.kompose.service: nextcloud-aio-apache
|
||||
spec:
|
||||
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:20221229_091124-{{ .Values.IMAGE_TAG }}
|
||||
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
|
||||
readOnly: true
|
||||
- name: nextcloud-aio-apache
|
||||
persistentVolumeClaim:
|
||||
claimName: nextcloud-aio-apache
|
15
helm-chart/templates/nextcloud-aio-apache-persistentvolumeclaim.yaml
Executable file
15
helm-chart/templates/nextcloud-aio-apache-persistentvolumeclaim.yaml
Executable file
|
@ -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:
|
||||
- ReadWriteMany
|
||||
resources:
|
||||
requests:
|
||||
storage: {{ .Values.MAX_STORAGE_SIZE }}
|
18
helm-chart/templates/nextcloud-aio-apache-service.yaml
Executable file
18
helm-chart/templates/nextcloud-aio-apache-service.yaml
Executable file
|
@ -0,0 +1,18 @@
|
|||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.cmd: kompose convert -c -f latest.yml
|
||||
kompose.version: 1.27.0 (b0ed6a2c9)
|
||||
labels:
|
||||
io.kompose.service: nextcloud-aio-apache
|
||||
name: nextcloud-aio-apache
|
||||
spec:
|
||||
ports:
|
||||
- name: "{{ .Values.APACHE_PORT }}"
|
||||
port: {{ .Values.APACHE_PORT }}
|
||||
targetPort: {{ .Values.APACHE_PORT }}
|
||||
selector:
|
||||
io.kompose.service: nextcloud-aio-apache
|
||||
status:
|
||||
loadBalancer: {}
|
40
helm-chart/templates/nextcloud-aio-clamav-deployment.yaml
Executable file
40
helm-chart/templates/nextcloud-aio-clamav-deployment.yaml
Executable file
|
@ -0,0 +1,40 @@
|
|||
{{- if eq .Values.CLAMAV_ENABLED "yes" }}
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.cmd: kompose convert -c -f latest.yml
|
||||
kompose.version: 1.27.0 (b0ed6a2c9)
|
||||
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.27.0 (b0ed6a2c9)
|
||||
labels:
|
||||
io.kompose.network/nextcloud-aio: "true"
|
||||
io.kompose.service: nextcloud-aio-clamav
|
||||
spec:
|
||||
containers:
|
||||
- env:
|
||||
- name: CLAMD_STARTUP_TIMEOUT
|
||||
value: "90"
|
||||
- name: TZ
|
||||
value: "{{ .Values.TIMEZONE }}"
|
||||
image: nextcloud/aio-clamav:20221229_091124-{{ .Values.IMAGE_TAG }}
|
||||
name: nextcloud-aio-clamav
|
||||
volumeMounts:
|
||||
- mountPath: /var/lib/clamav
|
||||
name: nextcloud-aio-clamav
|
||||
volumes:
|
||||
- name: nextcloud-aio-clamav
|
||||
persistentVolumeClaim:
|
||||
claimName: nextcloud-aio-clamav
|
||||
{{- end }}
|
15
helm-chart/templates/nextcloud-aio-clamav-persistentvolumeclaim.yaml
Executable file
15
helm-chart/templates/nextcloud-aio-clamav-persistentvolumeclaim.yaml
Executable file
|
@ -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:
|
||||
- ReadWriteMany
|
||||
resources:
|
||||
requests:
|
||||
storage: {{ .Values.MAX_STORAGE_SIZE }}
|
44
helm-chart/templates/nextcloud-aio-collabora-deployment.yaml
Executable file
44
helm-chart/templates/nextcloud-aio-collabora-deployment.yaml
Executable file
|
@ -0,0 +1,44 @@
|
|||
{{- if eq .Values.COLLABORA_ENABLED "yes" }}
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.cmd: kompose convert -c -f latest.yml
|
||||
kompose.version: 1.27.0 (b0ed6a2c9)
|
||||
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.27.0 (b0ed6a2c9)
|
||||
labels:
|
||||
io.kompose.network/nextcloud-aio: "true"
|
||||
io.kompose.service: nextcloud-aio-collabora
|
||||
spec:
|
||||
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: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
|
||||
image: nextcloud/aio-collabora:20221229_091124-{{ .Values.IMAGE_TAG }}
|
||||
name: nextcloud-aio-collabora
|
||||
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:
|
||||
- ReadWriteMany
|
||||
resources:
|
||||
requests:
|
||||
storage: {{ .Values.MAX_STORAGE_SIZE }}
|
50
helm-chart/templates/nextcloud-aio-database-deployment.yaml
Executable file
50
helm-chart/templates/nextcloud-aio-database-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.27.0 (b0ed6a2c9)
|
||||
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.27.0 (b0ed6a2c9)
|
||||
labels:
|
||||
io.kompose.network/nextcloud-aio: "true"
|
||||
io.kompose.service: nextcloud-aio-database
|
||||
spec:
|
||||
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:20221229_091124-{{ .Values.IMAGE_TAG }}
|
||||
name: nextcloud-aio-database
|
||||
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
|
15
helm-chart/templates/nextcloud-aio-database-dump-persistentvolumeclaim.yaml
Executable file
15
helm-chart/templates/nextcloud-aio-database-dump-persistentvolumeclaim.yaml
Executable file
|
@ -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:
|
||||
- ReadWriteMany
|
||||
resources:
|
||||
requests:
|
||||
storage: {{ .Values.MAX_STORAGE_SIZE }}
|
15
helm-chart/templates/nextcloud-aio-database-persistentvolumeclaim.yaml
Executable file
15
helm-chart/templates/nextcloud-aio-database-persistentvolumeclaim.yaml
Executable file
|
@ -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:
|
||||
- ReadWriteMany
|
||||
resources:
|
||||
requests:
|
||||
storage: {{ .Values.MAX_STORAGE_SIZE }}
|
15
helm-chart/templates/nextcloud-aio-elasticsearch-persistentvolumeclaim.yaml
Executable file
15
helm-chart/templates/nextcloud-aio-elasticsearch-persistentvolumeclaim.yaml
Executable file
|
@ -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:
|
||||
- ReadWriteMany
|
||||
resources:
|
||||
requests:
|
||||
storage: {{ .Values.MAX_STORAGE_SIZE }}
|
42
helm-chart/templates/nextcloud-aio-fulltextsearch-deployment.yaml
Executable file
42
helm-chart/templates/nextcloud-aio-fulltextsearch-deployment.yaml
Executable file
|
@ -0,0 +1,42 @@
|
|||
{{- if eq .Values.FULLTEXTSEARCH_ENABLED "yes" }}
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.cmd: kompose convert -c -f latest.yml
|
||||
kompose.version: 1.27.0 (b0ed6a2c9)
|
||||
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.27.0 (b0ed6a2c9)
|
||||
labels:
|
||||
io.kompose.network/nextcloud-aio: "true"
|
||||
io.kompose.service: nextcloud-aio-fulltextsearch
|
||||
spec:
|
||||
containers:
|
||||
- env:
|
||||
- name: ES_JAVA_OPTS
|
||||
value: -Xms1024M -Xmx1024M
|
||||
- name: TZ
|
||||
value: "{{ .Values.TIMEZONE }}"
|
||||
- name: discovery.type
|
||||
value: single-node
|
||||
image: nextcloud/aio-fulltextsearch:20221229_091124-{{ .Values.IMAGE_TAG }}
|
||||
name: nextcloud-aio-fulltextsearch
|
||||
volumeMounts:
|
||||
- mountPath: /usr/share/elasticsearch/data
|
||||
name: nextcloud-aio-elasticsearch
|
||||
volumes:
|
||||
- name: nextcloud-aio-elasticsearch
|
||||
persistentVolumeClaim:
|
||||
claimName: nextcloud-aio-elasticsearch
|
||||
{{- end }}
|
31
helm-chart/templates/nextcloud-aio-imaginary-deployment.yaml
Executable file
31
helm-chart/templates/nextcloud-aio-imaginary-deployment.yaml
Executable file
|
@ -0,0 +1,31 @@
|
|||
{{- if eq .Values.IMAGINARY_ENABLED "yes" }}
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.cmd: kompose convert -c -f latest.yml
|
||||
kompose.version: 1.27.0 (b0ed6a2c9)
|
||||
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.27.0 (b0ed6a2c9)
|
||||
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:20221229_091124-{{ .Values.IMAGE_TAG }}
|
||||
name: nextcloud-aio-imaginary
|
||||
{{- end }}
|
13
helm-chart/templates/nextcloud-aio-networkpolicy.yaml
Executable file
13
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"
|
15
helm-chart/templates/nextcloud-aio-nextcloud-data-persistentvolumeclaim.yaml
Executable file
15
helm-chart/templates/nextcloud-aio-nextcloud-data-persistentvolumeclaim.yaml
Executable file
|
@ -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:
|
||||
- ReadWriteMany
|
||||
resources:
|
||||
requests:
|
||||
storage: {{ .Values.MAX_STORAGE_SIZE }}
|
129
helm-chart/templates/nextcloud-aio-nextcloud-deployment.yaml
Executable file
129
helm-chart/templates/nextcloud-aio-nextcloud-deployment.yaml
Executable file
|
@ -0,0 +1,129 @@
|
|||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.cmd: kompose convert -c -f latest.yml
|
||||
kompose.version: 1.27.0 (b0ed6a2c9)
|
||||
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.27.0 (b0ed6a2c9)
|
||||
labels:
|
||||
io.kompose.network/nextcloud-aio: "true"
|
||||
io.kompose.service: nextcloud-aio-nextcloud
|
||||
spec:
|
||||
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: NEXTCLOUD_MOUNT
|
||||
value: "{{ .Values.NEXTCLOUD_MOUNT }}"
|
||||
- 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: 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:20221229_091124-{{ .Values.IMAGE_TAG }}
|
||||
name: nextcloud-aio-nextcloud
|
||||
volumeMounts:
|
||||
- mountPath: /var/www/html
|
||||
name: nextcloud-aio-nextcloud
|
||||
- mountPath: /mnt/ncdata
|
||||
name: nextcloud-aio-nextcloud-data
|
||||
- mountPath: /mnt/
|
||||
name: nextcloud-aio-nextcloud-mount
|
||||
- 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-mount
|
||||
persistentVolumeClaim:
|
||||
claimName: nextcloud-aio-nextcloud-mount
|
||||
- name: nextcloud-aio-nextcloud-trusted-cacerts
|
||||
persistentVolumeClaim:
|
||||
claimName: nextcloud-aio-nextcloud-trusted-cacerts
|
||||
readOnly: true
|
|
@ -0,0 +1,15 @@
|
|||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
labels:
|
||||
io.kompose.service: nextcloud-aio-nextcloud-mount
|
||||
name: nextcloud-aio-nextcloud-mount
|
||||
spec:
|
||||
{{- if .Values.STORAGE_CLASS }}
|
||||
storageClassName: {{ .Values.STORAGE_CLASS }}
|
||||
{{- end }}
|
||||
accessModes:
|
||||
- ReadWriteMany
|
||||
resources:
|
||||
requests:
|
||||
storage: {{ .Values.MAX_STORAGE_SIZE }}
|
15
helm-chart/templates/nextcloud-aio-nextcloud-persistentvolumeclaim.yaml
Executable file
15
helm-chart/templates/nextcloud-aio-nextcloud-persistentvolumeclaim.yaml
Executable file
|
@ -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:
|
||||
- ReadWriteMany
|
||||
resources:
|
||||
requests:
|
||||
storage: {{ .Values.MAX_STORAGE_SIZE }}
|
|
@ -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:
|
||||
- ReadWriteMany
|
||||
resources:
|
||||
requests:
|
||||
storage: {{ .Values.MAX_STORAGE_SIZE }}
|
44
helm-chart/templates/nextcloud-aio-onlyoffice-deployment.yaml
Executable file
44
helm-chart/templates/nextcloud-aio-onlyoffice-deployment.yaml
Executable file
|
@ -0,0 +1,44 @@
|
|||
{{- if eq .Values.ONLYOFFICE_ENABLED "yes" }}
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.cmd: kompose convert -c -f latest.yml
|
||||
kompose.version: 1.27.0 (b0ed6a2c9)
|
||||
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.27.0 (b0ed6a2c9)
|
||||
labels:
|
||||
io.kompose.network/nextcloud-aio: "true"
|
||||
io.kompose.service: nextcloud-aio-onlyoffice
|
||||
spec:
|
||||
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:20221229_091124-{{ .Values.IMAGE_TAG }}
|
||||
name: nextcloud-aio-onlyoffice
|
||||
volumeMounts:
|
||||
- mountPath: /var/lib/onlyoffice
|
||||
name: nextcloud-aio-onlyoffice
|
||||
volumes:
|
||||
- name: nextcloud-aio-onlyoffice
|
||||
persistentVolumeClaim:
|
||||
claimName: nextcloud-aio-onlyoffice
|
||||
{{- end }}
|
15
helm-chart/templates/nextcloud-aio-onlyoffice-persistentvolumeclaim.yaml
Executable file
15
helm-chart/templates/nextcloud-aio-onlyoffice-persistentvolumeclaim.yaml
Executable file
|
@ -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:
|
||||
- ReadWriteMany
|
||||
resources:
|
||||
requests:
|
||||
storage: {{ .Values.MAX_STORAGE_SIZE }}
|
38
helm-chart/templates/nextcloud-aio-redis-deployment.yaml
Executable file
38
helm-chart/templates/nextcloud-aio-redis-deployment.yaml
Executable file
|
@ -0,0 +1,38 @@
|
|||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.cmd: kompose convert -c -f latest.yml
|
||||
kompose.version: 1.27.0 (b0ed6a2c9)
|
||||
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.27.0 (b0ed6a2c9)
|
||||
labels:
|
||||
io.kompose.network/nextcloud-aio: "true"
|
||||
io.kompose.service: nextcloud-aio-redis
|
||||
spec:
|
||||
containers:
|
||||
- env:
|
||||
- name: REDIS_HOST_PASSWORD
|
||||
value: "{{ .Values.REDIS_PASSWORD }}"
|
||||
- name: TZ
|
||||
value: "{{ .Values.TIMEZONE }}"
|
||||
image: nextcloud/aio-redis:20221229_091124-{{ .Values.IMAGE_TAG }}
|
||||
name: nextcloud-aio-redis
|
||||
volumeMounts:
|
||||
- mountPath: /data
|
||||
name: nextcloud-aio-redis
|
||||
volumes:
|
||||
- name: nextcloud-aio-redis
|
||||
persistentVolumeClaim:
|
||||
claimName: nextcloud-aio-redis
|
15
helm-chart/templates/nextcloud-aio-redis-persistentvolumeclaim.yaml
Executable file
15
helm-chart/templates/nextcloud-aio-redis-persistentvolumeclaim.yaml
Executable file
|
@ -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:
|
||||
- ReadWriteMany
|
||||
resources:
|
||||
requests:
|
||||
storage: {{ .Values.MAX_STORAGE_SIZE }}
|
45
helm-chart/templates/nextcloud-aio-talk-deployment.yaml
Executable file
45
helm-chart/templates/nextcloud-aio-talk-deployment.yaml
Executable file
|
@ -0,0 +1,45 @@
|
|||
{{- if eq .Values.TALK_ENABLED "yes" }}
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.cmd: kompose convert -c -f latest.yml
|
||||
kompose.version: 1.27.0 (b0ed6a2c9)
|
||||
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.27.0 (b0ed6a2c9)
|
||||
labels:
|
||||
io.kompose.network/nextcloud-aio: "true"
|
||||
io.kompose.service: nextcloud-aio-talk
|
||||
spec:
|
||||
containers:
|
||||
- env:
|
||||
- name: JANUS_API_KEY
|
||||
value: "{{ .Values.JANUS_API_KEY }}"
|
||||
- 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:20221229_091124-{{ .Values.IMAGE_TAG }}
|
||||
name: nextcloud-aio-talk
|
||||
ports:
|
||||
- containerPort: {{ .Values.TALK_PORT }}
|
||||
- containerPort: {{ .Values.TALK_PORT }}
|
||||
protocol: UDP
|
||||
{{- end }}
|
24
helm-chart/templates/nextcloud-aio-talk-service.yaml
Executable file
24
helm-chart/templates/nextcloud-aio-talk-service.yaml
Executable file
|
@ -0,0 +1,24 @@
|
|||
{{- if eq .Values.TALK_ENABLED "yes" }}
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
annotations:
|
||||
kompose.cmd: kompose convert -c -f latest.yml
|
||||
kompose.version: 1.27.0 (b0ed6a2c9)
|
||||
labels:
|
||||
io.kompose.service: nextcloud-aio-talk
|
||||
name: nextcloud-aio-talk
|
||||
spec:
|
||||
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
|
||||
status:
|
||||
loadBalancer: {}
|
||||
{{- end }}
|
117
helm-chart/update-helm.sh
Executable file
117
helm-chart/update-helm.sh
Executable file
|
@ -0,0 +1,117 @@
|
|||
#!/bin/bash
|
||||
|
||||
DOCKER_TAG="$1"
|
||||
|
||||
# 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|\${IMAGE_TAG}|$DOCKER_TAG\${IMAGE_TAG}|" latest.yml
|
||||
sed -i "s|\${APACHE_IP_BINDING}|$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|\${NEXTCLOUD_DATADIR}|$NEXTCLOUD_DATADIR|" latest.yml
|
||||
sed -i "/NEXTCLOUD_DATADIR/d" latest.yml
|
||||
sed -i "s|\${NEXTCLOUD_MOUNT}:\${NEXTCLOUD_MOUNT}:|nextcloud_aio_nextcloud_mount:$NEXTCLOUD_MOUNT:|" 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
|
||||
sed -i '/profiles: /d' latest.yml
|
||||
cat latest.yml
|
||||
kompose convert -c -f latest.yml
|
||||
cd latest
|
||||
|
||||
# shellcheck disable=SC1083
|
||||
find ./ -name '*persistentvolumeclaim.yaml' -exec sed -i "s|storage: 100Mi|storage: {{ .Values.MAX_STORAGE_SIZE }}|" \{} \;
|
||||
# shellcheck disable=SC1083
|
||||
find ./ -name '*persistentvolumeclaim.yaml' -exec sed -i "s|ReadOnlyMany|ReadWriteMany|" \{} \;
|
||||
# shellcheck disable=SC1083
|
||||
find ./ -name '*persistentvolumeclaim.yaml' -exec sed -i "s|ReadWriteOnce|ReadWriteMany|" \{} \;
|
||||
# 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_IP_BINDING|{{ .Values.APACHE_IP_BINDING }}|" \{} \;
|
||||
# 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 '*.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" \{} \;
|
||||
|
||||
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 "/^APACHE_IP_BINDING/d" /tmp/sample.conf
|
||||
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 's|^NEXTCLOUD_MOUNT: .*|NEXTCLOUD_MOUNT: # Setting this to any value allows to enable external storages in Nextcloud|' /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
|
||||
echo 'MAX_STORAGE_SIZE: 10Gi # You can adjust the max storage that each volume can use with this value' >> /tmp/sample.conf
|
||||
echo 'STORAGE_CLASS: # By setting this, you can adjust the storage class for your volumes' >> /tmp/sample.conf
|
||||
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 ./
|
||||
|
||||
set +ex
|
34
helm-chart/values.yaml
Executable file
34
helm-chart/values.yaml
Executable file
|
@ -0,0 +1,34 @@
|
|||
IMAGE_TAG: latest # Version of docker images, should be latest or latest-arm64. Note: latest-arm64 has no clamav support
|
||||
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 reverse proxy.
|
||||
CLAMAV_ENABLED: no # Setting this to yes enables the option in Nextcloud automatically. Note: latest-arm64 has no clamav support
|
||||
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: yes # Setting this to yes 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 enables the option in Nextcloud automatically.
|
||||
IMAGINARY_ENABLED: no # Setting this to yes enables the option in Nextcloud automatically.
|
||||
JANUS_API_KEY: # TODO! This needs to be a unique and good password!
|
||||
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_MOUNT: # Setting this to any value allows to enable external storages in Nextcloud
|
||||
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 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!
|
||||
TALK_ENABLED: yes # Setting this to yes 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, it will automatically update all installed Nextcloud apps upon container startup on saturdays.
|
||||
MAX_STORAGE_SIZE: 10Gi # You can adjust the max storage that each volume can use with this value
|
||||
STORAGE_CLASS: # By setting this, you can adjust the storage class for your volumes
|
Loading…
Reference in a new issue