version: "2" services: mariadb: image: 'wodby/mariadb:10.1-2.3.3' environment: MYSQL_ROOT_PASSWORD: password MYSQL_DATABASE: drupal MYSQL_USER: drupal MYSQL_PASSWORD: drupal php: image: 'wodby/drupal-php:{{ php.version }}-2.4.3' environment: PHP_SENDMAIL_PATH: /usr/sbin/sendmail -t -i -S mailhog:1025 {% if php.xdebug %} 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 {% endif %} SSH_AUTH_SOCK: /ssh-agent volumes: - ./:/var/www/html - ./drush:/etc/drush - $SSH_AUTH_SOCK:/ssh-agent {{ webserver.type }}: {% if webserver.type == 'nginx' %} image: 'wodby/drupal-nginx:{{ drupal.version }}-{{ webserver.version }}-2.4.2' {% elseif webserver.type == 'apache' %} image: 'wodby/drupal-apache:2.4-1.0.2' {% endif %} depends_on: - php environment: {{ webserver.type|upper }}_BACKEND_HOST: php {{ webserver.type|upper }}_SERVER_ROOT: /var/www/html/{{ webRoot }} volumes: - ./:/var/www/html labels: - 'traefik.backend={{ projectname }}_{{ webserver.type }}_1' - 'traefik.port=80' - 'traefik.frontend.rule=Host:{{ projectname }}.docker.localhost' {% if varnish.enable %} varnish: image: 'wodby/drupal-varnish:4.1-2.1.2' depends_on: - {{ webserver.type }} environment: VARNISH_SECRET: secret VARNISH_BACKEND_HOST: {{ webserver.type }} 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.1.2' 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:{{ drupal.version }}-6.6-2.2.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 %} nodejs: image: 'wodby/drupal-node:1.0-1.0.0' environment: NODE_SERVICE_KEY: '{{ node.key }}' labels: - 'traefik.backend=nodejs' - 'traefik.port=8080' - 'traefik.frontend.rule=Host:nodejs.{{ projectname }}.docker.localhost' volumes: - ./{{ node.path }}:/app command: sh -c 'npm install && npm run start' node: image: 'node:alpine' working_dir: /app labels: - 'traefik.backend={{ projectname }}_node_1' - 'traefik.port=3000' - 'traefik.frontend.rule=Host:front.{{ projectname }}.docker.localhost' expose: - "3000" volumes: - ./{{ node.path }}:/app command: sh -c 'npm install && npm run start' {% endif %} {% if memcached.enable %} memcached: image: 'wodby/memcached:1.4-2.0.0' {% endif %} {% if rsyslog.enable %} rsyslog: image: 'wodby/rsyslog' {% endif %} {% if athenapdf.enable %} athenapdf: image: 'arachnysdocker/athenapdf-service' environment: WEAVER_AUTH_KEY: '{{ athenapdf.key }}' WEAVER_ATHENA_CMD: "athenapdf -S" WEAVER_MAX_WORKERS: 10 WEAVER_MAX_CONVERSION_QUEUE: 50 WEAVER_WORKER_TIMEOUT: 90 WEAVER_CONVERSION_FALLBACK: false {% endif %}