ELC – orchestrator of development environments

With ELC you can:

  • start a couple of docker-compose projects with one command
  • define dependencies across docker-compose projects
  • use one docker-compose template for several services
  • describe sets of services for different cases (testing, development, monitoring)
  • use containerized development tools

How to use

Make a workspace config file, which contains:

global variables

name: ensi
variables:
  NETWORK: ensi
  BASE_DOMAIN: ensi.127.0.0.1.nip.io

docker compose templates

templates:
  - name: php80
    path: {{.WorkspacePath}}/templates/php8
    compose_file: {{.WorkspacePath}}/templates/php8/docker-compose.yml
    variables:
      BASE_IMAGE: php:8.0-fpm-alpine
      APP_IMAGE: php80:latest
      NGINX_IMAGE: nginx:1.19-alpine

service definitions

services: 
  - name: api
    extends: php80
    path: {{.WorkspacePath}}/apps/api
    dependencies:
      - database

Register workspace in elc:

$ elc workspace add ensi /path/to/workspace/
$ elc workspace select ensi

Start some services:

$ elc start api

Invoke some tool

$ cd /path/to/service/directory
$ elc composer install

GitHub

View Github