Digraph Docker Infrastructure Graph Быстрый старт

Self-hosted · без агентов · WebSocket

Docker-инфраструктура
как живой граф

Digraph показывает контейнеры, сети и тома в реальном времени, считает трафик на рёбрах, разбирает образы и стеки с AI и управляет окружением — из одного браузера, без установки агентов внутрь контейнеров.

0
агентов в контейнерах
<1 с
задержка графа
1
бинарь + sidecar'ы
SQLite
история и состояние

Проблема

Пока вы читаете docker inspect, инцидент уже идёт

Топология Docker живёт в головах и в выводе терминала. Digraph превращает её в общую картину, которую видно с первого взгляда.

01

Что упало и кто от этого зависит?

Клик по нездоровому контейнеру подсвечивает зависимые ноды; unhealthy, exited и restarting пульсируют — без ручного обхода десятков inspect.

02

Где узкое место?

Трафик анимирован на рёбрах и окрашен по загрузке канала. CPU, RAM и I/O видны прямо на нодах, рядом — спарклайн за последние 30 сэмплов.

03

Что изменилось после деплоя?

Исторические срезы и дифф показывают добавленные, удалённые и изменённые контейнеры, сети и тома. Логи среза сохраняются даже после compose down.

Возможности

Наблюдаемость, разбор и управление — в одном месте

Не только «посмотреть», но и понять, объяснить и починить: от живого графа до AI-заключения по слоям образа.

Живой граф

WebSocket и инкрементальные diff-обновления: изменения видны мгновенно, без поллинга. Кластеры проектов, миникарта, поиск, фильтры и drag & drop.

  • React Flow
  • diff
  • SQLite layout

Трафик и нагрузка

Анимированные «пакеты» на рёбрах, цвет по загрузке канала, CPU/RAM и скорость I/O текстом на ноде. Исторические метрики хоста — отдельной серией.

  • rx/tx
  • sparkline
  • host load

История и диффы

Срезы состояния с таймлайном, серия метрик между изменениями, сравнение срезов и хвосты логов каждого контейнера — доступны и после удаления стека.

  • snapshots
  • compare
  • retention

AI-разбор графа и стека

Заключение по всей топологии, узлу или слоям образа: базовый образ, установленные пакеты, entrypoint, env, монтирования. Trivy-скан с CVE подключается автоматически.

  • OpenAI-совместимый
  • Trivy
  • таблицы
  • HTML-отчёт

Дашборд

Единая панель инфраструктуры: контуры (dev/stg/prod) и серверы плитками, граф с drag & drop, нагрузка CPU/RAM и состояние подключения каждого сервера.

  • contours
  • servers
  • live status

Топология и мульти-контур

Плитки контуров (dev / stage / prod) с серверами, подключение по токену и единая точка входа для нескольких Docker-хостов. Ключи контуров шифруются на портале.

  • portal BFF
  • SSO
  • tokens

Compose: проекты и редактор

CRUD compose-файлов, up/down/restart/pull как фоновые задачи с выводом, визуальный редактор с drag & drop и экспорт docker-compose.yml из запущенных контейнеров.

  • visual editor
  • jobs
  • export

Секреты с проверкой доставки

AES-256-GCM и envelope-шифрование с мастер-ключом, авто-push при старте контейнера. Перед записью Digraph сверяет путь с mount'ами и честно сообщает, куда файл доставить нельзя.

  • envelope
  • tmpfs-aware
  • audit

Алерты и вебхуки

Правила по unhealthy, stopped, restarting, CPU/RAM хоста и устаревшему сбору. HMAC-подпись, retry-очередь, а также каналы Slack, PagerDuty и SMTP на портале.

  • HMAC
  • retry
  • Slack · PD · SMTP

Безопасность по умолчанию

Веб-контейнер без docker.sock: только типизированный агент. PRIVILEGES, redaction логов, аудит вызовов, TLS и OIDC SSO. Fail-closed авторизация.

  • typed agent
  • OIDC
  • audit

Бэкапы и восстановление

Архив SQLite и project_data с манифестом и SHA-256, расписание и ретенция. Двухфазный restore с проверкой архива и явным подтверждением.

  • VACUUM INTO
  • retention
  • restore

Терминал, логи и тома

xterm.js прямо в браузере, live-логи с фильтром и подсветкой, дерево файлов тома и скачивание как .tar.gz. Опасные действия — с подтверждением.

  • xterm
  • live logs
  • volumes

Как это работает

Один контур — один Docker-хост. Портал — точка входа для парка

Контур — это лёгкий API-only сервис с собственной SQLite. Портал хранит инвентарь, ключи и сессии, проксирует REST и WebSocket и не требует доступа к Docker.

Браузер React SPA граф · дашборд · отчёты
Портал (BFF) Вход и инвентарь токен или OIDC SSO
Контур A docker-stat SQLite · AI · алерты
Контур B docker-stat свой хост и своя БД
Агент docker-api типизированный /v1
Хост Docker daemon контейнеры · сети · тома
digraph.local / #/dashboard LIVE
Живой граф Digraph: контейнеры контура, их сети с IP-адресами, порты, нагрузка CPU и RAM, тома с размером
Это не мокап. Скриншот работающего контура: контейнеры, сети, тома, порты и живая нагрузка на одном полотне — без ручной сборки схемы.

Без агентов внутри workload'ов. Digraph читает Docker API снаружи, через отдельный прокси. Ничего не устанавливается в ваши контейнеры.

Sidecar'ы по назначению. Сканер томов, Trivy, метрики хоста и compose-runner вынесены в отдельные контейнеры с минимальными правами.

История локально. Состояние и метрики живут в SQLite контура — без внешней базы и обязательного SaaS.

Безопасность

Привилегии — явные, границы — на уровне процесса

Инструмент наблюдения не должен становиться самой опасной частью инфраструктуры. Поэтому доступ к Docker идёт через типизированный агент, а опасные действия выключены по умолчанию.

  • Read-only по умолчанию. PRIVILEGES=read-only; exec, actions, push и compose включаются осознанно.
  • Нет сокета в веб-контейнере. Только docker-api с allow-list путей и аудитом.
  • Секреты зашифрованы. Отдельный DEK на запись и envelope с мастер-ключом; ротация одной транзакцией.
  • Аудит. Каждый mutating-вызов прокси и каждое действие API пишутся с IP клиента.
  • SSO и TLS. OIDC с PKCE, allowlist по email/домену, HSTS и отдельный HTTP→HTTPS листенер.
deployment (read-only)
PRIVILEGES          = read-only
ALLOWED_ORIGINS     = https://digraph.example
SECRET_MASTER_KEY   = ••••••••••••••••
AUDIT               = on
DOCKER_SOCKET       = не монтируется
fail-closed auth HMAC webhooks redaction логов Pinned images

Редакции

Community для команды, Enterprise для парка контуров

Community — всё для одного Docker-сервера: живой граф, история, compose, секреты, бэкапы и Trivy. Enterprise добавляет AI-анализ, SSO, мониторинг доступности контуров и мультихост-дашборд. Одна сборка, редакция — по офлайн-лицензии.

Community Для команды и личного стенда
  • Живой граф, трафик и история
  • Trivy-сканирование уязвимостей
  • Один сервер по адресу и ключу
  • Compose-проекты и визуальный редактор
  • Секреты, бэкапы, алерты контура
  • Self-hosted, без внешней БД
Быстрый старт
Enterprise Для службы эксплуатации и нескольких контуров
  • Всё из Community
  • AI-разбор графа, узла и стека
  • Дашборд контуров и нескольких серверов
  • OIDC SSO
  • Мониторинг доступности: Slack, PagerDuty, SMTP
  • Приоритетная поддержка и SLA
Обсудить внедрение
Возможность Community Enterprise
Граф, история, compose, секреты, бэкапы✓✓
AI-анализ графа и стека—✓
Мультихост-дашборд и несколько контуроводин сервер✓
OIDC SSO—✓
Мониторинг доступности и дежурные каналы—✓
Поддержка и SLAcommunity✓

Состав и условия редакций ещё формируются: всё, что отмечено в Community, уже реализовано в self-hosted-версии. Enterprise-функции — направление развития и предмет отдельного соглашения.

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

Запуск за пару минут

Нужен только Docker. Образы уже собраны и опубликованы в registry, а конфиг с токенами генерируется в браузере. Полное руководство — установка из образов.

# 1. сгенерировать конфиг в браузере
https://docs.docker-infra.ru/generator.html

# 2. скачать из генератора compose и конфиг
mkdir digraph-contour && cd digraph-contour
# в каталоге: docker-compose.contour.yml и digraph.config.enc

docker compose -f docker-compose.contour.yml pull
docker compose -f docker-compose.contour.yml up -d

# 3. открыть в браузере
http://<host>:9090   # контур

Портал: docker-compose.portal.yml и тот же digraph.config.enc, затем docker compose -f docker-compose.portal.yml up -d. Проверка: curl <host>:9090/api/ready.

1
Образы и версии

hub.docker-infra.ru/digraph/*; по умолчанию — текущий релиз. Обновление — VERSION=v0.2.0 docker compose -f docker-compose.contour.yml pull && up -d.

2
Секреты

Токены генерируются в браузере и лежат в зашифрованном digraph.config.enc; ключ вписан в compose. Не коммитьте скачанные файлы в git.

3
Портал и TLS

deploy/portal слушает loopback; поставьте его за TLS-прокси и добавьте контур в UI по адресу и AUTH_TOKEN из генератора.

Дальше

Куда движется продукт

  • Kubernetes pod'ы как ноды графа
  • Коллаборация общий граф для нескольких пользователей
  • Плагины расширение через подключаемые модули
  • Terraform экспорт HCL по текущему графу
  • Темы светлая тема для презентаций
  • Мобильные панель спецклавиш для терминала

Увидеть свой Docker-граф

Разверните Digraph на стенде и откройте /#/app — дальше всё видно.