type: concept
title: "Контейнерная архитектура платформы"
version: 0.1.0
date: 2026-04-02
status: draft
Черновик концепции. Фиксирует принципы устройства платформы в контейнерах.
ЛЮБОЙ СЕРВЕР
└── BASE
МАТКА (центральная, один экземпляр)
└── BASE +
├── CORE
├── NET
├── OPS
└── BACKUP
ОТЕЦ / СОЗДАТЕЛЬ
└── BASE + creator стек
ПРОЕКТОР
└── BASE + projector стек
ИСПОЛНИТЕЛЬ (× сколько нужно)
└── BASE + executor стек
Устанавливается первым на любой сервер. Без BASE ничего не работает.
BASE
├── Portainer Agent ← подключается к центральному Portainer (OPS)
├── WireGuard ← VPN туннель к другим серверам
├── Nginx local ← роутинг сервисов на этом сервере
└── Backup agent ← отправляет снапшоты в центральный backup
Один экземпляр. Всё остальное зависит от Матки.
Если упадёт — платформа умирает.
CORE
├── PostgreSQL ← питает Gitea + Authelia
├── Gitea ← git репозитории, источник истины
├── Authelia ← SSO аутентификация для всех UI
└── Nginx ← главный домен, роутинг, SSL
NET
├── WireGuard server ← VPN сервер, связывает все серверы
└── Certbot ← SSL сертификаты
Если упадёт — платформа работает, но слепо.
OPS
├── Portainer server ← центральный UI управления контейнерами
├── Uptime Kuma ← мониторинг всех сервисов
├── Alerting ← уведомления в Telegram
└── Docker Registry ← хранение своих образов (опционально)
BACKUP
├── Restic ← снапшоты всех данных
└── S3 client ← отправка в облачное хранилище
Роль: создаёт методологию, стандарты, библиотеки, агентов, инфраструктуру.
CREATOR
├── Claude Code (интерактивный терминал)
└── workspace:
├── architect/ rw ← методология, стандарты
├── library/ rw ← коннекторы, функции
├── system/ rw ← агенты, монитор, планировщик
└── infra/ rw ← описания серверов
Git репо: platform-core (rw Создатель, ro остальные)
Позже: + AI агент-процесс рядом с Claude Code
Роль: управляет только проектами клиентов.
PROJECTOR
├── Claude Code (интерактивный терминал)
└── workspace:
├── projects/ rw ← проекты клиентов
├── architect/ ro ← читает стандарты
├── library/ ro ← использует код
└── infra/ ro ← видит инфраструктуру
Git репо: platform-projects (rw Проектор, ro Создатель)
Подтягивает нужное из platform-core через git по запросу.
Позже: + AI агент-процесс рядом с Claude Code
Запускает проекты. Экземпляров столько сколько нужно.
EXECUTOR
├── Nginx ← роутинг доменов проектов
├── PostgreSQL ← БД для проектов на этом исполнителе
├── Redis ← кэш, очереди, сессии
├── MinIO ← S3 для медиа и файлов проектов
└── project-{name} стеки
| Вариант | Где | Когда |
|---|---|---|
| A. Контейнер | На Исполнителе | Всё новое, разработка → прод |
| B. VPS клиента | Сервер клиента | Enterprise, данные у клиента |
| C. Shared hosting | Beget и др. | Простые сайты, дёшево |
Разработка всегда в контейнере (вариант A). Потом переносится туда где нужно.
| Репо | Владелец | Содержит |
|---|---|---|
platform-core |
Создатель rw / остальные ro | architect/ · library/ · system/ · infra/ |
platform-projects |
Проектор rw / Создатель ro | projects/ |
project-{name} |
Проектор rw | код и конфиги конкретного проекта |
library/
├── connectors/api/ ← ozon, telegram, 1c, sms, vk, openrouter
├── connectors/data/ ← postgres, s3, redis
├── functions/ ← format, validate, normalize, transform
└── core/ ← базовые классы платформы
Authelia (в МАТКА-CORE) — SSO для всех интерфейсов платформы:
| UI | Назначение | Кто использует |
|---|---|---|
| Gitea | Репозитории | Все |
| Portainer | Управление контейнерами | DevOps |
| Uptime Kuma | Мониторинг | DevOps |
| docs.0kt.ru | Документация | Все |
Версия: 0.1.0 draft
Следующий шаг: обсудить открытые вопросы → поднять до 1.0.0