Drupal on Docker with mSMTP and Traefik Support

Overview

In this tutorial I will share my Drupal on docker setup, for versions 6/8. The stack includes Drupal (with mSMTP), MariaDB, Adminer, Backup and Traefik support.

Drupal on docker Setup

  1. clone the repo:
  2. edit .env file:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    # Should be the same as folder: replace 8 with 6 for Druapl6
    podName=docker-druapl8
    # VirtualHost address
    hostRule=druapl8.docker.localhost
    # Database credentials
    dbName=exampledatabase
    dbUser=exampleuser
    dbPass=examplepass
    # Time Zone
    timeZone=Asia/Jerusalem
  3. create msmtp/msmtprc from provided msmtprc.example
  4. change permissions and ownership of msmtprc file:
    1
    2
    chown 33:33 msmtprc
    chmod 600 msmtprc

Network settings

The stack is divided into two networks, backend and frontend.

the idea behind splitting the stack into two networks is to block the access of the reverse proxy to the backend containers.

both networks are unique and will be named with stackname_networname such as:

  • docker-drupal8_backend
  • docker-drupal8_frontend

after running docker-compose up you need to connect your reverse proxy to your new frontend network: you can do that manually using:

  • docker network connect docker-drupal8_frontend PROXY_CONTAINER_NAME

if you are using my Traefik setup there is a ‘connect.sh’ script included that will connect all your frontend networks to your Traefik container.

Leave a Reply

Your email address will not be published.

*

This site uses Akismet to reduce spam. Learn how your comment data is processed.