n8n alternative

A code-first n8n alternative for developers.

Dagu is a self-hosted n8n alternative for teams that would rather keep their automation in version-controlled YAML than build it on a visual canvas. You still get schedules, retries, logs, and a web UI, all from one binary.

Automation as code, not clicks
name: nightly-ops
schedule: "0 2 * * *"

steps:
  - id: extract
    run: python scripts/extract.py

  - id: transform
    run: ./bin/transform
    retry_policy:
      limit: 3
    depends: [extract]

  - id: notify
    run: ./scripts/slack-success.sh
    depends: [transform]

Workflows are version-controlled YAML you keep in git

One self-hosted binary, with no database or Node runtime to run

Steps for shell, Docker, HTTP, SSH, and AI agents

Schedules, retries, logs, and a web UI built in

At a glance

n8n vs. Dagu

Authoring
Dagu

Version-controlled YAML you edit and review in git.

n8n

Visual node canvas configured in a browser UI.

Runtime
Dagu

Single binary with local files; no database required.

n8n

A long-running service plus a database to self-host.

Best fit
Dagu

Code-first scripts, ops jobs, pipelines, and AI agent workflows.

n8n

No-code SaaS app integrations and visual automations.

In depth

Where each tool fits

01

Automation that lives in your repo

A visual node editor is great for wiring SaaS apps together by hand. Code-first teams usually want something different: automation that lives in git, shows up as a clean diff in review, and runs the scripts and binaries they already have.

  • Define every step in YAML and keep it under version control.
  • Review automation changes in an ordinary pull request.
  • Run the commands, scripts, and containers your team already uses.
02

A smaller thing to self-host

Self-hosting a node-based automation platform usually means running a service plus a database and keeping both healthy. Dagu is a single binary backed by local files, so there is far less to keep running.

  • One binary with local file storage, and no external database or broker.
  • Start on one host; move to queued or distributed workers when needed.
  • Keep upgrades and backups simple.
03

Built for scripts, ops, and AI agents

Dagu targets developer and operations automation: scheduled jobs, pipelines, runbooks, and agent tasks, rather than no-code SaaS glue.

  • Executors for shell, Docker, HTTP, SSH, sub-workflows, and agent steps.
  • Dependencies, retries, timeouts, logs, and run history by default.
  • Run Claude, Codex, or another agent CLI inside a workflow step.

FAQ

Practical questions before adopting Dagu

Is Dagu a drop-in replacement for n8n?

No. n8n is a visual, node-based tool for connecting SaaS apps without code. Dagu is a code-first orchestrator: it fits when you want version-controlled YAML and a single self-hosted binary for scripts, containers, cron, and agents, but it is not a drag-and-drop builder and has no SaaS connector marketplace.

Does Dagu have a visual editor?

Dagu ships a web UI for running, inspecting, and monitoring workflows, but workflows are authored in YAML rather than drawn on a canvas. The UI is for operating workflows, not building them.

Can Dagu call APIs and webhooks like n8n?

Yes. Dagu can make HTTP requests, run on schedules, and trigger steps from commands, so API calls and webhook-style flows are possible. It just does not bundle hundreds of prebuilt SaaS integrations the way n8n does; you wire those up with HTTP and CLI steps.

Next step

Start with one workflow.

Install Dagu, move one fragile script or agent task into YAML, and decide from a real run history.