Nextcloud 21.0.1 PHP 7.3
This is a distribution of Nextcloud that is tailored for running on Kubernetes or OpenShift.
Comparing with the official Nextcloud container image:
- Nextcloud root (
/var/www/html
) is shipped with image, which is read-only and not on a volume. - Background jobs are scheduled by Kubernetes CronJobs rather than the native crond daemon.
- Upgrade procedure is not run automatically when a container starts, which significantly boosts the startup speed.
- It doesn't require the root permission.
- It is compatible with OpenShift by supporting for running as any UID.
- Filelocking is disabled.
- Doesn't suffer from I/O speed loss after interrupted large file downloads.
- Disabled permission checks on
config
anddata
directories because they are not reasonable for Kuburnetes volumes.
For more information, check out nextcloud/docker#381.
This repo contains a simple docker-compose.yaml
which allows you to run Nextcloud with PostgreSQL on a single machine.Just change the default user name and password of PostgreSQL database, then run
docker-compose up -d
Your Nextcloud server will be available at http://localhost:8080.
- Download manifests files.
- Change the default database password in
db-postgresql/nextcloud-db-secret.yaml
kube-nextcloud/nextcloud-secret.yaml
- Configure the way to expose your Nextcloud service.
-
If your Kubernetes cluster expose HTTP service with ingress-nginx, replace
cloud.example.com
inkube-nextcloud/nextcloud-ing.yaml
with your desired domain name. -
If your Kubernetes cluster supports load balancer, change
type: ClusterIP
inkube-nextcloud/nextcloud-svc.yaml
totype: LoadBalancer
.
- Deploy with:
# deploy Nextcloud
kubectl -f kube-nextcloud/
# deploy PostgreSQL database
kubectl -f db-postgresql/