Skip to content
Snippets Groups Projects
docker-compose.yml.twig 2.77 KiB
Newer Older
jurgenhaas's avatar
jurgenhaas committed
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
jurgenhaas's avatar
jurgenhaas committed
{% if php.xdebug %}
jurgenhaas's avatar
jurgenhaas committed
      PHP_XDEBUG: 1
      PHP_XDEBUG_DEFAULT_ENABLE: 1
      PHP_XDEBUG_REMOTE_AUTOSTART: 1
      PHP_XDEBUG_REMOTE_HOST: {{ docker0.ip }}
      PHP_IDE_CONFIG: serverName=Docker
      PHP_XDEBUG_REMOTE_CONNECT_BACK: 1
jurgenhaas's avatar
jurgenhaas committed
{% endif %}
    volumes:
      - ./:/var/www/html
jurgenhaas's avatar
jurgenhaas committed

  nginx:
    image: wodby/drupal-nginx:{{ drupal.version }}-{{ nginx.version }}
jurgenhaas's avatar
jurgenhaas committed
    restart: unless-stopped
    depends_on:
      - php
    environment:
      NGINX_BACKEND_HOST: php
jurgenhaas's avatar
jurgenhaas committed
      NGINX_SERVER_ROOT: /var/www/html/{{ webRoot }}
jurgenhaas's avatar
jurgenhaas committed
    volumes:
      - ./:/var/www/html
    labels:
      - 'traefik.backend={{ projectname }}_nginx_1'
jurgenhaas's avatar
jurgenhaas committed
      - 'traefik.port=80'
      - 'traefik.frontend.rule=Host:{{ projectname }}.docker.localhost'
jurgenhaas's avatar
jurgenhaas committed

{% 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'
jurgenhaas's avatar
jurgenhaas committed
      - 'traefik.port=6081'
      - 'traefik.frontend.rule=Host:varnish.{{ projectname }}.docker.localhost'
jurgenhaas's avatar
jurgenhaas committed
{% 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'
jurgenhaas's avatar
jurgenhaas committed
      - 'traefik.port=80'
      - 'traefik.frontend.rule=Host:pma.{{ projectname }}.docker.localhost'
jurgenhaas's avatar
jurgenhaas committed

{% if solr.enable %}
  solr:
    image: wodby/drupal-solr:8-6.4-2.0.0
    environment:
      SOLR_HEAP: 1024m
    labels:
      - 'traefik.backend={{ projectname }}_solr_1'
jurgenhaas's avatar
jurgenhaas committed
      - 'traefik.port=8983'
      - 'traefik.frontend.rule=Host:solr.{{ projectname }}.docker.localhost'
jurgenhaas's avatar
jurgenhaas committed
{% endif %}

  mailhog:
    image: mailhog/mailhog
    labels:
      - 'traefik.backend={{ projectname }}_mailhog_1'
jurgenhaas's avatar
jurgenhaas committed
      - 'traefik.port=8025'
      - 'traefik.frontend.rule=Host:mailhog.{{ projectname }}.docker.localhost'
jurgenhaas's avatar
jurgenhaas committed

{% if node.enable %}
  node:
    image: node:7-alpine
    working_dir: /app
    labels:
      - 'traefik.backend={{ projectname }}_node_1'
jurgenhaas's avatar
jurgenhaas committed
      - 'traefik.port=3000'
      - 'traefik.frontend.rule=Host:front.{{ projectname }}.docker.localhost'
jurgenhaas's avatar
jurgenhaas committed
    expose:
      - "3000"
    volumes:
      - ./path/to/your/single-page-app:/app
    command: sh -c 'npm install && npm run start'
{% endif %}