anyproto / any-sync-dockercompose

docker-compose for testing any-sync
MIT License
234 stars 29 forks source link

How to deploy any-sync-dockercompose on multiple servers #59

Closed sususu98 closed 1 month ago

sususu98 commented 1 month ago

Have you read a contributing guide?

Clear and concise description of the problem

I want to be able to deploy any-sync-dockercompose on multiple servers for off-site backup, I looked at Self-hosting docsdeployment documentation, in the documentation there is mention that I need to deploy any-sync-coordinator any-sync-filenode any-sync-node on each server, but there is no mention that I need to deploy any-sync-concensusnode, if I want to deploy any-sync-dockercompose on multiple servers, is any-sync-concensusnode on each server a must?

Suggested solution

Try to add like make subnode in the Makefile to support child nodes

Hope the developer can answer my above question first, then I can add this feature after testing it myself

Alternative

No response

Additional context

No response

fb929 commented 1 month ago

This repository is not intended for production use, so we do not plan to add support for deployment on multiple servers. For deployment on multiple servers, you can use our Puppet and Ansible modules. The minimal cluster configuration is described in the docker-compose.yml file.

sususu98 commented 1 month ago

This repository is not intended for production use, so we do not plan to add support for deployment on multiple servers. For deployment on multiple servers, you can use our Puppet and Ansible modules. The minimal cluster configuration is described in the docker-compose.yml file.

@fb929 Thanks for the reply ! so am I able to understand that any-sync-concensusnode is also a must, if I want to deploy a backup node for myself

fb929 commented 1 month ago

Yes, any-sync-concensusnode is required. As well as almost all other services listed in the docker-compose.yml file:

$ grep '^  [a-z]' docker-compose.yml
  generateconfig-anyconf:
  generateconfig-processing:
  mongo-1:
  redis:
  minio:
  create-bucket:
  any-sync-coordinator_bootstrap:
  any-sync-coordinator:
  any-sync-filenode:
  any-sync-node-1:
  any-sync-node-2:
  any-sync-node-3:
  any-sync-consensusnode:

Brief description:

  1. generateconfig-anyconf: generate basic config with anyconf - optional, you can do it manually.
  2. generateconfig-processing: post processing config after anyconf tools - optional, you can do it manually.
  3. mongo-1: required, should be configured as "replica set".
  4. redis: required, should be configured with bloom module.
  5. minio: optional, you can use any s3 compatible service.
  6. create-bucket: optional, you can create bucket manually.
  7. any-sync-coordinator_bootstrap: loading network configuration in mongo - optional, you can do it manually.
  8. any-sync-coordinator: required, minimum 1 instance in cluster, recommended 3.
  9. any-sync-filenode: required, minimum 1 instance in cluster, recommended 3.
  10. any-sync-node: required, minimum 3 instance in cluster, it must always be a multiple of 3.
  11. any-sync-consensusnode: required, minimum 1 instance in cluster, recommended 3.
sususu98 commented 1 month ago

tks