feat: migrate to VitePress from monorepo docs, add test-contour section

This commit is contained in:
sova-bootstrap
2026-05-28 12:29:31 +03:00
parent e90dfe1bd4
commit e3e438df68
76 changed files with 11998 additions and 60 deletions
+149
View File
@@ -0,0 +1,149 @@
# Быстрый старт
## Требования
- Docker и Docker Compose v2.
- Доступ к приватным исходникам всех приложений, если нужны `frontend`, `adminPanel`, `sovamed` или `kiosk`.
- Свободные порты `80`, `443`, `5432`, `3000`, `3001`, `8080`, `9090` в зависимости от запускаемого набора сервисов.
- Локальный `.env` в корне репозитория.
## Запуск dev-окружения
Для безопасной локальной разработки используйте отдельный local-контур. Он не читает корневой `.env`, не использует продовые домены и поднимает отдельные контейнеры:
```bash
make local-up
```
Локальные адреса:
- backend: `http://localhost:8081`;
- cabinet: `http://localhost:8082`;
- PostgreSQL: `localhost:15432`;
- Bitrix MySQL mock: `localhost:13306`;
- Redis: `localhost:16379`.
Остановка:
```bash
make local-down
```
Остановка с удалением локальных volumes:
```bash
make local-clean
```
Повторное наполнение локальных БД тестовыми данными:
```bash
make local-seed
```
Сборка ассетов cabinet. Нужна, если `http://localhost:8082/login` отдает `500` с ошибкой про `public/build/entrypoints.json`:
```bash
make local-assets
```
Проверка, что локальный контур работает:
```bash
make local-smoke
```
Исторические команды ниже используют общий корневой `.env`. Не запускайте их для локальной разработки, если есть риск обращения к внешним окружениям.
Из корня репозитория:
```bash
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`.
## Запуск полного набора
```bash
make up
```
Этот сценарий использует production-переменные окружения и дополнительно подключает мониторинг из `environments/docker-compose.monitoring.yml`.
## Остановка
```bash
make down
```
Полная остановка с удалением volumes:
```bash
make clean
```
Полная очистка Docker на машине:
```bash
make prune
```
## Команды внутри контейнеров
Установка PHP-зависимостей backend:
```bash
docker exec -it php84 composer install
```
Установка PHP-зависимостей cabinet:
```bash
docker exec -it php82 composer install
```
Установка и сборка frontend-ассетов cabinet:
```bash
docker exec -it php82 yarn install
docker exec -it php82 yarn dev
```
Миграции backend:
```bash
docker exec -it php84 php bin/console doctrine:migrations:migrate
```
Миграции cabinet:
```bash
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`.
## Проверка состояния
```bash
docker compose ps
docker logs nginx --tail=100
docker logs php84 --tail=100
docker logs php82 --tail=100
```