version: "3"
services:
  ghost:
    image: ghost:latest
    volumes:
      - /srv/ghost:/var/lib/ghost/content
    environment:
      - url=https://read.knast.cc
      - database__client=mysql
      - database__connection__host=ghost_db
      - database__connection__user=root
      - database__connection__password=$MYSQL_ROOT_PASSWORD
      - database__connection__database=ghostdb
    depends_on:
      - ghost_db
    restart: unless-stopped
    ports:
      - 2368:2368
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.ghost.entrypoints=websecure"
      - "traefik.http.routers.ghost.rule=Host(`read.$DOMAIN_NAME`)"
      - "traefik.http.routers.ghost.tls.certresolver=letsencr"
  ghost_db:
    image: mysql:8
    restart: unless-stopped
    command: --default-authentication-plugin=mysql_native_password
    environment:
      MYSQL_ROOT_PASSWORD: $MYSQL_ROOT_PASSWORD
    volumes:
      - /srv/ghost_mysql:/var/lib/mysql
    ports:
      - 3306:3306
networks:
  default:
    external:
      name: $DEFAULT_NETWORK