services: app: build: context: . dockerfile: Dockerfile container_name: webgis_app ports: - "8080:80" environment: DB_HOST: db DB_PORT: 3306 DB_DATABASE: webgis_spbu DB_USERNAME: webgis_user DB_PASSWORD: webgis_password depends_on: db: condition: service_healthy restart: unless-stopped db: image: mysql:8.4 container_name: webgis_db environment: MYSQL_DATABASE: webgis_spbu MYSQL_USER: webgis_user MYSQL_PASSWORD: webgis_password MYSQL_ROOT_PASSWORD: root_password ports: - "3307:3306" volumes: - webgis_db_data:/var/lib/mysql - ./migrations:/docker-entrypoint-initdb.d:ro healthcheck: test: ["CMD", "mysqladmin", "ping", "-h", "localhost", "-uroot", "-proot_password"] interval: 10s timeout: 5s retries: 5 restart: unless-stopped phpmyadmin: image: phpmyadmin:5.2 container_name: webgis_phpmyadmin ports: - "8081:80" environment: PMA_HOST: db PMA_PORT: 3306 depends_on: db: condition: service_healthy restart: unless-stopped volumes: webgis_db_data: