Skip to content

Nextcloud

Nextcloud is the self-hosted file sync and collaboration platform — providing file storage, sharing, calendar, contacts, and office document editing.

FieldValue
Flux pathflux-clusters/stefanzhelev/apps/nextcloud
Base pathflux-apps/nextcloud
Namespacenextcloud
Sync wave7
Depends oncloudnative-pg, external-secrets-config
  • HelmRelease for the Nextcloud chart >= 5.0.0
  • ExternalSecrets for admin credentials and database connection details
  • Terraform CR (via Tofu Controller) that provisions those secrets in Vault
  • Terraform CR for DNS record (A record via Cloudflare)
  • Built-in Redis for file locking and caching
SettingValue
Domaincloud.stefanzhelev.com
Databaseexternal PostgreSQL via CloudNative-PG
DB hostpostgresql-rw.cnpg.svc.cluster.local:5432
Cachebuilt-in Redis
Storage50Gi persistent volume
Resources200m CPU / 512Mi memory request, 1Gi memory limit
  • Vault + Tofu Controller: admin and DB credentials live in Vault and are synced into the namespace
  • CloudNative-PG: Nextcloud’s metadata database
  • Authentik: OIDC sign-in (planned)
  • Traefik: ingress for HTTPS access
Terminal window
kubectl get pods -n nextcloud
kubectl logs -n nextcloud -l app.kubernetes.io/name=nextcloud
kubectl port-forward -n nextcloud svc/nextcloud 8080:8080
# Run Nextcloud OCC commands inside the pod
kubectl exec -n nextcloud -it deploy/nextcloud -- su -s /bin/bash www-data -c "php occ status"
kubectl exec -n nextcloud -it deploy/nextcloud -- su -s /bin/bash www-data -c "php occ maintenance:mode --on"