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
curl -sSL https://raw.githubusercontent.com/MadridianFox/ensi-local-ctl/master/get.sh | sudo bash
elc --help
Dependencies:
- go
- make
git clone git@github.com:MadridianFox/ensi-local-ctl.git
cd ensi-local-ctl
make
make install
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: ${WORKSPACE_PATH}/templates/php8
compose_file: ${TPL_PATH}/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: ${WORKSPACE_PATH}/apps/api
variables:
VAR1: ${VAR1:-default}
dependencies:
proxy: [default]
database: [default, hook]
Register workspace in elc:
$ elc workspace add ensi /path/to/workspace/
Start some services:
$ elc start api
Invoke some tool
$ cd /path/to/service/directory
$ elc composer install
Copyright © 2022 Ivan Koryukov
Distributed under the MIT License. See LICENSE.md.