NODEDC_PLATFORM/docs/DEPLOYMENT_LOCAL.md

121 lines
3.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Local Deployment Plan
## Domains
Для локальной разработки целевая схема:
```text
127.0.0.1 auth.local.nodedc
127.0.0.1 launcher.local.nodedc
127.0.0.1 task.local.nodedc
127.0.0.1 agents.local.nodedc
127.0.0.1 tender.local.nodedc
127.0.0.1 onec.local.nodedc
127.0.0.1 dm.local.nodedc
```
## Current local apps
Launcher сейчас запускается как Vite app из:
```text
/Users/dcconstructions/Downloads/mnt/data/nodedc_launcher
```
Task Manager сейчас доступен как Plane self-host runtime:
```text
http://localhost:8090
```
Runtime:
```text
/Users/dcconstructions/Downloads/mnt/data/dc_taskmanager/NODEDC_TASKMANAGER/plane-app
```
Source fork:
```text
/Users/dcconstructions/Downloads/mnt/data/dc_taskmanager/NODEDC_TASKMANAGER/plane-src
```
## Target local flow
Первый local infra milestone:
```text
auth.local.nodedc -> Authentik
launcher.local.nodedc -> Launcher web/backend
task.local.nodedc -> Plane proxy/runtime
```
Все внешние запросы идут через reverse proxy.
На этом этапе reverse proxy реализуется через Caddy, а Authentik запускается за ним без прямой публикации host ports.
Текущие приложения подключаются как внешние upstream:
```text
launcher.local.nodedc -> host.docker.internal:5173
task.local.nodedc -> host.docker.internal:8090
```
Это сохраняет Launcher и Plane в их текущих репозиториях и runtime-папках.
## Environment
Базовые переменные должны жить в:
```text
platform/infra/.env
```
Пример значений хранится в:
```text
platform/infra/.env.example
```
Для генерации локальных secrets:
```bash
cd /Users/dcconstructions/Downloads/mnt/NODEDC/platform
./infra/scripts/init-dev-env.sh
```
Скрипт создает `platform/infra/.env`, выставляет права `600` и не перезаписывает существующий файл.
## Start commands
```bash
cd /Users/dcconstructions/Downloads/mnt/NODEDC/platform
docker compose --env-file infra/.env -f infra/docker-compose.dev.yml up -d
```
Проверка:
```bash
docker compose --env-file infra/.env -f infra/docker-compose.dev.yml ps
curl -I -H 'Host: auth.local.nodedc' http://127.0.0.1/
curl -I -H 'Host: task.local.nodedc' http://127.0.0.1/
```
## Authentik version note
Официальный compose Authentik для текущей ветки 2026.2 использует PostgreSQL, `server` и `worker`. Redis, указанный в раннем ТЗ как ожидаемый сервис, в актуальном официальном compose не используется. Если позже будет выбран старый pinned Authentik или отдельная HA-схема, Redis надо вернуть отдельной задачей.
## Implementation order
1. Согласовать локальные domain/port bindings.
2. Добавить reverse proxy config.
3. Поднять Authentik server, worker и Postgres.
4. Прокинуть Authentik за proxy с корректными headers.
5. Подключить текущий Launcher как внешний сервис или через compose service.
6. Подключить текущий Plane runtime как внешний service target.
7. После стабилизации собрать воспроизводимый compose.
## Notes
Текущий Plane runtime не переносится на нулевом этапе. Любое изменение `plane-app/plane.env`, volumes или startup scripts делается только после backup и отдельной задачи.