Skip to content

Instantly share code, notes, and snippets.

@mpriscella
Created December 28, 2018 03:42
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mpriscella/eb2d5911bfa5901337e075898b924ec0 to your computer and use it in GitHub Desktop.
Save mpriscella/eb2d5911bfa5901337e075898b924ec0 to your computer and use it in GitHub Desktop.
Docker Compose file for Drupal
version: '3.5'
services:
mariadb:
image: mariadb
container_name: 'drupal_mariadb'
stop_grace_period: 30s
environment:
MYSQL_ALLOW_EMPTY_PASSWORD: 'yes'
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: drupal
ports:
- '3307:3306'
php:
image: groupninemedia/drupal-php
container_name: 'drupal_php'
working_dir: /var/www/html
# volumes:
# - ./:/var/www/html
depends_on:
- mariadb
nginx:
image: groupninemedia/drupal-nginx
container_name: 'drupal_nginx'
# volumes:
# - ./:/var/www/html
labels:
- 'traefik.backend=nginx'
- 'traefik.port=80'
- 'traefik.frontend.rule=Host:drupal.localhost'
depends_on:
- php
traefik:
image: traefik
container_name: 'drupal_traefik'
command: -c /dev/null --web --docker --logLevel=INFO
ports:
- '80:80'
volumes:
- /var/run/docker.sock:/var/run/docker.sock
# chrome:
# image: drupalci/webdriver-chromedriver:production
# container_name: 'drupal_chromedriver'
# ulimits:
# core:
# soft: -1
# hard: -1
# cap_add:
# - SYS_ADMIN
# volumes:
# - /dev/shm:/dev/shm
# entrypoint:
# - chromedriver
# - "--no-sandbox"
# - "--log-path=/tmp/chromedriver.log"
# - "--verbose"
# - "--whitelisted-ips="
.PHONY: browser-test down drush install prune ps shell stop unit-test up
default: up
browser-test:
docker exec -ti $(shell docker ps --filter name='drupal_php' --format "{{ .ID }}") bash -c "cd /var/www/html/ && ./vendor/bin/phpunit -c phpunit.xml $(filter-out $@,$(MAKECMDGOALS))"
down: stop
drush:
docker exec $(shell docker ps --filter name='drupal_php' --format "{{ .ID }}") drush $(filter-out $@,$(MAKECMDGOALS))
install:
@docker exec -ti drupal_php sh -c "drush site-install --site-name='Drupal Sandbox' --db-url=mysql://root:root@mariadb:3306/drupal --account-name=admin --account-pass=admin"
@$(MAKE) drush cr
prune:
@docker-compose down -v
ps:
@docker ps --filter name='drupal_*'
shell:
docker exec -ti -e COLUMNS=$(shell tput cols) -e LINES=$(shell tput lines) $(shell docker ps --filter name='drupal_php' --format "{{ .ID }}") bash
stop:
@docker-compose stop
unit-test:
docker exec -ti $(shell docker ps --filter name='drupal_php' --format "{{ .ID }}") bash -c "cd /var/www/html/core/ && ../vendor/bin/phpunit ../$(filter-out $@,$(MAKECMDGOALS))"
up:
docker-compose up -d --remove-orphans
# https://stackoverflow.com/a/6273809/1826109
%:
@:
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment