Digraph Docs Docker Infrastructure Graph

Docs / Обзор

Digraph Docs

Digraph показывает Docker-инфраструктуру как живой граф: контейнеры, сети и тома, трафик и нагрузку, историю и инциденты — плюс управление, секреты, бэкапы и AI-разбор. Документация описывает установку, архитектуру, API и эксплуатацию.

Что такое Digraph

Продукт состоит из двух слоёв. Контур — инсталляция рядом с Docker-демоном: она собирает состояние, хранит историю в SQLite и выполняет действия. Портал — отдельное приложение на своём домене: вход пользователей, инвентарь контуров и прокси к их API.

Браузер → Портал (BFF) → Контур A → docker-api → Docker daemon
Контур
Один Docker-хост, своя SQLite и настройки
Портал
Вход, инвентарь и прокси к контурам
Сервер
Адрес контура и зашифрованный токен в портале
Агент
docker-api — единственный держатель сокета

Режимы работы

ЧтоStandaloneПортал
ВходAUTH_TOKEN на контуреJWT портала: OIDC SSO или токен
UIОтдаёт контурОтдаёт портал, API — через прокси
AIКлюч и вызовы на контуреКлюч и вызовы на портале
SSOOIDC на контуре (опционально)OIDC на портале; контур принимает только токен
КонтурыОдинНесколько, с общим инвентарём
ДанныеСостояние, история и настройки остаются на контуре

Быстрый старт

Нужен Docker с Compose v2. Образы публикуются в hub.docker-infra.ru/digraph, pull работает без логина:

cd deploy/contour
cp .env.example .env      # VERSION=v0.1.0, HOST_IP
./init-secrets.sh
docker compose pull
docker compose up -d

curl http://localhost:9090/api/ready

Портал: cd deploy/portal && cp .env.example .env && ./init-secrets.sh && docker compose up -d.

СервисПортЧто это
Контур9090API и WebSocket; UI отдаёт портал
Портал9091Loopback по умолчанию; наружу — через TLS-прокси
Reverse proxy80, 443HTTPS для портала и сайтов

Версии. Версия фиксируется в .env (VERSION). Обновление — docker compose pull && docker compose up -d, откат — предыдущий тег. Образы: hub.docker-infra.ru/digraph/<image>:<version>.

Fail-closed auth. Без AUTH_TOKEN (или файла secrets/auth_token) приложение не стартует. Короткие и известные значения вроде changeme тоже считаются ошибкой.

Ключевые понятия

ТерминЗначение
СрезСостояние графа на момент изменения; к нему сохраняются метрики и хвосты логов
PRIVILEGESЕдиный переключатель прав: read-only (по умолчанию), all или список actions,exec,push,compose
Токен контураAUTH_TOKEN, которым портал ходит в контур; в браузер не попадает
SidecarСервис рядом с контуром: агент Docker, compose-runner, сканеры томов и уязвимостей, метрики хоста
Кластер проектаГруппа контейнеров одного compose-проекта на графе

Куда дальше