version: '3'

services:
  # MySQL service
  db:
    image: mysql:8
    restart: always
    environment:
      MYSQL_DATABASE: exampleDatabaseName
      MYSQL_USER: exampleUser
      MYSQL_PASSWORD: examplePassword
      MYSQL_ROOT_PASSWORD: exampleRootPassword
    ports:
      - "3306:3306"
    volumes:
      - mysql:/var/lib/mysql
  
  # Express app service
  app:
    build:
      context: .
      dockerfile: Dockerfile
    depends_on:
      - db
    ports:
      - "4300:4300"
    environment:
      DB_HOST: db
      DB_PORT: 3306
      DB_USER: exampleUser
      DB_PASSWORD: examplePassword
      DB_NAME: exampleDatabaseName
      DOCKER: true
      PORT: 4300

volumes:
  mysql: