Skip to content

solcloud/dev-stack

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

51 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Dev stack

Bash script for ease development built on top of docker and docker-compose.

You can watch showcase video on youtube ▶️.

Install

Add bin/dev-stack.sh to your $PATH, ideally as dev shortcut, something like ln -s /path/to/solcloud/dev-stack/bin/dev-stack.sh /bin/dev.

Activation

Start containers by running dev up -v in project working directory. If project don't have .dev-config file, run dev init to create one and edit as required. To stop containers run dev down.

Config

Only required variable for .dev-config is PPROJECT_NAME. All others variable are optional, but if you do not specify them they fallback to default values. For example for this .dev-config file

PROJECT_NAME=my_project

actual base variables will be these behind scene:

PROJECT_NAME=my_project
PREFIX=solcloud_
PHP_VERSION=7.4
DOCUMENT_ROOT=
BASE_IMAGE=solcloud/php:${PHP_VERSION}

so if you want to use different BASE_IMAGE and do not want to use default solcloud_ prefix with preconfigured services you can use for example this .dev-config file:

PROJECT_NAME=my_project
PREFIX=my_prefix_
BASE_IMAGE=php:8.1.3-apache

If BASE_IMAGE is not enough and you want absolute image control you can provide COMPOSE_CONTEXT variable with path to docker-compose build context folder.

Default COMPOSE_CONTEXT allows expanding BASE_IMAGE for current project using EXTRA_RUN_CMD_${1-7} variables. For example installing ffmpeg for current project.

PROJECT_NAME=my_project
EXTRA_RUN_CMD_1="apt-get update && apt-get install -y ffmpeg"
EXTRA_RUN_CMD_2="echo dev-stack is awesome"

Commands

  • usage: dev
  • start dev up
  • stop dev down
  • status: dev status
  • webserver cli: dev ws
  • composer: dev composer
  • PHPStan: dev stan
  • PHPUnit: dev unit
  • php cli: dev php
  • worker start (run.php): dev worker
  • Xdebug default enable: dev xdebug
  • Xdebug cli one shot: dev debug script.php