A NextCloud Kubernetes deployment with Apache, MariaDB, Cron, and Redis. For more context around the code, see my article on Medium
- A functional k8s cluster (I used Rancher to set up mine)
- A kubernetes storage manager (I user OpenEBS installed via Rancher catalog)
- Kubectl
- Kustomize
- An HTTPS enabled proxy in front of the k8s cluster (e.g: nginx with Let's Encrypt)
-
Update mariadb/secret.yaml with MYSQL_PASSWORD and MYSQL_ROOT_PASSWORD (can be set to anything, must be base64 encoded)
-
Update nextcloud/ingress.yaml with your kubernetes domain name
-
Adjust storage size in nextcloud/pvc.yaml to fit your needs
-
(Optional) To preview generated configuration before deploying:
kustomize build -o final-deployment.yaml
-
Run the following command to build and deploy
kustomize build | kubectl apply -f -