Files
structure/README.md

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).

  1. Start your stack so the db service is running (dc up -d or your usual compose files).
  2. Find the Docker network name that db uses: docker network ls (often <project-folder>_default). Set INTAI_DOCKER_NETWORK in .env (see .env.example).
  3. Copy .env.mcp-mariadb.example to .env.mcp-mariadb and set DB_PASSWORD (and optional DB_NAME) to match MYSQL_ROOT_PASSWORD / your database.
  4. Build and start the MCP container: docker compose -f docker-compose.mcp-mariadb.yml.example up -d --build
  5. Ensure .cursor/mcp.json uses the same host port as MCP_MARIADB_PORT in .env (default 8765, URL path /sse).
  6. 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

more info https://github.com/edrevo/dockerfile-plus