运行轻量
Dagu 是单一二进制文件,不强制依赖数据库、消息代理或控制平面栈。先从一台机器开始,只有在需要时再添加 worker。
Dagu 把脚本、cron 任务、容器、HTTP 任务、SQL 作业和审批整合成一套可见的工作流系统,而不强迫你重写。
引导式安装器会帮你把 Dagu 加入 PATH、配置后台服务并创建首个管理员,让你可以开始运行工作流。
无需 SDK。业务逻辑保持不变。
单一二进制文件,无需数据库或消息代理
运行脚本、容器、SSH 任务和 HTTP 调用
完全离线运行,无需外部服务
默认自托管。现有自动化保持不变。Dagu 在其外围补上监督与运维控制。
Dagu 是单一二进制文件,不强制依赖数据库、消息代理或控制平面栈。先从一台机器开始,只有在需要时再添加 worker。
用可读 YAML 运行调度、依赖、重试、队列、参数、密钥、通知、SSH 步骤、容器步骤、SQL 作业和分布式执行。
你的脚本、服务、SQL、容器和运维命令保持原样。Dagu 在它们外部编排,而不是把框架或 SDK 强行塞进代码库。
每次运行都有状态、日志、历史、耗时和可视化工作流视图,让 job 不再消失在 crontab 和服务器日志里。
部署模型
Dagu 可以本地运行、自托管、使用 managed server,或将云端运维与 private execution 结合为 hybrid 模式。
本地
在一台机器上运行 `dagu start-all`,并使用本地文件保存状态。不需要 database、broker 或 platform stack。
自托管
将 Dagu server、workers、secrets、logs 和 execution 保留在自己的环境中。
Dagu Cloud
使用由 Dagu Cloud 在 GKE isolated gVisor instance 中运营的 dedicated Dagu server。
混合
让 Dagu Cloud 运营 server,同时 private workers 运行 Docker、private-network 或 data-local steps。
Hybrid execution
Hybrid 让 Dagu server 保持托管,同时需要你的 network、runtime 或 data 的 execution 仍由你控制。
团队会先看吞吐量、队列、恢复、治理、API 访问和 worker 执行,再把分散的作业收拢进一个控制面。
根据硬件、工作流形态、步骤耗时和队列配置,在一台机器上每天运行数千次工作流。
通过用户管理、RBAC、workspaces、审批、密钥、REST API、CLI 和 webhooks 运维共享的生产工作流。
用例
这里整理的是一类很实际的运维工作:它们往往从脚本、cron 任务和临时任务开始,随后需要一套人们可以运行和追踪的工作流系统。
Dagu 适合这样一些团队:他们的运维工作已经分散在命令、脚本、容器、SQL 作业、HTTP 任务和远程服务器之间,之后需要一种更清晰的方式来调度、重试、观测和管理这些工作。
保留现有命令,再在外围加上可见性、重试、审批和运行历史。
示例 / 隐藏的 cron 作业
将现有 shell 脚本、Python 脚本、HTTP 调用和定时任务接入 Dagu,无需重写。
隐藏的 cron 体系会变成可见、可重试的工作流,并带有日志、依赖、历史和运维控制。
工作流既足够具体,工程师看得懂;也足够可见,运维人员用得上。
可维护的日常任务
运行 PostgreSQL 或 SQLite 查询、S3 传输、jq 转换、验证步骤和可复用子工作流。
日常数据工作流保持声明式、可观测,并且在某一步失败时容易重试。
分布式媒体处理
在 worker 上运行 ffmpeg、缩略图提取、音频归一化、图像处理和其他重计算任务。
转换任务可以分布式执行,同时状态、历史、日志和产物保存在同一个持久化层中,便于监控、调试和重试。
定时远程任务
编排 SSH 备份、清理任务、部署脚本、补丁窗口、前置检查和生命周期钩子。
远程操作获得调度、重试、通知和逐步日志,恢复时不需要操作员每次都 SSH 到服务器。
容器原生流水线
组合每一步都能运行 Docker 镜像、Kubernetes Job、shell 命令或验证步骤的工作流。
基于镜像的任务可以路由到合适的 worker,而不需要围绕容器自建控制平面。
非工程师也能操作
通过简单的 Web UI 运行诊断、账号修复、数据检查和带审批的支持操作。
非工程师可以运行已审核的工作流,工程师仍能追踪命令、日志和结果。
小设备,可见运行
在小型设备上运行传感器采集、本地清理、离线同步、健康检查和设备维护任务。
单二进制和文件状态适合边缘设备,同时仍能通过 Web UI 提供可见性。
可选的 AI 辅助运维
当模型辅助确实有用时,可运行 AI 编码智能体、智能体 CLI、由智能体编写的 YAML 工作流、日志分析、修复步骤和经人工审核的自动化。
AI 仍然只是工作流里的次要能力,而不会变成驱动一切的主体。
共同点
把脚本、定时 job、服务器任务和受控自动化放进一个工作流引擎。
把现有 shell 脚本、Docker 命令、SSH 任务和 HTTP 调用变成可靠的工作流。
steps:
- name: health-check
command: curl -sf http://app:8080/health
- name: backup
type: ssh
config:
host: db-server
user: admin
command: pg_dump mydb > /backups/daily.sql
- name: notify
type: http
config:
url: "https://hooks.slack.com/..."
method: POST
body: '{"text": "Backup complete"}'
面向 Slack 和 Telegram 的持续上下文 AI 操作员。
调试失败、批准操作,并在不离开对话的情况下处理事故。
Dagu 专注于围绕现有工作的生产层:调度、依赖、重试、日志、队列和受控执行。