Airsc miễn phí cho tất cả. Nếu nó giúp bạn, hãy ủng hộ $2–$20.

Ủng hộ
MCP serverCẩn thậnQuy trình & bộ nhớ agentCần cài đặt chút

dagu

dagucloud · dagucloud/dagu

Dagu là một công cụ điều phối quy trình làm việc có thể tự host, chạy các script, container và lệnh SSH thông qua YAML khai báo, cung cấp tính năng lập lịch, thử lại và máy chủ MCP tích hợp.

Trình điều phối quy trình làm việc có thể tự host dành cho các nhóm mà công việc chính của họ không phải là điều phối. YAML khai báo qua các script, lệnh SSH, container của bạn, v.v.; giữ các quy trình làm việc tách biệt khỏi logic nghiệp vụ. Một tệp nhị phân duy nhất, không cần cơ sở dữ liệu, chạy trên các tài nguyên phần cứng hạn chế. Thay thế cho Airflow / Cron / Job Scheduler.

4.4k sao377Giấy phép: GPL-3.0Cập nhật 3 ngày trước0 lượt mở

Xem trước

▍

Bạn có thể làm gì với nó

  • Điều phối một loạt các script xử lý dữ liệu chạy hàng ngày trên một máy chủ cục bộ.
  • Tự động hóa các quy trình triển khai nhiều bước trên các máy chủ từ xa SSH bằng cách sử dụng các quy trình làm việc YAML khai báo.
  • Lập lịch sao lưu dữ liệu ứng dụng thường xuyên và thông báo cho bạn về việc hoàn thành hoặc thất bại.

Kiểm tra an toàn

Cẩn thận

Dùng được, nhưng nên đọc ghi chú trước.

  • ●Yêu cầu quyền quản trị (sudo).scripts/installer.sh
  • ●Trình cài đặt tải script từ xa và chạy thẳng bằng shell.README.md

Quét tự động các file trong repo. Luôn xem lại code trước khi chạy.

Trích từ README

Docs · CLI · API · Examples · Live demo (username/password: demouser) · Discord

Dagu

Dagu is a local-first workflow engine for operations and internal automation. It is open source and self-hostable: a single binary with a built-in Web UI, no external database or message broker, running on Linux, macOS, and Windows. Define DAGs in a declarative YAML format. It natively supports shell commands, Docker containers, Kubernetes Jobs, remote commands via SSH, and more through Dagu Actions.

Dagu turns existing scripts and runbooks into production workflows with scheduling, retries, human tasks, and run history. It runs where your data and credentials live: on-prem, air-gapped, edge, or cloud, and scales from a single node to a fleet of workers.

Highlights:

  • Single binary installation.
  • Self-contained: no external DBMS or message broker required.
  • Runs on Linux, macOS, and Windows.
  • Declarative YAML format for defining DAGs.
  • Run existing shell commands, Docker containers, Kubernetes Jobs, and remote commands over SSH without modifications.
  • Compose reusable Sub-DAGs and run work in parallel with concurrency controls.
  • Schedule workflows with cron syntax, timezones, overlap policies, and catch-up windows.
  • Keep logs, run history, retries, notifications, and webhook triggers in one place.
  • Built-in MCP server for inspecting workflows and runs, maintaining Wiki pages, applying changes, and controlling runs.
  • Optional monitoring in Dagu Console: every server's runs and trends in one place, and an email when a workflow fails or a server stops reporting. Opt-in, outbound HTTPS only, metadata only.

Quick Look

For a quick look at how workflows are defined, see the examples.

Run DetailsStep LogsWiki

Try it live: Live Demo (credentials: demouser / demouser)

Why Dagu?

Orchestration is not your main work. You have scripts and containers that already work. You want a schedule, retries, dependencies, and a place to see logs. The usual options each have a cost:

  • cron runs commands, but gives you no dependencies, no retries, no history.
  • Airflow orchestrates, but you operate a platform for it (scheduler, metadata database, workers, a Python environment), and your jobs get rewritten as @dag/@task framework code.
  • Temporal gives durable execution, but your business logic moves into its SDK and programming model.

You wanted to schedule some jobs. Now you operate a second system, and the orchestrator lives inside the code it was supposed to serve.

Dagu treats workflow structure as configuration, not code. Order, dependencies, retries, schedules, and human tasks go in one YAML file next to your scripts; the engine that runs them is a single process:

  Traditional Orchestrator          Dagu
  ┌────────────────────────┐        ┌──────────────────┐
  │  Web Server            │        │                  │
  │  Scheduler             │        │  dagu start-all  │
  │  Worker(s)             │        │                  │
  │  PostgreSQL            │        └──────────────────┘
  │  Redis / RabbitMQ      │         Single binary.
  │  Python Runtime        │         Self-hosted.
  └────────────────────────┘         Adds scheduling, retries, and human tasks around existing automation.
    6+ services to manage

Your scripts never import the orchestrator. Delete the YAML and they run exactly as before. Keep it, and every run gets a dependency graph, retries, per-step logs, history, and a Web UI.

Performance

Dagu stores state in local files and reaches production throughput without external services.

  • Throughput: A single machine can run thousands of workflow runs per day. Actual capacity depends on CPU, memory, disk, and workflow shape.
  • Load control: Queues, concurrency limits, and resource limits control how many runs execute at once and where they run.
  • Scale out: Workers spread execution across machines when one node is not enough.

Real-World Use Cases

Use CaseHow Dagu Helps
ETL and data operationsTurn data extraction scripts, SQL queries, dbt commands, and data-processing runbooks into observable pipelines with durable execution.
Legacy scripts and scheduled jobsTurn interdependent scripts into maintainable DAGs with a UI, automatic logging, retries, and notifications instead of opaque cron jobs.
Media conversionRun ffmpeg for video transcoding and format conversion. File-backed state allows workers to run heavy conversions in parallel without single-machine bottlenecks or external databases.
Infrastructure and server automationRun any command or script over SSH on remote servers, keeping logs, results, and notifications in one place.
GitHub-driven workflowsTrigger workflows from GitHub events to run automation on private infrastructure without exposing servers to the public internet.
Container and Kubernetes workflowsRun Docker containers and Kubernetes Jobs as steps in your workflows without building a custom control plane around containers.
Customer support automationProvide self-service workflows that non-engineering teams can run for diagnostics, database queries, and routine operations without escalating to engineering.
IoT and edge workflowsRun sensor polling, local ML inference, data preprocessing, backups, offline sync, and health checks close to the data source with Web UI visibility.

Quick Start

Install

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/insta
Xem mã nguồn trên GitHub