services: app: build: context: ./app ports: - "8080:8080" depends_on: mysql: condition: service_healthy mongo: condition: service_healthy environment: SPRING_DATASOURCE_URL: jdbc:mysql://root:cms@mysql:3306/cms SPRING_DATA_MONGODB_URI: mongodb://root:cms@mongo:27017/prescriptions?authSource=admin mysql: image: mysql:8.0 container_name: mysql environment: MYSQL_ROOT_PASSWORD: cms MYSQL_DATABASE: cms volumes: - mysql-data:/var/lib/mysql ports: - "3306:3306" healthcheck: test: ["CMD", "mysql", "-uroot", "-pcms", "-e", "SELECT 1"] interval: 10s timeout: 5s retries: 5 mongo: image: mongo:8.2.1 container_name: mongo environment: MONGO_INITDB_ROOT_USERNAME: root MONGO_INITDB_ROOT_PASSWORD: cms MONGO_INITDB_DATABASE: cms volumes: - mongodb-data:/data/db ports: - "27017:27017" healthcheck: test: [ "CMD", "mongosh", "--quiet", "--eval", "db.runCommand({ ping: 1 })" ] interval: 10s timeout: 5s retries: 5 volumes: mysql-data: mongodb-data: