services: apache: container_name: meraproject-php7.3-apache build: context: . dockerfile: Dockerfile restart: always ports: - "803:80" environment: TZ: Europe/Moscow volumes: - .:/var/www/html depends_on: db: condition: service_healthy logging: options: max-size: 50m db: container_name: meraproject-mysqldb image: mysql:8.3 restart: always # С хоста (Workbench): порт слева. Между контейнерами всегда db:3306. ports: - "3307:3306" command: --default-authentication-plugin=mysql_native_password --max_allowed_packet=512M environment: MYSQL_ROOT_PASSWORD: "Q#Y34KsmCfy*" volumes: - ./data/db:/var/lib/mysql - ./data/backup:/mnt/backup # Раскомментируйте для авто-init из data/mysql-init при первом создании тома: # - ./data/mysql-init:/docker-entrypoint-initdb.d:ro healthcheck: test: ["CMD-SHELL", "mysqladmin ping -h 127.0.0.1 -uroot -p\"$$MYSQL_ROOT_PASSWORD\" || exit 1"] interval: 10s timeout: 5s retries: 30 start_period: 180s phpmyadmin: container_name: meraproject-phpmyadmin image: phpmyadmin restart: always ports: - "8803:80" environment: PMA_HOST: db PMA_USER: root PMA_PASSWORD: "Q#Y34KsmCfy*" UPLOAD_LIMIT: 300M depends_on: db: condition: service_healthy user-reader: container_name: meraproject-user-reader build: context: ./services/user-reader restart: always ports: - "8090:8090" environment: MYSQL_HOST: db MYSQL_PORT: "3306" MYSQL_USER: root MYSQL_PASSWORD: "Q#Y34KsmCfy*" MYSQL_DATABASE: j7508239_tracker # Пусто = без проверки. Иначе X-Api-Key или Authorization: Bearer. Прод: сменить ключ. USER_READER_API_KEY: "local-dev-key-change-in-prod" depends_on: db: condition: service_healthy