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
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
kubectl create secret generic s3-credentials \
    --from-literal=username="$exoscale_iam_key" \
    --from-literal=password="$exoscale_iam_secret" \
    -n $namespace

Parameters

Nextcloud parameters

NameDescriptionValue
nextcloud.enabledEnable or disable Nextcloudtrue
nextcloud.hostThe host for Nextcloud and Ingress""
nextcloud.externalDatabase.enabledEnable or disable external database usagetrue
nextcloud.externalDatabase.typeType of external database (e.g., postgresql, mysql)postgresql
nextcloud.externalDatabase.hostHostname or service name of the external databasenextcloud-postgresql-rw
nextcloud.externalDatabase.databaseName of the database to usenextcloud
nextcloud.externalDatabase.existingSecret.enabledEnable or disable using an existing secret for database credentialstrue
nextcloud.externalDatabase.existingSecret.nameName of the existing Kubernetes secretnextcloud-postgresql-app
nextcloud.externalDatabase.existingSecret.passwordKeyKey in the secret containing the database passwordpassword

CloudNativePG parameters

NameDescriptionValue
cnpg.enabledEnable or disable CloudNativePGtrue
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

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>