--- /dev/null
+version: "2.3"
+
+services:
+ mariadb:
+ image: wodby/mariadb:10.2-3.0.2
+ env_file: ./.env
+ environment:
+ MYSQL_RANDOM_ROOT_PASSWORD: 'true'
+ MYSQL_DATABASE: ${DATABASE_NAME}
+ MYSQL_USER: ${DATABASE_USER}
+ MYSQL_PASSWORD: ${DATABASE_PASSWORD}
+ volumes:
+ - mysqldata:/var/lib/mysql
+ # Uncomment next line and place DDb dump.sql file(s) here
+ # - ./mariadb-init:/docker-entrypoint-initdb.d
+ healthcheck:
+ test: ["CMD", "mysqladmin" ,"ping", "-h", "localhost"]
+ timeout: 20s
+ retries: 10
+
+ php:
+ image: wodby/drupal-php:7.0-2.4.3
+ env_file: ./.env
+ environment:
+ PHP_SENDMAIL_PATH: /usr/sbin/sendmail -t -i -S mailhog:1025
+ DB_HOST: ${DATABASE_HOST}
+ DB_USER: ${DATABASE_USER}
+ DB_PASSWORD: ${DATABASE_PASSWORD}
+ DB_NAME: ${DATABASE_NAME}
+ DB_DRIVER: mysql
+ volumes:
+ - ./:${DRUPAL_ROOT}{{ volume_configuration }}
+ depends_on:
+ mariadb:
+ condition: service_healthy
+
+ nginx:
+ image: wodby/drupal-nginx:8-1.13-2.4.2
+ env_file: ./.env
+ depends_on:
+ - php
+ environment:
+ NGINX_STATIC_CONTENT_OPEN_FILE_CACHE: "off"
+ NGINX_ERROR_LOG_LEVEL: debug
+ NGINX_BACKEND_HOST: php
+ NGINX_SERVER_ROOT: ${SERVER_ROOT}
+ volumes:
+ - ./:${DRUPAL_ROOT}{{ volume_configuration }}
+ labels:
+ - 'traefik.backend=nginx'
+ - 'traefik.port=80'
+ - 'traefik.frontend.rule=Host:${HOST_NAME}'
+
+ mailhog:
+ image: mailhog/mailhog
+ env_file: ./.env
+ labels:
+ - 'traefik.backend=mailhog'
+ - 'traefik.port=8025'
+ - 'traefik.frontend.rule=Host:mailhog.${HOST_NAME}'
+
+ traefik:
+ image: traefik
+ env_file: ./.env
+ command: -c /dev/null --web --docker --logLevel=INFO
+ ports:
+ - '${HOST_PORT}:80'
+ volumes:
+ - /var/run/docker.sock:/var/run/docker.sock
+
+volumes:
+ mysqldata:
+ driver: "local"