Skip to content

Mint System Nextcloud

This Helm chart deploys Nextcloud with PostgreSQL.

Secrets

Setup a nextcloud-creds secret with any additional environment variables you want to pass to Nextcloud.

bash
NEXTCLOUD_ADMIN_USER="admin"
NEXTCLOUD_ADMIN_PASSWORD="*******"
kubectl create secret generic nextcloud-creds \
    --from-literal=NEXTCLOUD_ADMIN_USER="$NEXTCLOUD_ADMIN_USER" \
    --from-literal=NEXTCLOUD_ADMIN_PASSWORD="$NEXTCLOUD_ADMIN_PASSWORD" \
    -n <namespace>

The K8up backup requires a s3-credentials and a backup-repo secret. Here is an example for Exoscale SOS:

bash
EXOSCALE_IAM_KEY="*******"
EXOSCALE_IAM_SECRET="*******"
kubectl create secret generic s3-credentials \
    --from-literal=username="$EXOSCALE_IAM_KEY" \
    --from-literal=password="$EXOSCALE_IAM_SECRET" \
    -n <namespace>

Parameters

Ingress parameters

NameDescriptionValue
ingress.enabledEnable or disable the ingresstrue
ingress.classNameThe class name for the ingressnginx
ingress.clusterIssuerRefThe cluster issuer reference for the ingress""
ingress.hostThe host for the ingress""
ingress.customDomainThe custom domain for the ingress""

CloudNativePG parameters

NameDescriptionValue
cnpg.enabledEnable or disable CloudNativePGtrue
cnpg.nameOverrideOverride the name of the CloudNativePG cluster""
cnpg.instancesNumber of instances (1 for single, 2+ for high availability)1
cnpg.imageNamePostgreSQL image to useghcr.io/cloudnative-pg/postgresql:16.0
cnpg.storage.sizePersistent volume size for each instance8Gi
cnpg.databaseName of the CloudNativePG database to createnextcloud
cnpg.ownerName of the database userapp

Nextcloud parameters

NameDescriptionValue
imageThe image for Nextcloud""
imagePullPolicyPull policy for Nextcloud imageAlways
storageSizeSet the storage size40Gi
storageClassNameSet the storage class""

K8up parameters

NameDescriptionValue
k8up.enabledEnable or disable K8upfalse
k8up.endpointS3 endpoint""
k8up.bucketS3 bucket name""

Troubleshooting

The config.php is not updated

Problem

The config.php of Nextcloud is not updated with new env values.

Solution

Delete the config.php file and the pods.

bash
kubectl exec <pod> -- rm /var/www/html/config/config.php
kubectl delete pod <pod>