services: app: build: context: . dockerfile: Dockerfile container_name: pawra-app ports: - "8080:80" environment: DB_HOST: db DB_PORT: 3306 DB_NAME: pawra DB_USER: pawra DB_PASS: pawra_pw depends_on: db: condition: service_healthy db: image: mysql:8.4 container_name: pawra-db restart: unless-stopped environment: MYSQL_ROOT_PASSWORD: root_pw MYSQL_DATABASE: pawra MYSQL_USER: pawra MYSQL_PASSWORD: pawra_pw ports: - "3306:3306" volumes: - db_data:/var/lib/mysql - ./migrations/schema.sql:/docker-entrypoint-initdb.d/01-schema.sql:ro healthcheck: test: ["CMD-SHELL", "mysqladmin ping -h localhost -uroot -proot_pw || exit 1"] interval: 5s timeout: 3s retries: 20 volumes: db_data: