version: "2" services: mariadb: image: wodby/mariadb:10.1-2.0.0 environment: MYSQL_ROOT_PASSWORD: password MYSQL_DATABASE: drupal MYSQL_USER: drupal MYSQL_PASSWORD: drupal php: image: wodby/drupal-php:{{ php.version }}-2.0.0 environment: PHP_SENDMAIL_PATH: /usr/sbin/sendmail -t -i -S mailhog:1025 {% if php.xdebug %} PHP_XDEBUG: 1 PHP_XDEBUG_DEFAULT_ENABLE: 1 {% endif %} volumes: - ./:/var/www/html - ./drush:/etc/drush nginx: image: wodby/drupal-nginx:{{ drupal.version }}-{{ nginx.version }} restart: unless-stopped depends_on: - php environment: NGINX_BACKEND_HOST: php NGINX_SERVER_ROOT: /var/www/html/{{ webRoot }} volumes: - ./:/var/www/html labels: - 'traefik.backend={{ projectname }}_nginx_1' - 'traefik.port=80' - 'traefik.frontend.rule=Host:{{ projectname }}.docker.localhost' {% if varnish.enable %} varnish: image: wodby/drupal-varnish:4.1-2.0.0 depends_on: - nginx environment: VARNISH_SECRET: secret VARNISH_BACKEND_HOST: nginx VARNISH_BACKEND_PORT: 80 labels: - 'traefik.backend={{ projectname }}_varnish_1' - 'traefik.port=6081' - 'traefik.frontend.rule=Host:varnish.{{ projectname }}.docker.localhost' {% endif %} redis: image: wodby/redis:3.2-2.0.1 pma: image: phpmyadmin/phpmyadmin environment: PMA_HOST: mariadb PMA_USER: drupal PMA_PASSWORD: drupal PHP_UPLOAD_MAX_FILESIZE: 1G PHP_MAX_INPUT_VARS: 1G labels: - 'traefik.backend={{ projectname }}_pma_1' - 'traefik.port=80' - 'traefik.frontend.rule=Host:pma.{{ projectname }}.docker.localhost' {% if solr.enable %} solr: image: wodby/drupal-solr:8-6.4-2.0.0 environment: SOLR_HEAP: 1024m labels: - 'traefik.backend={{ projectname }}_solr_1' - 'traefik.port=8983' - 'traefik.frontend.rule=Host:solr.{{ projectname }}.docker.localhost' {% endif %} mailhog: image: mailhog/mailhog labels: - 'traefik.backend={{ projectname }}_mailhog_1' - 'traefik.port=8025' - 'traefik.frontend.rule=Host:mailhog.{{ projectname }}.docker.localhost' {% if node.enable %} node: image: node:7-alpine working_dir: /app labels: - 'traefik.backend={{ projectname }}_node_1' - 'traefik.port=3000' - 'traefik.frontend.rule=Host:front.{{ projectname }}.docker.localhost' expose: - "3000" volumes: - ./path/to/your/single-page-app:/app command: sh -c 'npm install && npm run start' {% endif %}