Nextcloud is the self-hosted file sync and collaboration platform — providing file storage, sharing, calendar, contacts, and office document editing.
| Field | Value |
|---|
| Flux path | flux-clusters/stefanzhelev/apps/nextcloud |
| Base path | flux-apps/nextcloud |
| Namespace | nextcloud |
| Sync wave | 7 |
| Depends on | cloudnative-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
| Setting | Value |
|---|
| Domain | cloud.stefanzhelev.com |
| Database | external PostgreSQL via CloudNative-PG |
| DB host | postgresql-rw.cnpg.svc.cluster.local:5432 |
| Cache | built-in Redis |
| Storage | 50Gi persistent volume |
| Resources | 200m 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
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"