Use nginx-proxy and v3.7.1 (Docker)

This was super helpful for me to get things up and running.

I had to make one minor addition to get HTTPS to work, which was to expose port 443 as well. So my docker-compose.yml looks like this:

version: "2"

services:

  db:
    build: db
    restart: unless-stopped
    volumes:
      - ./volumes/db/var/lib/postgresql/data:/var/lib/postgresql/data
      - /etc/localtime:/etc/localtime:ro
    environment:
      - POSTGRES_USER=mmuser
      - POSTGRES_PASSWORD= mmuser_password
      - POSTGRES_DB=mattermost
    # uncomment the following to enable backup
    #  - AWS_ACCESS_KEY_ID=XXXX
    #  - AWS_SECRET_ACCESS_KEY=XXXX
    #  - WALE_S3_PREFIX=s3://BUCKET_NAME/PATH
    #  - AWS_REGION=us-east-1

  app:
    build:
      context: app
      # comment out for team edition
      # dockerfile: Dockerfile-enterprise
    restart: unless-stopped
    volumes:
      - ./volumes/app/mattermost/config:/mattermost/config:rw
      - ./volumes/app/mattermost/data:/mattermost/data:rw
      - ./volumes/app/mattermost/logs:/mattermost/logs:rw
      - /etc/localtime:/etc/localtime:ro
    environment:
      # set same as db credentials and dbname
      - MM_USERNAME=mmuser
      - MM_PASSWORD= mmuser_password
      - MM_DBNAME=mattermost
      - VIRTUAL_HOST=mymattermost.tld
      - LETSENCRYPT_HOST=mymattermost.tld
      - LETSENCRYPT_EMAIL=me@mymattermost.tld
    expose:
      - "80"
      - "443"
    links:
      - db:db