CEP leverages docker swarm cluster which allows us to orchestrate docker container workloads. The CEP includes features like
- Dynamic URL Generation for services deployed in swarm
- Set of base docker images which applications can choose to use
- Docker Private Registry
- Service Health Checks
- Service monitoring
- Service Logging
Starting guide can be found here
This scripts includes the following steps,
- Create self-signed SSL certificates for securing docker daemon.
- Setup scalable volumes to be used with docker. (more)
- Installation of docker package and its dependencies on all hosts
- Creation of docker swarm with the hosts
- Creation of router that resolves URL to services. (more)
- Setup of monitoring components. (more)
- Creation of private registry and pull/push base images.
- Installation of portal for swarm management. (more)
- Setup of logging module. (more)
- Installation of gitlab server. (more)
- Setup cronjob to cleanup orphan volumes, images, containers, networks and garbage collect private registry (more)
At the end of running this script you have,
- Private registry (v2 API) running at https://registry.<domain>
- Container management portal running at https://cep-portal.<domain>
- Monitoring graphs running at https://cep-monitoring.<domain>
- Logging service running on https://graylog.<domain> [Optional]
- Code repository Gitlab running on https://gitlab.<domain> [Optional]
If your servers have private IP one can access by giving appropriate host entry. For public access, one can put A-record for server ip for *.<domain> and URL's can be accessed through it.
Please visit oeCloud.io
- Currently cep components needing persistence have been constrained to one box. So currently that counts as a single point of failure. We are working on it.
The project is licensed under MIT License, See LICENSE for more details.
We welcome contributions. Some of the best ways to contribute are to try things out, file bugs, and join in design conversations.