services: flagship: build: context: . dockerfile: Dockerfile ports: - "8080:8080" environment: FLAGSHIP_PORT: 8080 FLAGSHIP_MYSQL_WRITER_HOST: flagship-mysql FLAGSHIP_MYSQL_READER_HOST: flagship-mysql FLAGSHIP_MYSQL_DATABASE: flagship FLAGSHIP_MYSQL_USER: root FLAGSHIP_MYSQL_PASSWORD: password FLAGSHIP_MYSQL_WRITER_MAX_POOL_SIZE: 5 FLAGSHIP_MYSQL_READER_MAX_POOL_SIZE: 5 LOGBACK_FILE: logback/logback-development.xml depends_on: db: condition: service_healthy migrate: condition: service_completed_successfully db: image: mysql:8.0 container_name: flagship-mysql environment: MYSQL_ROOT_PASSWORD: password MYSQL_DATABASE: flagship ports: - "3306:3306" healthcheck: test: ["CMD", "mysqladmin", "ping", "-h", "localhost"] interval: 10s timeout: 20s retries: 10 migrate: image: liquibase/liquibase:4.29.2 container_name: flagship-migrations volumes: - ./src/main/resources:/liquibase/resources working_dir: /liquibase depends_on: db: condition: service_healthy entrypoint: > /bin/sh -c " wget https://downloads.mysql.com/archives/get/p/3/file/mysql-connector-j-8.0.33.tar.gz -O connector.tar.gz && tar -xvzf connector.tar.gz && cp mysql-connector-j-8.0.33/mysql-connector-j-8.0.33.jar lib/ && liquibase --url=jdbc:mysql://flagship-mysql:3306/flagship --username=root --password=password --changeLogFile=./resources/changelog.xml update liquibase --url=jdbc:mysql://flagship-mysql:3306/flagship --username=root --password=password --changeLogFile=none execute-sql --sql-file=./resources/seed.sql "