Mint System Nextcloud¶
This Helm chart deploys Nextcloud with PostgreSQL.
This chart is a wrapper for the official Nextcloud chart: https://github.com/nextcloud/helm/blob/main/charts/nextcloud/README.md#configuration
Secrets¶
Setup a nextcloud-creds secret with any additional environment variables you want to pass to Nextcloud.
kubectl create secret generic nextcloud-creds \
--from-literal=nextcloud-username="$nextcloud_admin_user" \
--from-literal=nextcloud-password="$nextcloud_admin_password" \
--from-literal=smtp-host="$smtp_host" \
--from-literal=smtp-username="$smtp_username" \
--from-literal=smtp-password="$smtp_password" \
-n $namespace
The K8up backup requires a s3-credentials and a backup-repo secret. Here is an example for Exoscale SOS:
kubectl create secret generic s3-credentials \
--from-literal=username="$exoscale_iam_key" \
--from-literal=password="$exoscale_iam_secret" \
-n $namespace
Parameters¶
Ingress parameters¶
| Name | Description | Value |
|---|---|---|
ingress.enabled |
Enable or disable the ingress | true |
ingress.className |
The class name for the ingress | "" |
ingress.clusterIssuerRef |
The cluster issuer reference for the ingress | nil |
ingress.host |
The host for the ingress | "" |
Nextcloud parameters¶
| Name | Description | Value |
|---|---|---|
nextcloud.enabled |
Enable or disable Nextcloud | true |
nextcloud.ingress.enabled |
Enable or disable the Nextcloud subchart ingress | false |
nextcloud.nextcloud.host |
The host for Nextcloud and Ingress | "" |
nextcloud.nextcloud.existingSecret.enabled |
Use an existing secret for credentials | true |
nextcloud.nextcloud.existingSecret.enabled |
Enable or disable using an existing secret | true |
nextcloud.nextcloud.existingSecret.secretName |
Name of the existing Kubernetes secret | nextcloud-creds |
nextcloud.nextcloud.mail.enabled |
Whether to enable/disable email settings | true |
nextcloud.persistence.enabled |
Enable persistence using PVC | true |
nextcloud.phpClientHttpsFix.enabled |
Fix HTTPS protocol detection behind reverse proxy | true |
nextcloud.internalDatabase.enabled |
Enable or disable the internal SQLite database | false |
nextcloud.redis.enabled |
Enable or disable the bitnami Redis subchart | false |
nextcloud.redis.auth.enabled |
Enable or disable Redis authentication | false |
nextcloud.externalRedis.enabled |
Enable or disable external Redis | true |
nextcloud.externalRedis.host |
Hostname or service name of the external Redis | nextcloud-redis |
nextcloud.externalDatabase.enabled |
Enable or disable external database usage | true |
nextcloud.externalDatabase.type |
Type of external database (e.g., postgresql, mysql) | postgresql |
nextcloud.externalDatabase.host |
Hostname or service name of the external database | nextcloud-postgresql-rw |
nextcloud.externalDatabase.database |
Name of the database to use | nextcloud |
nextcloud.externalDatabase.existingSecret.enabled |
Enable or disable using an existing secret for database credentials | true |
nextcloud.externalDatabase.existingSecret.secretName |
Name of the existing Kubernetes secret | nextcloud-postgresql-app |
nextcloud.externalDatabase.existingSecret.usernameKey |
Key in the secret containing the database username | username |
nextcloud.externalDatabase.existingSecret.passwordKey |
Key in the secret containing the database password | password |
nextcloud.resources.requests.memory |
Memory request for the container | 256Mi |
nextcloud.resources.requests.cpu |
CPU request for the container | 250m |
nextcloud.resources.limits.memory |
Memory limit for the container | 512Mi |
Redis parameters¶
| Name | Description | Value |
|---|---|---|
redis.enabled |
Enable or disable Redis | true |
redis.image |
The image for Redis | redis:alpine |
CloudNativePG parameters¶
| Name | Description | Value |
|---|---|---|
cnpg.enabled |
Enable or disable CloudNativePG | true |
cnpg.instances |
Number of instances (1 for single, 2+ for high availability) | 1 |
cnpg.imageName |
PostgreSQL image to use | ghcr.io/cloudnative-pg/postgresql:16.0 |
cnpg.storage.size |
Persistent volume size for each instance | 8Gi |
cnpg.database |
Name of the CloudNativePG database to create | nextcloud |
cnpg.owner |
Name of the database user | app |
K8up parameters¶
| Name | Description | Value |
|---|---|---|
k8up.enabled |
Enable or disable K8up | false |
k8up.endpoint |
S3 endpoint | "" |
k8up.bucket |
S3 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.