Hey , i was wondering how to create nextcloud global scale in docker envirment ? do i need to configure somthing in the docker-compose.yml file ?
what i am trying to achive is 2 nextcloud nodes that are connected to each other.
the data is saved in both servers. and in case one of them fails (turns off / crashes) the secound node will take over the whole data and communication .
Global Scale is an architecture mostly intended for >6-figure user deployments distributed geographically. It’s not a single feature that just gets toggled on.
For a smaller deployment, with high availability requirements, you’re not really talking about Global Scale. Instead you’d be talking about taking a conventional Nextcloud deployment (reverse proxy + app container + local storage + db container) and augmenting it as follows:
- redundant (N+1) application containers (presumably on different hosts)
- shared high availability storage (e.g. object storage, Ceph, etc.)
- shared high availability database (e.g. something like MySQL Cluster)
You may also want to explore Kubernetes (Nextcloud has a Helm chart), which or may not be of value depending on your real needs.
If this is an enterprise situation, you may want to reach out to Nextcloud GmbH or one of their partners for guidance: Nextcloud - Contact us now
Global scale is not offered for docker deployment on two servers, but rather is used at the enterprise level for many millions of users.
Global scale is not intended for personal docker deployment, and unfortunately the process of having two mirrored Nextcloud servers is not clear in existing documentation.
It is currently outside the knowledge base. See other threads on the forum discussing mirrored Nextcloud across two or more servers, which is a different conversation from Global Scale; understandable on confusing them.
Closing this thread since it relates to Global Scale and was answered @Ron_Nahmany but we can continue the mirror discussion on the mirror thread. I would love to figure that out.
Thanks for the answer , I have two different servers that each one is running nextcloud instances , each one has it own url , database and data directory.
What I am looking for is something like mirroring or in other words , I want to use each nextcloud storage and make it available for the other server , the problem that when using remote , ones one of the servers is going down , it is expected to continue working on the other server and once it comes back online , all the files are available to continue working .
From what I saw there is a way to cluster the data but the how wasn’t written
No one has found a method for mirroring two Nextcloud servers yet. If you do, you will be the first.
Nextcloud itself has no built in feature to cluster the data, or mirroring two Nextcloud instances, as @just already said, and that’s not at all what Nextcloud Global Scale is about, as far as I understand the basic concept of it. If you want high availability, see @jtr 's post for the basic concepts. Or maybe this Link is of any help.
Global Scale tries to solve a different problem, which is that scaling out a single instance is complex and expensive, and will eventually reach certain limits with very large numbers of users. To overcome these limitations, Global Scale uses Federated Sharing. This means that user accounts and data remain on their respective instances, but they can all work together using the Cloud Federation API, allowing almost infinite scaling, and we’re talking literally millions of users.
See here to understand the basic concept of Global Scale: https://indico.cern.ch/event/663264/contributions/2818168/attachments/1591597/2519018/cs3_2018_-_global_scale.pdf