* 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