services: app: environment: MYSQL_HOST: db MYSQL_PORT: 3306 depends_on: db: condition: service_healthy db: image: mysql:8.4 environment: MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD:-root-password} MYSQL_DATABASE: ${MYSQL_DATABASE:-app} MYSQL_USER: ${MYSQL_USER:-app} MYSQL_PASSWORD: ${MYSQL_PASSWORD:-change-me} command: - --character-set-server=utf8mb4 - --collation-server=utf8mb4_unicode_ci ports: - "${MYSQL_PORT:-3306}:3306" volumes: - mysql-data:/var/lib/mysql healthcheck: test: ["CMD-SHELL", "mysqladmin ping -h 127.0.0.1 -u$${MYSQL_USER} -p$${MYSQL_PASSWORD} --silent"] interval: 10s timeout: 5s retries: 10 volumes: mysql-data: