Skip to content
This repository has been archived by the owner on Aug 25, 2019. It is now read-only.

Support High Availability Cluster of Phabricator Docker containers #45

Closed
hach-que opened this issue Sep 8, 2016 · 3 comments
Closed

Comments

@hach-que
Copy link
Contributor

hach-que commented Sep 8, 2016

I intend to add support for High Availability clustering of Phabricator Docker containers.

This will roughly require adding a:

  • CLUSTER_NODE_TYPE environment variable with options none, web, ssh, aphlict, storage and dbupgrade.
  • Environment variables for either keys or authorization with the cluster instance.
  • CLUSTER_NODE_STORAGE_ID environment variable for storage nodes. This is a unique identifier that identifies this particular storage node in the cluster. The storage identifier should be associated with the repository storage volume attached to the Docker container (i.e. even if you delete the container, if you re-create a new storage node with the repository storage volume attached, you should give it the same storage ID).

Users of the high availability configuration will need to build out the cluster like so:

  • Start a node of type dbupgrade first, which connects to the database and applies the initial migration script. These nodes will automatically shutdown after they finish performing the database migration.
  • Start nodes of type web, which offer a web interface.

At this point, users should have a basically functioning Phabricator system, without any repository storage, SSH access or real-time notifications.

Users can then:

  • Start a node of type storage to start adding repository storage to the cluster.
  • Start a node of type ssh to add external SSH repository access to the cluster.
  • Start a node of type aphlict to gain real-time notifications in the cluster.

Each of these types of nodes should signal in the cluster that they're offering these particular functionalities, so we can tailor information in the cluster (such as the SSH URLs displayed in Diffusion) with the relevant access information.

@ruiyunli
Copy link

Could u provider any 'README' help me configure a cluster environment with latest docker version?
I have try step by step with the introduction of the URL, but it does not work. I am so tired...
https://secure.phabricator.com/book/phabricator/article/cluster/

@hach-que
Copy link
Contributor Author

hach-que commented May 14, 2019 via email

@ruiyunli
Copy link

ruiyunli commented Jun 9, 2019

@hach-que thank you so much! It is so kind of you.

After a week of work, I finally build a docker image, and I treat it as cluster environment. Actually, I am not sure. The main reason is that two phabricator container are linked to the same mysql container. I think it needs more time to test and verify the details.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

2 participants