Synchro AutoPilot application composed of self-orchestrating micro-services
JavaScript Shell Other
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

Synchro AutoPilot

This project is an implementation of the AutoPilot Pattern using ContainerPilot in support of the Synchro Server application.


This project includes the container definition and support files for custom Nginx, Synchro, and Redis deployments that are self-orchestrating using ContainerPilot. For more information on the AutoPilot Pattern using ContainerPilot, see:

The project also contains Docker compositions for running those containers, along with the other containers that they require, either locally or on Joyent Triton.

The beauty of self-orchestrating containers is that they can be run from any orchestration solution without need to take any special action other than to run the number of each type of container that is needed. In this applicaton, new instances of nginx will find the set of Synchro servers to route to, and when Synchro instances appear or dissapear, all nginx servers will automatically update, without your app orchestration system needing to be involved at all.

While this project contains container definitions and support files, that would allow you to build your own images if desired, it should be noted that Synchro can be deployed using only the published containers from the Docker registry (as referenced from the docker-compose.yml file). Those images are:


This project also uses StashBox. For more information on configuring/using StashBox, see:

Deploying Locally

To deploy the Synchro AutoPilot solution locally, simply do:

docker-compose up

The Synchro API server will be available (via Nginx) at http://localhost:8080

Deploying on Triton

To deploy on Joyent Triton, first ensure that you have installed and configured the Triton CLI, then do:

make runtriton

This will run (if necessary) to set up your Joyent environment vars for use by Docker, and will then deploy the solution to Triton. The Synchro API server will be available at http://synchro.svc.${TRITON_ACCOUNT}.${TRITON_DC}