version: '3.4'

networks:
  lbry-network:
    external: true

services:
###########
## MYSQL ##
###########
## MariaDB is currently not supported and neither is later versions of MySQL this may change.
## https://hub.docker.com/r/_/mariadb/
  mysql:
    image: mysql:5.7.23
    restart: always
    networks:
      lbry-network:
        ipv4_address: 10.6.1.10
        aliases:
          - mysql
    env_file:
      - ../environment/chainquery.env
    expose:
      - 3306
    ## TODO: I want to find a way that is acceptable to everyone to lock this up
    ## and not share it with everyone at least eventually.
    ports:
      - 3306:3306
    volumes:
      - ../persist/chainquery/db:/var/lib/mysql
      ## This one may need to be tweaked based on where you run this docker-compose from.
      - ../stuff/my.cnf:/etc/mysql/conf.d/chainquery-optimizations.cnf

################
## Chainquery ##
################
  chainquery:
    image: lbryio/lbry-docker:linux-x86_64-production
    restart: always
    networks:
      lbry-network:
        ipv4_address: 10.6.1.3
    env_file:
      - env
      - ../environment/lbrycrd.env
    labels:
      - "traefik.expose=false"
    expose:
      - 6300
    ports:
      - 6300:6300
    depends_on:
      - mysql
    ## TODO: Uncomment this in a docker-compose.override.yml to allow for external configurations.
    volumes:
      - ../persist/chainquery/config/chainqueryconfig.toml:/etc/chainquery/chainqueryconfig.toml