Cliente MCP
Solicita uma operação aprovada sem receber credenciais privadas.
Dagu é uma alternativa leve ao Airflow ou Cron com interface web. Defina DAGs em um formato YAML declarativo simples. Suporta comandos shell, contêineres Docker, jobs k8s, comandos remotos via SSH e muito mais. Foi projetado para ser fácil de usar, autocontido e não exigir programação, tornando-o ideal para equipes pequenas.
Dagu é feito para desenvolvedores que querem orquestração de workflows poderosa sem a sobrecarga operacional.
# runs every night at 02:00schedule: "0 2 * * *"steps:- name: fetch datacommand: python fetch.pyretryPolicy:limit: 3- name: build reportcommand: python report.py- name: notifycommand: ./notify.sh
Trusted by developers at
Defina workflows em YAML simples. Instale com um comando e publique seu primeiro DAG em minutos.
Feito para produção: retries, timeouts, alertas e logs completos de cada execução.
GPLv3, guiado pela comunidade e construído abertamente. Sem caixas-pretas na sua infraestrutura.
Agendas, status e logs vivem em uma única Web UI. Dispare uma execução, acompanhe cada step e leia a saída sem sair do navegador.
| Name | Schedule | Status | Last Run | |
|---|---|---|---|---|
| daily-report | 0 2 * * * | Success | 2m ago | |
| data-sync | */15 * * * * | Success | 7m ago | |
| cleanup | 0 3 * * 0 | Success | 1h ago | |
| weekly-summary | 0 4 * * 1 | Running | Now |
Clientes compatíveis com MCP e autorizados podem inspecionar e solicitar operações de DAG pelo Dagu. Sistemas privados ficam atrás de uma fronteira de segurança: o Dagu injeta credenciais em tempo de execução e não as passa ao cliente MCP.
Solicita uma operação aprovada sem receber credenciais privadas.
Aplica controle de acesso granular antes de qualquer workflow rodar.
Executa o script, contêiner, SQL, HTTP, SSH ou sub-workflow que você já confia.
Ferramentas e dados de produção ficam atrás do Dagu, não dentro do contexto do cliente.
Clientes compatíveis com MCP solicitam ações nomeadas de workflow pelo Dagu MCP em vez de receber credenciais de shell, banco de dados ou API.
Dagu verifica acesso, injeta segredos apenas em tempo de execução e pode pausar workflows sensíveis para aprovação humana.
Cada execução mantém logs, saídas, status, histórico e evidências de auditoria para pessoas e clientes MCP.
Expõe apenas as ações que cada cliente MCP tem permissão para executar.
Injeta credenciais em tempo de execução sem passá-las ao cliente MCP.
Registra quem ou o que solicitou cada workflow e com quais entradas.
Pause operações de alto risco para revisão humana.
Retorna status e saídas sem abrir acesso bruto ao sistema.
O agente recebe uma ferramenta limitada. Seus sistemas privados mantêm segredos, logs, permissões e histórico operacional no Dagu.
O Dagu oferece às equipes a camada operacional que falta para scripts, ferramentas, runbooks e workflows do Agent Harness.
Acompanhe workflows, agendamentos, status ao vivo, logs, histórico de execuções, saídas, artefatos e aprovações na Web UI.
Execute comandos shell, scripts Python, containers, Jobs do Kubernetes, consultas SQL, requisições HTTP, comandos SSH e muito mais.
Fixe ferramentas no YAML do workflow para que os workers instalem e armazenem em cache os binários esperados antes da execução.
Execute etapas do Agent Harness e exponha workflows aos agentes por meio do MCP.
Pause etapas sensíveis para revisão, confirmação ou intervenção humana antes que a execução continue.
Permita que agentes compatíveis com MCP inspecionem o estado do Dagu, visualizem alterações, editem workflows e controlem execuções.
Execute CLIs de agentes externos a partir dos workflows mantendo logs, aprovações, secrets e histórico de auditoria no Dagu.
Injete secrets nas execuções de workflows e mascare valores sensíveis nos logs para usuários, agentes e ferramentas de chat.
Execute um único binário, faça deploy com containers ou Kubernetes, ou use modelos de deployment gerenciados e híbridos.
Use RBAC, SSO, chaves de API, controles de workspace e logs de auditoria para governar o acesso aos workflows.
Modelos de deployment
Execute uma instância auto-hospedada, use o servidor gerenciado do Dagu, ou combine o plano de controle na nuvem com workers privados em sua infraestrutura.
Local
Execute `dagu start-all` em uma maquina com estado local baseado em arquivos. Sem database, broker ou platform stack.
Auto-hospedado
Mantenha Dagu server, workers, secrets, logs e execution dentro do seu proprio ambiente.
Dagu
Use um Dagu server dedicado operado pelo Dagu em uma instancia gVisor isolada no GKE.
Hibrido
Deixe o Dagu operar o server enquanto private workers executam Docker, private-network ou data-local steps.
Execução híbrida
Hybrid mantem o Dagu server gerenciado enquanto a execution que precisa da sua network, runtime ou data fica sob seu controle.
Funcionalidades de motor de workflow battle-tested permitem que você foque no valor central sem se preocupar com orquestração.
Execute milhares de workflows por dia em uma máquina, dependendo do hardware, do formato do workflow, da duração das etapas e das configurações de filas.
Use filas, limites de concorrência e workers distribuídos para controlar carga e espalhar jobs entre máquinas.
Agendamentos recorrentes, catchup, execuções duráveis, timeouts, reexecuções, notificações e roteamento de incidentes para responsáveis.
Gerenciamento de usuários, RBAC, workspaces, etapas de aprovação, gerenciamento de segredos integrado, chaves de API e webhooks.
Transforme requisições repetitivas em workflows de autoatendimento. As equipes de negócio os executam de forma independente. Os engenheiros ficam fora do processo.
Leve scripts shell, scripts Python, chamadas HTTP e jobs agendados existentes para o Dagu sem reescrevê-los.
Coordene backups via SSH, limpezas, scripts de deploy, janelas de patch, pré-condições e hooks de ciclo de vida.
Execute consultas PostgreSQL ou SQLite, transferências S3, transformações jq, validações e sub-workflows reutilizáveis.
Componha workflows em que cada etapa pode executar uma imagem Docker, um Job Kubernetes, um comando shell ou uma validação.
Execute ffmpeg, extração de thumbnails, normalização de áudio, processamento de imagens e outros jobs pesados em workers.
Execute leitura de sensores, limpeza local, sincronização offline, health checks e manutenção em dispositivos pequenos.
Execute qualquer harness para automatizar fluxos de trabalho de desenvolvimento específicos com contexto limpo e retry e failover automáticos.
Transforme scripts privados, CLIs internos, actions reutilizáveis, ferramentas fixadas e artefatos em workflows que outras equipes podem solicitar ou executar com segurança.
tools:
- jqlang/jq@jq-1.7.1
steps:
- id: collect
action: acme/dagu-action-export@v1.4.2
with:
dataset: customers
- id: transform
run: jq '.items[] | {id, email}' ${steps.collect.outputs.path}
stdout:
artifact: reports/customers.json
depends: [collect]
- id: publish
action: outputs.write
with:
values:
report: reports/customers.json
rows: ${steps.collect.outputs.rows}
depends: [transform]
O Dagu os renderiza automaticamente como um formulário de entrada de parâmetros tipados na interface web, útil para criar workflows de autoatendimento ou operação por não-engenheiros.
tools:
- jqlang/jq@jq-1.7.1
steps:
- id: inspect
run: jq --version
- id: summarize
action: python-script@v1
with:
input:
rows: [42, 8]
script: |
return {"total": sum(input["rows"])}
Para preparar ferramentas, o Dagu usa aqua como provedor padrão.
Declare ferramentas CLI e versões em YAML. O Dagu prepara tudo antes das etapas de comando no host.
Saiba maisUse Dagu Actions oficiais como Python ou NodeJS, ou construa seu próprio pacote de actions para executar seu workflow com as ferramentas e dependências necessárias.
Saiba maisGerencie artefatos em execuções de DAG e visualize / baixe na interface web.
Saiba maisConfigure notificações para cada workflow para que os eventos necessários cheguem ao canal certo.
Saiba maisO Dagu está equipado com funcionalidades de motor de workflow de nível produção.
Comentários reais da comunidade GitHub do Dagu.
Ultimamente venho procurando uma alternativa para workflows dinâmicos de agentes. Comecei pela linha do Temporal. O Temporal é poderoso, mas se você só quer encadear dinamicamente agentes, scripts, processamento de dados e tarefas de operações, o sistema inteiro às vezes parece pesado demais. Então encontrei o Dagu e senti que a direção estava certa. Roda com um único binário, os fluxos são escritos em YAML, tudo é gerenciado em arquivos locais, vem com interface web e não precisa subir DB nem broker extra. Também tem muitas ações embutidas: shell, Docker, K8s Jobs, SSH — está tudo lá. Uma boa surpresa foi o harness.run, que permite plugar CLIs de coding agents externos direto no fluxo. O que eu gosto: o fluxo em si é um arquivo, e estado, logs, novas tentativas, dependências e interface já vêm resolvidos. Para times pequenos, ambientes privados, automação pessoal e workflows de agentes, o caminho local-first do Dagu é realmente confortável.
This is literally my dream project. I have set up GitLab at some point just to run some commands and this project is perfect for all my use case. Thank you very much!
@vnghia
Developer
Dagu is really a gem in the open source world! ❤️ What a release — with GitHub Actions as well. Thanks guys.
@borestad
Elk Studios
Dagu is an amazing tool!! It works perfectly now, thank you so much! 💖
@jarnik
Freelance developer
I've been exploring Dagu for a few weeks and really love the Zero-Ops philosophy. The declarative YAML approach is exactly what the workflow orchestration space needs.
@vincent067
Developer
Amazing! I did not expect this to be delivered that fast! Multiple schedulers do not compete and the locking mechanism works as expected. Good job!
@jonasban
Developer
I've recently played around with Dagu for private stuff and think it could also be worth introducing at work.
@DarkWiiPlayer
Developer
Awesome, it works like a charm! I second the update of the doc on this one.
@thibmart1
Developer
That's very impressive. The exit code dictionary will make these DAGs even further sophisticated. Once again, very good features. 🫡
@ghansham
Developer
This is literally my dream project. I have set up GitLab at some point just to run some commands and this project is perfect for all my use case. Thank you very much!
@vnghia
Developer
Dagu is really a gem in the open source world! ❤️ What a release — with GitHub Actions as well. Thanks guys.
@borestad
Elk Studios
Dagu is an amazing tool!! It works perfectly now, thank you so much! 💖
@jarnik
Freelance developer
I've been exploring Dagu for a few weeks and really love the Zero-Ops philosophy. The declarative YAML approach is exactly what the workflow orchestration space needs.
@vincent067
Developer
Amazing! I did not expect this to be delivered that fast! Multiple schedulers do not compete and the locking mechanism works as expected. Good job!
@jonasban
Developer
I've recently played around with Dagu for private stuff and think it could also be worth introducing at work.
@DarkWiiPlayer
Developer
Awesome, it works like a charm! I second the update of the doc on this one.
@thibmart1
Developer
That's very impressive. The exit code dictionary will make these DAGs even further sophisticated. Once again, very good features. 🫡
@ghansham
Developer
This is literally my dream project. I have set up GitLab at some point just to run some commands and this project is perfect for all my use case. Thank you very much!
@vnghia
Developer
Dagu is really a gem in the open source world! ❤️ What a release — with GitHub Actions as well. Thanks guys.
@borestad
Elk Studios
Dagu is an amazing tool!! It works perfectly now, thank you so much! 💖
@jarnik
Freelance developer
I've been exploring Dagu for a few weeks and really love the Zero-Ops philosophy. The declarative YAML approach is exactly what the workflow orchestration space needs.
@vincent067
Developer
Amazing! I did not expect this to be delivered that fast! Multiple schedulers do not compete and the locking mechanism works as expected. Good job!
@jonasban
Developer
I've recently played around with Dagu for private stuff and think it could also be worth introducing at work.
@DarkWiiPlayer
Developer
Awesome, it works like a charm! I second the update of the doc on this one.
@thibmart1
Developer
That's very impressive. The exit code dictionary will make these DAGs even further sophisticated. Once again, very good features. 🫡
@ghansham
Developer
I love how simple this is now.
@n3storm
Estudio Nexos
Fantastic! Thanks for the quick reply — keep up the great project!
@mitchplze
Developer
Amazing support! Thank you!
@kacamific
Developer
It works perfectly with v2.6.1. Thank you very much for the correction.
@napnap75
Developer
Thanks for the fix. Works great now.
@triole
Developer
As always, appreciate the great work — just sharing feedback to help shape the roadmap.
@jonnochoo
Developer
it's awesome you keep working on it 👍
@fishnux
Developer
Thank you so much for the quick fix! I tested it, and it now correctly stores the files where it should.
@IngwiePhoenix
Developer
I love how simple this is now.
@n3storm
Estudio Nexos
Fantastic! Thanks for the quick reply — keep up the great project!
@mitchplze
Developer
Amazing support! Thank you!
@kacamific
Developer
It works perfectly with v2.6.1. Thank you very much for the correction.
@napnap75
Developer
Thanks for the fix. Works great now.
@triole
Developer
As always, appreciate the great work — just sharing feedback to help shape the roadmap.
@jonnochoo
Developer
it's awesome you keep working on it 👍
@fishnux
Developer
Thank you so much for the quick fix! I tested it, and it now correctly stores the files where it should.
@IngwiePhoenix
Developer
I love how simple this is now.
@n3storm
Estudio Nexos
Fantastic! Thanks for the quick reply — keep up the great project!
@mitchplze
Developer
Amazing support! Thank you!
@kacamific
Developer
It works perfectly with v2.6.1. Thank you very much for the correction.
@napnap75
Developer
Thanks for the fix. Works great now.
@triole
Developer
As always, appreciate the great work — just sharing feedback to help shape the roadmap.
@jonnochoo
Developer
it's awesome you keep working on it 👍
@fishnux
Developer
Thank you so much for the quick fix! I tested it, and it now correctly stores the files where it should.
@IngwiePhoenix
Developer
Dagu é GPLv3 e gratuito para sempre. Considere adquirir licenças para apoiar a sustentabilidade do código aberto. A licença paga habilita recursos úteis para uso em equipe.
3 licenças de servidor Dagu self-host
15 licenças de servidor Dagu self-host
Para equipes que constroem infraestrutura de workflows orientados a eventos em ambientes complexos
Soluções personalizadas
Desenvolvemos funcionalidades sob medida para as necessidades específicas de cada empresa.
Soluções prontas para uso
Criamos configurações prontas para uso que ajudam as equipes a escalar o Dagu facilmente sem consumir enormes recursos técnicos ou de servidor.
Crie uma licença self-host de teste de 14 dias em minutos — 14 dias, Sem cartao de credito. Iniciar teste gratuito da licença
À medida que o projeto cresce, gerenciá-lo exige mais tempo e recursos. Para garantir que o Dagu prospere a longo prazo, estamos explorando aos poucos formas de tornar o projeto financeiramente sustentável.
Nosso objetivo é construir um modelo de negócio que financie o desenvolvimento do núcleo sem restringir os recursos que você já adora.
Queremos construir esse futuro com você. Se tiver ideias, feedback ou quiser compartilhar por quais recursos sua equipe pagaria, deixe-os no canal #feedback. Obrigado por ser uma comunidade incrível! 🚀
Solution partner focus
Work with the Dagu team on deployment, security, scale, and workflow design for production use cases.
Dagu is most useful when it wraps real operational work: scripts, containers, SQL, API calls, approvals, and Agent Harness workflows.
Instale o Dagu com o assistente guiado e depois siga para o guia completo de instalação ou para o quickstart.
Os instaladores por script sao o caminho recomendado. Homebrew, npm e Docker continuam disponiveis, mas fazem apenas a instalacao do binario ou do conteiner.
Instale o skill do Dagu para autoria de workflows, ou conecte um cliente MCP a um servidor Dagu em execução.
Ajuda Claude Code, Codex, Gemini CLI e outras ferramentas de programação com IA a escrever YAML do Dagu.
Permite que clientes compatíveis com MCP leiam o estado do Dagu, visualizem mudanças e controlem execuções DAG.
O acesso MCP com OIDC/SSO está disponível para implantações empresariais. Entre em contato para discutir a configuração.
O instalador guiado pode concluir a configuração inicial para você.
Contato
Adoraríamos ouvir você.