Files
docs/quick-start.md
T

4.2 KiB
Raw Blame History

Быстрый старт

Требования

  • Docker и Docker Compose v2.
  • Доступ к приватным исходникам всех приложений, если нужны frontend, adminPanel, sovamed или kiosk.
  • Свободные порты 80, 443, 5432, 3000, 3001, 8080, 9090 в зависимости от запускаемого набора сервисов.
  • Локальный .env в корне репозитория.

Запуск dev-окружения

Для безопасной локальной разработки используйте отдельный local-контур. Он не читает корневой .env, не использует продовые домены и поднимает отдельные контейнеры:

make local-up

Локальные адреса:

  • backend: http://localhost:8081;
  • cabinet: http://localhost:8082;
  • PostgreSQL: localhost:15432;
  • Bitrix MySQL mock: localhost:13306;
  • Redis: localhost:16379.

Остановка:

make local-down

Остановка с удалением локальных volumes:

make local-clean

Повторное наполнение локальных БД тестовыми данными:

make local-seed

Сборка ассетов cabinet. Нужна, если http://localhost:8082/login отдает 500 с ошибкой про public/build/entrypoints.json:

make local-assets

Проверка, что локальный контур работает:

make local-smoke

Исторические команды ниже используют общий корневой .env. Не запускайте их для локальной разработки, если есть риск обращения к внешним окружениям.

Из корня репозитория:

make dev

Команда собирает и запускает:

  • сети из environments/docker-compose.networks.yml;
  • PostgreSQL и Redis из environments/docker-compose.dbs.yml;
  • nginx, PHP-FPM и Next.js из environments/docker-compose.apps.yml;
  • Node.js helper-контейнер из environments/docker-compose.dev.yml.

Фактически make dev вызывает docker compose с COMPOSE_PROJECT_ENV=dev и COMPOSE_NODE_ENV=development.

Запуск полного набора

make up

Этот сценарий использует production-переменные окружения и дополнительно подключает мониторинг из environments/docker-compose.monitoring.yml.

Остановка

make down

Полная остановка с удалением volumes:

make clean

Полная очистка Docker на машине:

make prune

Команды внутри контейнеров

Установка PHP-зависимостей backend:

docker exec -it php84 composer install

Установка PHP-зависимостей cabinet:

docker exec -it php82 composer install

Установка и сборка frontend-ассетов cabinet:

docker exec -it php82 yarn install
docker exec -it php82 yarn dev

Миграции backend:

docker exec -it php84 php bin/console doctrine:migrations:migrate

Миграции cabinet:

docker exec -it php82 php bin/console doctrine:migrations:migrate

Локальные домены

nginx-конфиги ожидают домены вроде:

  • api.sovamed.ru -> apps/backend/public;
  • cabinet.sovamed.ru -> apps/cabinet/public;
  • dev.sovamed.ru, dev.wmtmed.ru, adm.sovamed.ru и другие домены для отсутствующих сейчас приложений.

Для локальной разработки обычно нужно добавить домены в /etc/hosts на 127.0.0.1 и иметь dev-сертификаты в infrastructure/nginx/certs.

Проверка состояния

docker compose ps
docker logs nginx --tail=100
docker logs php84 --tail=100
docker logs php82 --tail=100