Files
Kubernetes-Build/nextcloud
Janik von Rotz 3a0b03e5bc feat(nextcloud): update collabora dependency to use official repository
- Change collabora chart name to `collabora-online`
- Update repository URL to official Collabora Online Helm chart repository
- Set version constraint to `>=0.1.0` for compatibility
- Enable conditional installation via `collabora.enabled` flag
- Add icon to Nextcloud chart metadata
- Update chart digests and timestamps across multiple charts
- Lock dependencies for Nextcloud chart including collabora-online version 1.1.52
2025-11-11 17:20:56 +01:00
..

Mint System Nextcloud

This Helm chart deploys Nextcloud with PostgreSQL.

Security Headers

For enhanced security, it's recommended that you configure the following security headers:

  • Strict-Transport-Security: max-age=15552000; includeSubDomains; preload (HSTS)

Please note that if your ingress-nginx controller has snippet directives disabled (which is common in secure environments), you will need to configure these headers at the ingress controller level or through your cluster's ingress configuration.

Secrets

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

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:

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>
BACKUP_REPO_PASSWORD="*******"
kubectl create secret generic backup-repo \
    --from-literal=password="$BACKUP_REPO_PASSWORD" \
    -n <namespace>

Parameters

Ingress parameters

Name Description Value
ingress.enabled Enable or disable the ingress true
ingress.className The class name for the ingress nginx
ingress.clusterIssuerRef The cluster issuer reference for the ingress ""
ingress.host The host for the ingress ""
ingress.customDomain The custom domain for the ingress ""

CloudNativePG parameters

Name Description Value
cnpg.enabled Enable or disable CloudNativePG true
cnpg.nameOverride Override the name of the CloudNativePG cluster ""
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

Nextcloud parameters

Name Description Value
image The image for Nextcloud ""
imagePullPolicy Pull policy for Nextcloud image Always
storageClassName Set the storage class ""

K8up parameters

Name Description Value
k8up.enabled Enable or disable K8up false
k8up.endpoint S3 endpoint ""
k8up.bucket S3 bucket name ""