version: '3.3'

services:
  blog:
    image: ghost:5
    container_name: ghost
    restart: always
    ports:
      - 8080:2368
    volumes:
      - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/ghost/content:/var/lib/ghost/content
    environment:
      # see https://ghost.org/docs/config/#configuration-options
      database__client: mysql
      database__connection__host: database
      database__connection__user: ghost_dbuser
      database__connection__password: SecureDatabasePassword
      database__connection__database: ghost
      url: https://blog.example.com
      NODE_ENV: production
      #mail__transport: SMTP
      #mail__options__host: smtp.google.com
      #mail__options__port: 587
      #mail__options__auth__user: blog@example.com
      #mail__options__auth__pass: SecureSmtpPassword
      #mail__from: My Blog <blog@example.com>

  database:
    image: linuxserver/mariadb
    container_name: ghost-db
    environment:
      - PUID=1000
      - PGID=1000
      - MYSQL_ROOT_PASSWORD=SecureDatabaseRootPassword
      - TZ=Europe/Berlin
      - MYSQL_DATABASE=ghost
      - MYSQL_USER=ghost_dbuser
      - MYSQL_PASSWORD=SecureDatabasePassword
    volumes:
      - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/ghost/mariadb/config:/config
    restart: unless-stopped