Что упало и кто от этого зависит?
Клик по нездоровому контейнеру подсвечивает зависимые ноды; unhealthy, exited и restarting пульсируют — без ручного обхода десятков inspect.
Self-hosted · без агентов · WebSocket
Digraph показывает контейнеры, сети и тома в реальном времени, считает трафик на рёбрах, разбирает образы и стеки с AI и управляет окружением — из одного браузера, без установки агентов внутрь контейнеров.
Проблема
docker inspect, инцидент уже идётТопология Docker живёт в головах и в выводе терминала. Digraph превращает её в общую картину, которую видно с первого взгляда.
Клик по нездоровому контейнеру подсвечивает зависимые ноды; unhealthy, exited и restarting пульсируют — без ручного обхода десятков inspect.
Трафик анимирован на рёбрах и окрашен по загрузке канала. CPU, RAM и I/O видны прямо на нодах, рядом — спарклайн за последние 30 сэмплов.
Исторические срезы и дифф показывают добавленные, удалённые и изменённые контейнеры, сети и тома. Логи среза сохраняются даже после compose down.
Возможности
Не только «посмотреть», но и понять, объяснить и починить: от живого графа до AI-заключения по слоям образа.
WebSocket и инкрементальные diff-обновления: изменения видны мгновенно, без поллинга. Кластеры проектов, миникарта, поиск, фильтры и drag & drop.
Анимированные «пакеты» на рёбрах, цвет по загрузке канала, CPU/RAM и скорость I/O текстом на ноде. Исторические метрики хоста — отдельной серией.
Срезы состояния с таймлайном, серия метрик между изменениями, сравнение срезов и хвосты логов каждого контейнера — доступны и после удаления стека.
Заключение по всей топологии, узлу или слоям образа: базовый образ, установленные пакеты, entrypoint, env, монтирования. Trivy-скан с CVE подключается автоматически.
Единая панель инфраструктуры: контуры (dev/stg/prod) и серверы плитками, граф с drag & drop, нагрузка CPU/RAM и состояние подключения каждого сервера.
Плитки контуров (dev / stage / prod) с серверами, подключение по токену и единая точка входа для нескольких Docker-хостов. Ключи контуров шифруются на портале.
CRUD compose-файлов, up/down/restart/pull как фоновые задачи с выводом, визуальный редактор с drag & drop и экспорт docker-compose.yml из запущенных контейнеров.
AES-256-GCM и envelope-шифрование с мастер-ключом, авто-push при старте контейнера. Перед записью Digraph сверяет путь с mount'ами и честно сообщает, куда файл доставить нельзя.
Правила по unhealthy, stopped, restarting, CPU/RAM хоста и устаревшему сбору. HMAC-подпись, retry-очередь, а также каналы Slack, PagerDuty и SMTP на портале.
Веб-контейнер без docker.sock: только типизированный агент. PRIVILEGES, redaction логов, аудит вызовов, TLS и OIDC SSO. Fail-closed авторизация.
Архив SQLite и project_data с манифестом и SHA-256, расписание и ретенция. Двухфазный restore с проверкой архива и явным подтверждением.
xterm.js прямо в браузере, live-логи с фильтром и подсветкой, дерево файлов тома и скачивание как .tar.gz. Опасные действия — с подтверждением.
Как это работает
Контур — это лёгкий API-only сервис с собственной SQLite. Портал хранит инвентарь, ключи и сессии, проксирует REST и WebSocket и не требует доступа к Docker.
Без агентов внутри workload'ов. Digraph читает Docker API снаружи, через отдельный прокси. Ничего не устанавливается в ваши контейнеры.
Sidecar'ы по назначению. Сканер томов, Trivy, метрики хоста и compose-runner вынесены в отдельные контейнеры с минимальными правами.
История локально. Состояние и метрики живут в SQLite контура — без внешней базы и обязательного SaaS.
Безопасность
Инструмент наблюдения не должен становиться самой опасной частью инфраструктуры. Поэтому доступ к Docker идёт через типизированный агент, а опасные действия выключены по умолчанию.
PRIVILEGES=read-only; exec, actions, push и compose включаются осознанно.docker-api с allow-list путей и аудитом.PRIVILEGES = read-only
ALLOWED_ORIGINS = https://digraph.example
DIGRAPH_CONFIG = config.enc · AES-256-GCM
AUDIT = on
DOCKER_SOCKET = не монтируется
Редакции
Community — всё для одного Docker-сервера: живой граф, история, compose, секреты, бэкапы и Trivy. Enterprise добавляет AI-анализ, SSO, мониторинг доступности контуров и мультихост-дашборд. Одна сборка, редакция — по офлайн-лицензии.
| Возможность | Community | Enterprise |
|---|---|---|
| Граф, история, compose, секреты, бэкапы | ✓ | ✓ |
| AI-анализ графа и стека | — | ✓ |
| Мультихост-дашборд и несколько контуров | один сервер | ✓ |
| OIDC SSO | — | ✓ |
| Мониторинг доступности и дежурные каналы | — | ✓ |
| Поддержка и SLA | community | ✓ |
Состав и условия редакций ещё формируются: всё, что отмечено в Community, уже реализовано в self-hosted-версии. Enterprise-функции — направление развития и предмет отдельного соглашения.
Быстрый старт
Нужен только Docker. Образы уже собраны и опубликованы в registry, а конфиг и compose с ключом собираются прямо на этой странице.
Придумайте пароль портала. Он станет паролем входа и ключом шифрования; токены создаются на этой странице и никуда не отправляются.
Готово — скачайте файлы
AUTH_TOKEN контура:
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
Скачанный compose содержит ключ в открытом виде — не коммитьте его в git. Полное руководство: установка из образов.
Он же пароль входа в портал и ключ расшифровки конфига. Генератор шифрует токены AES-256-GCM и вписывает ключ в compose.
digraph.config.enc копируется в каталог контура и портала. Контур публикует 9090 и отдаёт API.
Портал слушает loopback; поставьте его за TLS-прокси и добавьте контур по адресу и AUTH_TOKEN из генератора.
Дальше
Разверните Digraph на стенде и откройте /#/app — дальше всё видно.