No e-mail is send externally, everything is catched by MailHog. Be aware if you are using sendgrid, mailchimp or similar mail API's, we do not catch those.
Access MailHog at http://mail.localhost to see all caught emails.
MySQL configuration can be customized in conf/mysql/my.cnf:
mkdir -p conf/mysql
nano conf/mysql/my.cnfSet the root password in your .env file or during dev setup.
For more details, see mysql-mailhog-redis-cronjobs.md.
Create a conf/blackfire file with your Blackfire credentials from blackfire.io:
BLACKFIRE_CLIENT_ID=your-id
BLACKFIRE_CLIENT_TOKEN=your-token
BLACKFIRE_SERVER_ID=your-server-id
BLACKFIRE_SERVER_TOKEN=your-server-tokenThen restart: dev down && dev up
For complete setup instructions, see configure-blackfire.md.
The environment supports PHP 7.4, 8.0, 8.1, 8.2, 8.3, 8.4, and 8.5. The default is PHP 8.2.
Switch PHP versions using marker files:
cd workspace/customer/project
touch .php83 # Use PHP 8.3 for this projectSee how-to-use-different-php-versions.md for details.
Enable services during setup with dev setup, or manually:
mkdir -p conf/servicename # e.g., conf/elasticsearch, conf/rabbitmq
dev rebuildAvailable optional services include: Elasticsearch, OpenSearch, RabbitMQ, MongoDB, Varnish, MySQL 8, and more.
By default, your projects are in the workspace/ directory. The exact location depends on your setup:
- Local directory:
~/development/workspace/ - Docker volume: Use
docker volume inspect dockerdev-workspace-volume
Database files are similarly in mysql/ or a Docker volume.
See docker-volumes.md for volume management.
Use the XDebug console command:
dev xdebug-consoleThen configure your IDE to listen on port 9003 and set up path mappings from your local project to /data/workspace/customer/project.
See xdebug.md for complete setup instructions.
Yes. The default MySQL 5.7/Percona runs on port 3306. You can also enable MySQL 8 on port 3308:
mkdir -p conf/mysql8
dev rebuildConnect to MySQL 8 using 127.0.0.1:3308 from your host or db8:3306 from containers.
See mysql8.md for details.
Several monitoring tools are available:
dev top- Container resource monitoringdev mytop- MySQL process monitoring- ctop - Enhanced container monitoring
- Elasticsearch HQ - Elasticsearch monitoring UI (localhost:5000)
- ElasticVue - Modern search engine UI (localhost:8080)
- RabbitMQ Management - Queue management (localhost:15672)
See monitoring-tools.md for more details.
Use ngrok or BeyondCode Expose to create a tunnel:
dev ngrok your-project.localhostOr:
dev expose your-project.localhostThis provides a public URL that forwards to your local environment.
See sharing-with-the-world-via-ngrok.md and expose.md.
Use mysqldump:
dev mysqldump database_name > backup.sqlRestore with:
dev mysql database_name < backup.sqlFor complete backup strategies, see backup-restore.md.
Key optimizations:
- Use Composer 2:
dev composer2 - Use Docker volumes instead of bind mounts (macOS/Windows)
- Increase Docker Desktop resources (CPUs, memory)
- Enable production mode in Magento 2
- Configure MySQL memory settings
See performance-tuning.md for comprehensive optimization techniques.
All documentation is in the docs/ directory. Key documents:
- README.md - Getting started
- development-commands.md - Command reference
- hosts-and-file-structure.md - Project structure
For a complete list, see the Documentation section in README.md.