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
    11
    # Should be the same as folder: replace 8 with 6 for Druapl6
    podName=docker-druapl8
    # VirtualHost address
    hostRule=druapl8.docker.localhost
    adminerHostRule=adminer.wordpress.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.

1 thought on “Drupal on Docker with mSMTP and Traefik Support

  1. Harry

    I’m pretty sure you misspelled the word “ident” on your site. You might want to check out a site like SpellRadar.com or SiteCheck.com which have helped me with problems like this in the past.

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *

*

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