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 database__connection__password: MyStrongDatabasePassword database__connection__database: ghost # url: https://blog.example.com # change this for production NODE_ENV: production #mail__transport: SMTP #mail__options__host: smtp.gmail.com #mail__options__port: 587 #mail__options__auth__user: blog@example.com #mail__options__auth__pass: MyStrongSmtpLoginPassword #mail__from: Ghost Blog #networks: # - proxy #labels: # - traefik.enable=true # - traefik.http.routers.ghost.rule=Host(`blog.example.com`) # - traefik.http.services.ghost.loadbalancer.server.port=2368 # - traefik.docker.network=proxy # # Part for local lan services only # #- traefik.http.routers.ghost.middlewares=external-secure@file database: image: mysql:8 container_name: ghost_db restart: always volumes: - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/ghost/mysql:/var/lib/mysql #ports: # - "13928:3306" environment: MYSQL_ROOT_PASSWORD: AnotherStrongDatabasePasswordForRootUser MYSQL_DATABASE: ghost MYSQL_USER: ghost MYSQL_PASSWORD: MyStrongDatabasePassword #networks: # - proxy #networks: # proxy: # external: true