The workflow engine that doesn't turn into an SRE project.

Dagu is a lightweight workflow engine that comes with a Web UI. Define any worflows in a simple declarative YAML format. It natively suports shell commands, docker containers, k8s jobs, SSH commands, and more. Self-contained and no DBMS is required.

Dagu wurde für Entwickler entwickelt, die leistungsstarke Workflow-Orchestrierung ohne operativen Mehraufwand möchten.

Linux
macOS
Windows
Docker
Kubernetes
Beispiele ansehen
Live-Demo testen
Anmeldedatendemouser / demouser
dagu start-all --port 8080
dagu-Befehl installieren
$curl -fsSL https://raw.githubusercontent.com/dagucloud/dagu/main/scripts/installer.sh | bash

Eigenständig

Workflows sind dateibasiert. Eine Binary, keine externe Datenbank oder Broker erforderlich. Air-gapped bereit.

CLI-orientiert

Shell-Skripte, Python-Jobs, SQL, dbt, DuckDB, Container und Runbooks laufen als Pipeline-Schritte ohne Änderungen. Kein neues Framework nötig.

Deklarativ

Definieren Sie Workflows in einem einfachen, deklarativen YAML-Format. Sie können vorhandene Skripte oder Tools ohne Änderungen verwenden.

Sichere KI-Agenten-Integration

Nutzen Sie Ihren bevorzugten KI-Agenten, um Workflows zu erstellen, zu verbessern, zu debuggen und auszuführen. Das integrierte Secret-Management verbirgt Zugangsdaten aus Logs und Agenten, lässt sie Aufgaben aber trotzdem sicher vorschauen und ausführen. Vollständiges Audit-Logging gewährleistet Compliance und Transparenz.

Über MCP einrichten
workflow.yaml
# Kontrolliertes Production-Runbook mit typisierten Eingaben und Review
name: "repair-customer-account"

params:
- name: customer_id
type: string
- name: change_scope
type: string
enum: ["metadata_only", "permissions"]
default: metadata_only
- name: dry_run
type: boolean
default: true

steps:
- id: inspect_account
run: ./scripts/inspect-account.sh --customer $${customer_id}
stdout:
artifact: reports/inspection.md

- id: review
action: noop
depends: [inspect_account]
approval:
prompt: "Review the inspection report before repair."

- id: repair_account
run: ./scripts/repair-account.sh --customer $${customer_id} --scope $${change_scope} --dry-run $${dry_run}
depends: [review]
stdout:
artifact: reports/repair.log

Trusted by developers at

1Password
Intel
MongoDB
Baidu
ByteDance
Canonical
Grab
Douban
Debian
NASA / JPL
Gitee
Plaid
Geodis
Aleno
Mambu
Audibene
NINAnor
RUBIX GmbH
cynkra
DataLad
dandi
QNIB Solutions
modoolar
TTT Studios
vital-software
m3dev
Build On Technologies
Dalibo
InfoInnova
infront-quant
gfx-labs
t54-labs
sajo
ANZX
1Password
Intel
MongoDB
Baidu
ByteDance
Canonical
Grab
Douban
Debian
NASA / JPL
Gitee
Plaid
Geodis
Aleno
Mambu
Audibene
NINAnor
RUBIX GmbH
cynkra
DataLad
dandi
QNIB Solutions
modoolar
TTT Studios
vital-software
m3dev
Build On Technologies
Dalibo
InfoInnova
infront-quant
gfx-labs
t54-labs
sajo
ANZX
1Password
Intel
MongoDB
Baidu
ByteDance
Canonical
Grab
Douban
Debian
NASA / JPL
Gitee
Plaid
Geodis
Aleno
Mambu
Audibene
NINAnor
RUBIX GmbH
cynkra
DataLad
dandi
QNIB Solutions
modoolar
TTT Studios
vital-software
m3dev
Build On Technologies
Dalibo
InfoInnova
infront-quant
gfx-labs
t54-labs
sajo
ANZX

KI-Agenten-Gateway

Geben Sie KI-Agenten freigegebene Aktionen, keinen Produktionszugriff.

Dagu stellt private Workflows über MCP bereit, mit begrenzten Berechtigungen, Secrets nur zur Laufzeit, Logs, Historie und Audit-Trails.

KI-Agent

Fordert eine freigegebene Operation an, ohne private Zugangsdaten zu sehen.

Anfrage

Dagu MCP

Erzwingt granulare Zugriffskontrolle, bevor ein Workflow laufen kann.

Freigabe

Freigegebener Workflow

Führt das vertrauenswürdige Skript, den Container, SQL-, HTTP-, SSH- oder Sub-Workflow aus.

Ausführung

Private Systeme

Produktionswerkzeuge und Daten bleiben hinter Dagu, nicht im Kontext des Agenten.

ShellSQLSSH

Agenten fordern über Dagu MCP eine benannte Workflow-Aktion an, statt Shell-, Datenbank- oder API-Zugangsdaten zu erhalten.

Dagu prüft den Zugriff, injiziert Secrets nur zur Laufzeit und kann sensible Workflows für menschliche Freigaben anhalten.

Jeder Lauf behält Logs, Ausgaben, Status, Historie und Audit-Nachweise für Menschen und Agenten.

Begrenzter Zugriff

Stellen Sie nur die Aktionen bereit, die der jeweilige Agent ausführen darf.

Verwaltete Secrets

Injizieren Sie Zugangsdaten zur Laufzeit, ohne sie dem Agenten offenzulegen.

Audit-Trail

Verfolgen Sie, wer oder was jeden Workflow mit welchen Eingaben ausgeführt hat.

Freigaben

Halten Sie riskante Operationen für menschliche Prüfung an.

Sichere Ergebnisse

Geben Sie Status und Ausgaben zurück, ohne Rohzugriff auf Systeme zu öffnen.

Der Agent erhält ein begrenztes Tool. Ihre privaten Systeme behalten Secrets, Logs, Berechtigungen und Betriebshistorie in Dagu.

Das Control Plane rund um Ihre echte Arbeit

Dagu ergänzt Skripte, Tools, Runbooks und AI-Agenten um die fehlende operative Ebene für Teams.

Deployment-Modelle

Betreiben Sie eine self-hosted Instanz, nutzen Sie den verwalteten Dagu-Server, oder kombinieren Sie die Cloud-Kontrollebene mit privaten Workern in Ihrer Infrastruktur.

Starten Sie auf einer Maschine. Skalieren Sie zu self-hosted, managed oder hybrid.

Lokal

Einzelserver

Fuehren Sie `dagu start-all` auf einer Maschine mit lokal dateibasierter State-Speicherung aus. Keine Datenbank, kein Broker, kein Plattform-Stack erforderlich.

Selbst gehostet

Ihre Infrastruktur

Behalten Sie Dagu Server, Workers, Secrets, Logs und Execution in Ihrer eigenen Umgebung.

Dagu

Vollstaendig verwalteter Server

Nutzen Sie einen dedizierten Dagu Server, betrieben von Dagu in einer isolierten gVisor-Instanz auf GKE.

Hybrid

Verwalteter Server, private Ausfuehrung

Dagu betreibt den Server, waehrend Private Workers Docker-, private Netzwerk- oder datenlokale Steps ausfuehren.

Hybrid Execution

Verwalteter Dagu-Server
Private Worker ueber mTLS
Docker, private APIs, Secrets und datenlokale Arbeit

Hybrid haelt den Dagu Server managed, waehrend Execution, die Ihr Netzwerk, Ihre Runtime oder Ihre Daten braucht, unter Ihrer Kontrolle bleibt.

Workflow-Engine-Funktionen für den Produktionsbetrieb

Bewährte Workflow-Engine-Funktionen ermöglichen es Ihnen, sich auf den Kernwert zu konzentrieren, ohne sich um Orchestrierung zu kümmern.

Leistung

Führen Sie Tausende Workflow-Läufe pro Tag auf einer Maschine aus, abhängig von Hardware, Workflow-Form, Schrittdauer und Queue-Einstellungen.

Verteilte Ausführung

Nutze Queues, Concurrency-Limits und verteilte Worker, um Last zu kontrollieren und Jobs über Maschinen zu verteilen.

Benachrichtigungen

Wiederkehrende Zeitpläne, Nachholung, dauerhafte Ausführungen, Timeouts, Neustarts, Benachrichtigungen und Routing von Vorfällen an Verantwortliche.

Auth & RBAC

Benutzerverwaltung, RBAC, Arbeitsbereiche, Genehmigungsschritte, integriertes Secret-Management, API-Schlüssel und Webhooks.

Praxisnahe Anwendungsfälle

01

Customer-Support-Automatisierung

Verwandeln Sie wiederkehrende Engineering-Anfragen in Self-Service-Workflows. Business-Teams führen sie eigenständig aus. Ingenieure bleiben außen vor.

02

Cron- und Legacy-Skript-Management

Bringen Sie bestehende Shell-Skripte, Python-Skripte, HTTP-Aufrufe und geplante Jobs nach Dagu, ohne sie umzuschreiben.

03

Infrastruktur- und Serverautomatisierung

Koordiniere SSH-Backups, Cleanups, Deploy-Skripte, Patch-Fenster, Vorbedingungen und Lifecycle-Hooks.

04

ETL und Datenbetrieb

Führe PostgreSQL- oder SQLite-Abfragen, S3-Transfers, jq-Transformationen, Validierungen und wiederverwendbare Sub-Workflows aus.

05

GitHub als Oberfläche. Ihre Infrastruktur als Runtime.

Lösen Sie Dagu-Ausführungen aus GitHub-Events von Issues und PRs über die verwaltete Dagu GitHub App aus.

06

Container- und Kubernetes-Workflows

Baue Workflows, in denen jeder Schritt ein Docker-Image, einen Kubernetes Job, einen Shell-Befehl oder eine Validierung ausführt.

07

Medienkonvertierung

Führe ffmpeg, Thumbnail-Erzeugung, Audio-Normalisierung, Bildverarbeitung und andere rechenintensive Jobs auf Workern aus.

08

IoT- und Edge-Workflows

Führe Sensorabfragen, lokale Bereinigung, Offline-Sync, Healthchecks und Gerätewartung auf kleinen Geräten aus.

09

KI-Agenten-Workflows

Führen Sie beliebige Harnesses aus, um bestimmte Entwicklungsworkflows mit sauberem Kontext und automatischem Retry und Failover zu automatisieren.

Häufige Muster

Health Check
SSH Backup
Notify

Private Skript-Workflows

Machen Sie private Skripte, interne CLIs, wiederverwendbare Actions, gepinnte Tools und Artefakte zu Workflows, die andere Teams sicher anfordern oder ausführen können.

  • 1Bestehende Skripte und Befehle bleiben intakt
  • 2Enge Parameter statt breitem Produktionszugriff freigeben
  • 3Versionierte Dagu Actions mit typisierten Outputs aufrufen
  • 4Berichte und Logs als erstklassige Artefakte speichern
workflow.yaml
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}' ${collect.outputs.path}
    stdout:
      artifact: reports/customers.json
    depends: [collect]

  - id: publish
    action: outputs.write
    with:
      values:
        report: reports/customers.json
        rows: ${collect.outputs.rows}
    depends: [transform]

Typisierte Parameter

Dagu rendert sie automatisch als typisiertes Parametereingabeformular in der Web-Oberfläche — nützlich für Self-Service-Workflows oder den Betrieb durch Nicht-Ingenieure.

workflow.yaml
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"])}

Für die Tool-Bereitstellung nutzt Dagu standardmäßig aqua.

Multiplayer-KI-Agent in Slack

Der KI-Agent in Slack hilft Ihnen, Ihre Workflows zu verwalten,Fehler zu debuggen und Vorfälle zu beheben.

DaguDagu
Nachricht...

Vollständige Workflow-Funktionen

Dagu ist mit produktionsreifen Workflow-Engine-Funktionen ausgestattet.

Geliebt von Entwicklern

Echte Kommentare aus der Dagu-GitHub-Community.

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

#827

Dagu is really a gem in the open source world! ❤️ What a release — with GitHub Actions as well. Thanks guys.

@borestad

Elk Studios

#1313

Dagu is an amazing tool!! It works perfectly now, thank you so much! 💖

@jarnik

Freelance developer

#1294

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

#1814

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

#1130

I've recently played around with Dagu for private stuff and think it could also be worth introducing at work.

@DarkWiiPlayer

Developer

#924

Awesome, it works like a charm! I second the update of the doc on this one.

@thibmart1

Developer

#1320

That's very impressive. The exit code dictionary will make these DAGs even further sophisticated. Once again, very good features. 🫡

@ghansham

Developer

#1076

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

#827

Dagu is really a gem in the open source world! ❤️ What a release — with GitHub Actions as well. Thanks guys.

@borestad

Elk Studios

#1313

Dagu is an amazing tool!! It works perfectly now, thank you so much! 💖

@jarnik

Freelance developer

#1294

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

#1814

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

#1130

I've recently played around with Dagu for private stuff and think it could also be worth introducing at work.

@DarkWiiPlayer

Developer

#924

Awesome, it works like a charm! I second the update of the doc on this one.

@thibmart1

Developer

#1320

That's very impressive. The exit code dictionary will make these DAGs even further sophisticated. Once again, very good features. 🫡

@ghansham

Developer

#1076

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

#827

Dagu is really a gem in the open source world! ❤️ What a release — with GitHub Actions as well. Thanks guys.

@borestad

Elk Studios

#1313

Dagu is an amazing tool!! It works perfectly now, thank you so much! 💖

@jarnik

Freelance developer

#1294

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

#1814

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

#1130

I've recently played around with Dagu for private stuff and think it could also be worth introducing at work.

@DarkWiiPlayer

Developer

#924

Awesome, it works like a charm! I second the update of the doc on this one.

@thibmart1

Developer

#1320

That's very impressive. The exit code dictionary will make these DAGs even further sophisticated. Once again, very good features. 🫡

@ghansham

Developer

#1076

I love how simple this is now.

@n3storm

Estudio Nexos

#1593

Fantastic! Thanks for the quick reply — keep up the great project!

@mitchplze

Developer

#1359

Amazing support! Thank you!

@kacamific

Developer

#760

It works perfectly with v2.6.1. Thank you very much for the correction.

@napnap75

Developer

#1638

Thanks for the fix. Works great now.

@triole

Developer

#831

As always, appreciate the great work — just sharing feedback to help shape the roadmap.

@jonnochoo

Developer

#770

it's awesome you keep working on it 👍

@fishnux

Developer

#328

Thank you so much for the quick fix! I tested it, and it now correctly stores the files where it should.

@IngwiePhoenix

Developer

#423

I love how simple this is now.

@n3storm

Estudio Nexos

#1593

Fantastic! Thanks for the quick reply — keep up the great project!

@mitchplze

Developer

#1359

Amazing support! Thank you!

@kacamific

Developer

#760

It works perfectly with v2.6.1. Thank you very much for the correction.

@napnap75

Developer

#1638

Thanks for the fix. Works great now.

@triole

Developer

#831

As always, appreciate the great work — just sharing feedback to help shape the roadmap.

@jonnochoo

Developer

#770

it's awesome you keep working on it 👍

@fishnux

Developer

#328

Thank you so much for the quick fix! I tested it, and it now correctly stores the files where it should.

@IngwiePhoenix

Developer

#423

I love how simple this is now.

@n3storm

Estudio Nexos

#1593

Fantastic! Thanks for the quick reply — keep up the great project!

@mitchplze

Developer

#1359

Amazing support! Thank you!

@kacamific

Developer

#760

It works perfectly with v2.6.1. Thank you very much for the correction.

@napnap75

Developer

#1638

Thanks for the fix. Works great now.

@triole

Developer

#831

As always, appreciate the great work — just sharing feedback to help shape the roadmap.

@jonnochoo

Developer

#770

it's awesome you keep working on it 👍

@fishnux

Developer

#328

Thank you so much for the quick fix! I tested it, and it now correctly stores the files where it should.

@IngwiePhoenix

Developer

#423

Quickstart

Installiere Dagu mit dem geführten Installer und geh dann im vollständigen Installationsleitfaden oder Quickstart weiter.

1

dagu-Befehl installieren

Die Skript-Installer sind der empfohlene Weg. Homebrew, npm und Docker bleiben verfuegbar, installieren aber nur das Binary oder den Container.

Mac/Linux Terminal
$curl -fsSL https://raw.githubusercontent.com/dagucloud/dagu/main/scripts/installer.sh | bash
✓ Geführter Installer bereit
Optional

KI-Tools verbinden

Installieren Sie den Dagu-Skill für Workflow-Autoren, oder verbinden Sie einen MCP-Client mit einem laufenden Dagu-Server.

Dagu-Skill
$gh skill install dagucloud/dagu dagu

Hilft Claude Code, Codex, Gemini CLI und anderen KI-Coding-Tools beim Schreiben von Dagu YAML.

Dagu MCP-Endpunkt
URLhttp://localhost:8080/mcp

Erlaubt MCP-fähigen Clients, Dagu-Zustand zu lesen, Änderungen zu prüfen und DAG-Läufe zu steuern.

MCP-Zugriff mit OIDC/SSO ist für Enterprise-Deployments verfügbar. Kontaktieren Sie uns, um die Einrichtung zu besprechen.

2

Nächste Schritte

Der geführte Installer kann die Ersteinrichtung für dich abschließen.

# Was der Installer erledigen kann
Dagu zum PATH hinzufügen
Einen Hintergrunddienst einrichten
Den ersten Administrator anlegen und prüfen

Projekt-Community

Nutzung besprechen, Issues melden und die Entwicklung verfolgen.

Solution Partner

Solution-Partner-Support für Kundenprojekte

Für Teams, die Dagu in kundennahe Produkte, interne Plattformen oder Managed Services einbetten, bieten wir Enterprise-Funktionen und praktische Integrationsunterstützung.

Wir helfen Partnern beim Design von Sicherheitsmodell, Integrationspfad und Betriebsplan, damit Dagu sauber in Kundenprojekte passt, ohne breiten Produktionszugriff zu vergeben.

Kontakt aufnehmen

Enterprise OIDC/SSO und Zugriffskontrolle

MCP-Support für Agenten- und Kunden-Workflows

Architektur-Review für Self-Hosted-, Managed- oder Hybrid-Deployments

Setup für private Worker, Secrets und netzwerkgebundene Ausführung

Migration von Skripten und Runbooks in kundenorientierte Workflows

Dedizierter Support von Projektumsetzung bis Produktionsstart