Description
The dropfort build project scaffolds several files to improve your development expierance. This project contains a devcontainer which you can open in vscode. Since this project uses multiple containers docker-compose is used to make development more simple. You can see the definition for the containers here. In order for the project to work correctly there are some required environment variables. There is an example env file provided to get you started.
WARNING
The value for COMPOSE_PROJECT_NAME
in your docker/.env file must be the same as in the project root .env file.
Config
Enabling features
The default docker compose file will enable the following services by default in all instance.
Default Services:
- Apache/PHP Webserver (default container)
- MariaDB database
- Traefik reverse proxy
- MailHog email inspection tool.
Additional Services:
- Migration Source database
- Solr Cloud
- Memcache
- Selenium Hub with Browsers
- RequestBaskets HTTP Request capture tool
- XHGui for enhanced performance profiling (beta)
You can enable additional services by adding a comma delimited list to the COMPOSE_PROFILES environment variable in docker/.env
E.g.
COMPOSE_PROFILES=solr,memcache
Will enable all the default services but also turn on a Memcache server and a Solr Cloud instance.
You can find the list of available profiles by checking the profiles keywords in the docker/docker-compose.yml
file in your project.
Additional options in your docker/.env
file include controlling the version of PHP, NPM/NodeJS, Solr, Mariadb, etc. See the docker/.env.example
file or documentation page for a list of options available.
Docker Compose
The docker-compose.yml takes care of setting up your local environment.
Docker Containers
Service Name | Description | Container Image |
---|---|---|
mariadb |
| MariaDB |
drupal |
| WebDevOps PHP Apache Dev |
mailhog |
| MailHog |
traefik |
| Traefik |
memcache |
| Memcache |
solr |
| Solr |
zookeeper |
| Zookeeper |
selenium |
| Selenium |
chrome |
| Selenium Chrome |
firefox |
| Selenium Firefox |
edge |
| Selenium Edge |
xhgui |
| XHGui |
xhgui_mongodb |
| MongoDB (XHGui Storage) |
requestbaskets |
| RequestBaskets |
jmeter |
| Custom to Dropfort Build |