feat: migrate to VitePress from monorepo docs, add test-contour section
This commit is contained in:
@@ -0,0 +1,74 @@
|
||||
# Окружение
|
||||
|
||||
## Безопасный локальный контур
|
||||
|
||||
Для локальной разработки добавлен отдельный контур, который не использует продовые доступы:
|
||||
|
||||
- compose-файл: `environments/docker-compose.local.yml`;
|
||||
- переменные Docker Compose: `local/.env.local`;
|
||||
- пример переменных: `local/.env.local.example`;
|
||||
- локальный backend env: `apps/backend/.env` и `apps/backend/.env.local`;
|
||||
- локальный cabinet env: `apps/cabinet/.env` и `apps/cabinet/.env.local`;
|
||||
- seed PostgreSQL: `local/postgres/init`;
|
||||
- seed локального Bitrix MySQL: `local/mysql-bitrix/init`.
|
||||
|
||||
Все подключения направлены только на Docker-сервисы `postgres-local`, `bitrix-mysql-local` и `redis-local`.
|
||||
|
||||
```bash
|
||||
make local-up
|
||||
make local-seed
|
||||
make local-down
|
||||
```
|
||||
|
||||
Локальные базы:
|
||||
|
||||
- `sova_backend_local` - основная БД backend;
|
||||
- `sova_cabinet_local` - основная БД cabinet;
|
||||
- `sova_bitrix_local` - mock БД Bitrix на MySQL.
|
||||
|
||||
Внешние интеграции в local env заменены mock URL вроде `http://mock-mis.local`; настоящие продовые URL и токены не используются.
|
||||
|
||||
## Корневой `.env`
|
||||
|
||||
Корневой `.env` подключается в `Makefile` и передается в Docker Compose через `--env-file`. В нем должны быть значения для:
|
||||
|
||||
- `ROOT_DIR` - абсолютный путь проекта на сервере для cron-скриптов;
|
||||
- `PG_DB`, `PG_USER`, `PG_PASS` - параметры PostgreSQL;
|
||||
- `REDIS_PASSWORD` - пароль Redis;
|
||||
- `GF_SECURITY_ADMIN_USER`, `GF_SECURITY_ADMIN_PASSWORD` - учетные данные Grafana.
|
||||
|
||||
Не храните реальные значения в документации. Для новых разработчиков лучше завести `.env.example` без секретов.
|
||||
|
||||
## Переменные приложений
|
||||
|
||||
Внутри `apps/backend` и `apps/cabinet` есть собственные `.env`, `.env.dev`, `.env.test`. Они управляют Symfony-приложениями: подключениями к БД, внешними API, mailer, Redis, JWT и режимом окружения.
|
||||
|
||||
Backend использует несколько Doctrine connections:
|
||||
|
||||
- `default` - основная PostgreSQL-база;
|
||||
- `mysql` - Bitrix MySQL;
|
||||
- `cabinet` - PostgreSQL-база старого кабинета.
|
||||
|
||||
Cabinet использует:
|
||||
|
||||
- `default` - PostgreSQL;
|
||||
- `bitrix` - Bitrix MySQL.
|
||||
|
||||
## Режимы Compose
|
||||
|
||||
`COMPOSE_PROJECT_ENV` влияет на монтирование nginx/PHP-конфигов:
|
||||
|
||||
- `dev` - берутся файлы из `infrastructure/nginx/dev` и `php-ini-dev.ini`;
|
||||
- `prod` - берутся файлы из `infrastructure/nginx/prod` и `php-ini-prod.ini`.
|
||||
|
||||
`COMPOSE_NODE_ENV` выставляется в `Makefile`, но в `docker-compose.dev.yml` сейчас явно задан `NODE_ENV=development`.
|
||||
|
||||
## Сертификаты
|
||||
|
||||
nginx слушает `80` и `443`; HTTPS-конфиги используют файлы из `infrastructure/nginx/certs`. Для разработки есть цель:
|
||||
|
||||
```bash
|
||||
make copy-certs
|
||||
```
|
||||
|
||||
Она копирует сертификаты с удаленного хоста, поэтому требует доступ к соответствующему SSH alias.
|
||||
Reference in New Issue
Block a user