Cilia is a tool for continuous integration and staging of Git repositories containing Docker Compose based web apps.

For every new commit, subject to filtering, Cilia works through a configurable sequence of steps involving Compose services: building, starting, testing, and reporting, or something else.

The web dashboard shows a live matrix of builds and lets you start or stop steps manually. You can see console outputs for the steps and even Browserstack browser videos.

Cilia is aware that each running build is a web server and has its own reverse proxy that makes specific commits (some maximum number of them) available at virtual hosts for testing and staging. You need to have a wildcard DNS record.

The real work is done by a few mostly robust bash scripts invoking git, Docker Compose, etc. The web dashboard is a React app talking to a simple Node API server which in turn reads the system state from the file system. The public web server is a Node server using the Docker API for virtual host reverse proxying.

Setup:

Instructions are coming.