* pma and inbucket port presented in docker compose example file (do not use that for prod environment with this docker structure build)
Prepare
Copy all example files and dir
Cop and set your username:
.env.example
Choose php version and redis needed redis containers
docker-compose.yml.example
dockerfiles/workspace/crontab-example
dockerfiles/workspace/aliases.sh.example
Set your site(s) root-mappings
config/nginx/conf.d/vhosts.conf.example
First
Create alias for docker-compose command.
echo 'alias dc="docker-compose"' >> ~/.bash_aliases
Also, you have might be needed include ~/.bash_aliases in your ~/.bashrc file.
Build all
dc build
Second
Create usefully symlinks
./create-symlinks.sh
Get composer auth token
If you do not have composer github auth.json file in ~/.composer dir. You will need launch the helper-script:
./get-composer-auth.sh
Before use and launch
You need copy vhosts.conf.example and edit this file - remove unused roots (or change to existing dirs).
Setup correctly nginx config.
You ready for up containers.
dc up -d
Database dumps
Database dumps must be placement on ./hostfiles directory.
Bash scripts
After execute created symlinks, you have some enter-points for vulnerable popular tasks.
Xdebug
For start debugging in php-fpm, also in workspace
./xdebug-start.sh [74|81] - 74 by default
For start debugging in php-fpm, also in workspace
./xdebug-stop.sh or ./stop-xdebug.sh 81 if you launch start new php version 81
Xdebug with profiler
Profiler saved your profiles into /tmp directory in own container.
In docker-compose.base.yml exists volume that represent /tmp directory to ./data/profiler.
In this case ./data/profiler must be have 777 chmod`s.
For starting xdebug with profiler enable you might:
./xdebug-start.sh 74 1
Or
./xdebug-start.sh 74 profiler if you like
Second argument must be have any string
For disable profiler - just simple launch
./xdebug-quit.sh
Mysql
For import dumps from hostfiles directory you might be enter to mysql console:
./mysql.sh
Change you needed database and source to the *.sql dump.
use mydatabase
source /hostfiles/mydatabase.sql
Dump must be extracted before source in mysql-cli
Workspace
For execute composer update|install or nodejs operations, also yarn, npm and all node-builds.
You might use workspace-container
For the enter to workspace container with php 7.4 you need launch usefully helper script in your home directory:
./enter-to-workspace.sh
For enter to workspace with php7.3 you need pass 73 container name suffix
./enter-to-workspace.sh 73
Nginx
For restart nginx after some changes in nginx configuration, you might:
./restart-nginx.sh
Elastic
Copy example
Launch:
dc -f docker-compose.elastic.yml up -d elastic
Src build need DOCKER_BUILDKIT
If you want build own workspace image. You need export environment variable
export DOCKER_BUILDKIT=1