type: concept
title: "Семейная архитектура платформы"
status: approved
version: 3.0.0
date: 2026-04-07
owner: architect
Семья описывает два разных слоя — инфраструктуру и продукты:
ИНФРАСТРУКТУРА (чужое железо) НАШИ ПРОДУКТЫ (живут на инфра)
────────────────────────────── ──────────────────────────────
МАТЬ = главный сервер ОТЕЦ = Архитектор
ДОЧКА = дочерний сервер СЫН = Проектор + Кодер
Мать "рожает" дочек Отец "воспитывает" сына
(деплой дочерних серверов) (знания → исполнение)
Ключевое правило:
- МАТЬ и ДОЧКА — инфраструктура, не наш продукт (VPS, железо)
- ОТЕЦ и СЫН — наши продукты, живут поверх инфраструктуры
| Имя | Слой | Что | Правило |
|---|---|---|---|
| МАТЬ | Инфраструктура | Главный сервер | BASE + CORE, всегда |
| ДОЧКА | Инфраструктура | Любой дочерний сервер | BASE, без CORE |
| ОТЕЦ | Продукт | Архитектор на главном сервере | Всегда с МАТЕРЬЮ |
| СЫН | Продукт | Проектор на любом сервере | На МАТЕРИ или ДОЧКЕ |
| Компонент | Живёт в | Что делает |
|---|---|---|
| Архитектор | ОТЕЦ | Создаёт и управляет знаниями платформы |
| Проектор | СЫН | Ведёт проект, исполняет через Кодера |
| Часть | Принадлежит | Что делает |
|---|---|---|
| Кодер | Проектор | Выполняет код-задачи внутри сессии |
| Executor | ДОЧКА | Docker + БД + задеплоенный продукт клиента |
Сервер
├── BASE (ОС, Docker, UFW, WireGuard)
├── CORE (Traefik, Authelia, Gitea) ← МАТЬ
├── Архитектор ← ОТЕЦ
├── Проектор ← СЫН
│ └── Кодер
└── Executor (Docker + БД + продукты)
Главный сервер Дочерний сервер
├── BASE ├── BASE
├── CORE ← МАТЬ ├── Проектор ← СЫН
└── Архитектор ← ОТЕЦ │ └── Кодер
└── Executor
Главный Дочка 1 Дочка 2
├── BASE ├── BASE ├── BASE
├── CORE ← МАТЬ ├── Проектор ← СЫН ├── Проектор ← СЫН
└── Архитектор ← ОТЕЦ └── Executor └── Executor
BASE = ОС + Docker + UFW + fail2ban + WireGuard. На каждом сервере, всегда.
CORE = Traefik + Authelia + Gitea. Только на МАТЕРИ — без него платформа не работает.
ОТЕЦ всегда на МАТЕРИ. СЫН — на любом сервере. ДОЧКА — любой сервер кроме главного.
┌─────────────────────────────────────────────────────────────┐
│ ПРОКСИ (EU) — 91.218.142.168 │
│ SOCKS5 → api.anthropic.com │
└──────────────────────────┬──────────────────────────────────┘
│ SOCKS5 туннель
┌──────────────────────────▼──────────────────────────────────┐
│ МАТЬ (RF) — 155.212.142.142 — aipd.ru │
│ │
│ BASE (всегда): │
│ ОС · Docker · UFW · fail2ban · WireGuard hub │
│ │
│ CORE (всегда): │
│ Traefik · Authelia · Gitea │
│ │
│ OPS (опц.): │
│ Uptime Kuma · Monitor · Backup · Vault │
│ │
│ ОТЕЦ (опц.): │
│ Архитектор │
│ │
│ СЫН (опц.): │
│ Проектор │
│ └── Кодер │
│ │
│ Executor (опц.): │
│ Docker + БД + продукты │
└──────────────────┬──────────────────────────────────────────┘
│ WireGuard VPN (10.10.0.0/24)
┌───────────┴───────────┐
▼ ▼
┌──────────────────────┐ ┌──────────────────────┐
│ ДОЧКА — zeai.ru │ │ ДОЧКА — любой VPS │
│ 10.10.0.2 │ │ 10.10.0.N │
│ │ │ │
│ BASE (всегда) │ │ BASE (всегда) │
│ │ │ │
│ СЫН (опц.) │ │ СЫН (опц.) │
│ Проектор │ │ Проектор │
│ └── Кодер │ │ └── Кодер │
│ │ │ │
│ Executor (опц.) │ │ Executor (опц.) │
│ Docker + БД │ │ Docker + БД │
│ + продукты │ │ + продукты │
└──────────────────────┘ └──────────────────────┘
| Стек | Прокси | Мать | Дочка | По умолч. |
|---|---|---|---|---|
| BASE | ✅ | ✅ | ✅ | всегда |
| CORE (Traefik+Authelia+Gitea) | — | ✅ | — | всегда |
| OPS (Uptime+Monitor+Backup) | — | опц. | — | частично |
| ОТЕЦ (Архитектор) | — | опц. | — | n |
| СЫН (Проектор+Кодер) | — | опц. | опц. | n |
| Executor (Docker+БД+продукты) | — | опц. | опц. | n / y* |
*На ДОЧКЕ Executor по умолчанию y — она существует именно для рантайма проектов.
Отец — единственный источник знаний платформы. Сыновья на дочках получают знания по запросу.
ОТЕЦ (Архитектор на Матери)
│
│ создаёт и хранит
▼
БАНК ЗНАНИЙ (library/, architect/)
theory/ standards/ patterns/ artifacts/
│
│ отдаёт только нужное по запросу
├──────────────────────────────────┐
▼ ▼
СЫН на Матери СЫН на Дочке
(Проектор + Кодер) (Проектор + Кодер)
│ │
│ нет знания? │ нет знания?
└──────────► запрос к Отцу ◄───────┘
│
▼
Отец генерирует
знание → в Банк
│
все Сыновья
получают доступ
Правила потока знаний:
| Ситуация | Действие |
|---|---|
| Знание есть в Банке | Сын берёт сам (git pull) |
| Знание техническое (язык, фреймворк) | Сын находит сам (WebSearch) |
| Знание платформенное отсутствует | Сын запрашивает Отца |
| Отец создаёт новый стандарт | Попадает в Банк, доступен всем Сыновьям |
Следствие для дистрибуции:
- Клиент получает СЫН (движок исполнения) — on-premise
- БАНК ЗНАНИЙ остаётся у Отца — как сервис
- Без Отца Сын работает, но не умнеет и не получает новые стандарты
Детали установки, IP-адреса, текущий статус:
→ projects/platform-new/infra/DEPLOYMENT_FAMILY.md