3.8 KiB
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
MariaDB MCP (Cursor IDE)
Optional MCP server so Cursor can query the db container over the Docker network (SSE on localhost).
- Start your stack so the
dbservice is running (dc up -dor your usual compose files). - Find the Docker network name that
dbuses:docker network ls(often<project-folder>_default). SetINTAI_DOCKER_NETWORKin.env(see.env.example). - Copy
.env.mcp-mariadb.exampleto.env.mcp-mariadband setDB_PASSWORD(and optionalDB_NAME) to matchMYSQL_ROOT_PASSWORD/ your database. - Build and start the MCP container:
docker compose -f docker-compose.mcp-mariadb.yml.example up -d --build - Ensure
.cursor/mcp.jsonuses the same host port asMCP_MARIADB_PORTin.env(default8765, URL path/sse). - Restart Cursor and enable the intai-mariadb MCP server in MCP settings.
First image build can take a while (upstream MariaDB MCP dependencies).
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