version: '3.4' networks: lbry-network: external: true services: ########### ## MYSQL ## ########### ## Work is underway to support percona mysql: image: mysql:5.7.23 restart: always networks: lbry-network: ipv4_address: 10.6.1.10 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 healthcheck: test: ["CMD-SHELL", 'mysql --database=$$MYSQL_DATABASE --password=$$MYSQL_ROOT_PASSWORD --execute="SELECT count(table_name) > 0 FROM information_schema.tables;" --skip-column-names -B'] interval: 5s retries: 12 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: build: context: . dockerfile: Dockerfile-linux-x86_64-production restart: always networks: lbry-network: ipv4_address: 10.6.1.3 env_file: - env - ../environment/chainquery.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