Dagu: оркестрация рабочих процессов с помощью YAML

Dagu — это самохозяйственный оркестратор рабочих процессов, подходящий для команд, чья основная работа не связана с оркестрацией. Он позволяет описывать рабочие процессы в декларативном формате YAML, используя существующие скрипты, команды SSH и контейнеры, и отделяет логику бизнес-процессов от оркестрации.

Проект предлагает легковесный подход к автоматизации операций с помощью единственного бинарника без необходимости в базе данных. Dagu работает на Linux, macOS и Windows и подходит для работы в локальных, облачных или изолированных средах. Его основные преимущества — это простота установки и отсутствие внешних зависимостей, а также возможность планирования и управления историями выполнения рабочих процессов. Это хорошая альтернатива Airflow и Cron, если твои требования не требуют сложных интеграций.

Учитывай, что проект находится на ранней стадии разработки, так что могут быть недоработки. Ознакомиться с документацией и запустить проект можно по ссылкам из README.

Dagu: создан для команд, чья основная работа не является оркестрацией

Документация · CLI · API · Примеры · Демо онлайн (пользователь/пароль: demouser) · Discord

Dagu

Dagu — это локально ориентированный движок для автоматизации рабочих процессов и операций. Он является проектом с открытым исходным кодом и может быть развернут самостоятельно: это один бинарный файл с встроенным веб-интерфейсом, без необходимости в сторонней базе данных или брокере сообщений, работающий на Linux, macOS и Windows. Используй декларативный формат YAML для определения DAG (направленных ациклических графов). Он нативно поддерживает выполнение shell-команд, Docker-контейнеров, Kubernetes Jobs, удаленные команды через SSH и многое другое через Dagu Actions.

Dagu преобразует существующие скрипты и runbook в производственные рабочие процессы с функциями по расписанию, повторными попытками, человеческими задачами и историей выполнения. Он работает там, где хранятся данные и учетные данные: на месте, в изолированных сетях, на краю или в облаке, и может масштабироваться от одного узла до множества рабочих узлов.

Краткий обзор

Dagu можно установить и запустить с использованием простых команд. Он предлагает множество возможностей, включая параллельное выполнение и управление зависимостями, прозрачный доступ к логам и истории выполнения.

Почему Dagu?

Dagu ориентирован на упрощение оркестрации, если обработка этих задач не является основной работой. Он не требует перенаписи твоих скриптов и контейнеров, что делает его более удобной альтернативой традиционным оркестраторам, таким как cron, Airflow и Temporal. Dagu рассматривает структуру рабочего процесса как конфигурацию, а не как код, что позволяет легко адаптировать его под свои нужды.

Установка и запуск

Для установки Dagu на различных платформах доступны несколько вариантов:

  • macOS/Linux:
    curl -fsSL https://raw.githubusercontent.com/dagucloud/dagu/main/scripts/installer.sh | bash
  • Homebrew:
    brew install dagu
  • npm:
    npm install -g --ignore-scripts=false @dagucloud/dagu
  • Windows (PowerShell):
    irm https://raw.githubusercontent.com/dagucloud/dagu/main/scripts/installer.ps1 | iex
  • Docker:
    docker run --rm -v ~/.dagu:/var/lib/dagu -p 8080:8080 ghcr.io/dagucloud/dagu:latest dagu start-all
  • Kubernetes (Helm):
    helm repo add dagu https://dagucloud.github.io/dagu
    helm repo update
    helm install dagu dagu/dagu --set persistence.storageClass=

После установки, ты можешь создать рабочий процесс в файле hello.yaml:

steps:
  - id: hello
    run: echo "hello from Dagu"

Запусти его с помощью команды:

dagu start hello.yaml

Для запуска сервера используй:

dagu start-all --dags .

После этого открой браузер и перейди по адресу http://localhost:8080.

Ограничения

Важно учитывать, что Dagu работает на одной машине, либо на временных рабочих узлах, созданных твоей платформой для каждой задачи, либо на постоянных рабочих узлах. В зависимости от выбранной топологии могут возникнуть ограничения на количество параллельных запусков и еще ряд эксплуатационных нюансов. Убедись, что ознакомился с документами касательно [топологий развертывания](https://docs.dagu.sh/overview/deployment-models) и [управления зависимостями](https://docs.dagu.sh/writing-workflows/examples).

Заключение

Dagu предлагает гибкое решение для организации и автоматизации рабочих процессов, упрощая оркестрацию и интегрируя широкий спектр задач при помощи простого в использовании интерфейса. Ты сможешь имплементировать автоматизацию в своей работе без сложных настроек и зависимостей от множественных систем.

Радар проекта: 87 из 100 — зрелый и живой проект

ИмпульсТемпЗрелостьСообществоСвежестьСтартПродакшенДовериеДокументацияЭкосистема87
  • Импульс 48 ≈ 12 звёзд в день
  • Темп разработки 100 808 коммитов за 12 недель
  • Зрелость 100 проекту 4 года, больше 100 релизов
  • Сообщество 81 124 участника, 399 форков
  • Свежесть 97 последний коммит — 5 дней назад
  • Быстрый старт 100 есть: команда установки, Docker, сайт/демо, примеры
  • Готовность к продакшену 70 релиз v2.26.0, автосборка
  • Безопасность и доверие 100 лицензия GPL-3.0, SECURITY.md, организация
  • Документация 100 README 48.7 тыс. знаков, 58 разделов
  • Экосистема 72 18 подписчиков на обновления, 20 тем
Как считаем

Только открытые данные GitHub на 07.11.2026, без оценок нейросети. Каждая ось — от 0 до 100, итог — среднее.

  • Импульс — звёзд в день: за время наших замеров, а пока их нет — за всю жизнь проекта; 200 в день — максимум.
  • Темп разработки — коммитов за последние 12 недель; 300 — максимум. Пока GitHub не досчитал статистику, ось не учитывается.
  • Зрелость — возраст проекта (3 года — максимум) и число релизов (30 — максимум), поровну.
  • Сообщество — участников с коммитами (200 — максимум) и форков (5000 — максимум), поровну.
  • Свежесть — дней с последнего коммита: сегодня — 100, полгода и больше или архив — 0.
  • Быстрый старт — в README есть команда установки, раздел «быстрый старт» или примеры использования, в репозитории — Docker и папка примеров, у проекта есть сайт или демо.
  • Готовность к продакшену — релизы, версия 1.0 и выше, автосборка (GitHub Actions), тесты, лицензия, журнал изменений.
  • Безопасность и доверие — открытая лицензия (своя — половина балла), политика безопасности (SECURITY.md), проект организации, правила для участников, не в архиве.
  • Документация — объём и структура README, папка docs или сайт, оценка «здоровья сообщества» GitHub.
  • Экосистема — звёзды (50 тыс. — максимум), подписчики на обновления (1000 — максимум), темы репозитория.

Открыть на GitHub: dagucloud/dagu →

Что нового на GitHub — короткие обзоры на русском Новые обзоры приходят в Telegram. Без спама, по делу.
Подписаться

Похожие статьи

Популярные темы на сайте