Skip to content

Configurations ​

Deploy, configure, and operate Dagu.

Configuration Methods ​

Precedence order:

  1. Command-line flags (highest)
  2. Environment variables (DAGU_ prefix)
  3. Configuration file (lowest)
bash
# Port 9000 wins
dagu start-all --port 9000

# Despite env var
export DAGU_PORT=8080

# And config file
port: 7000

Quick Start ​

Development ​

bash
# Zero config
dagu start-all

Production ​

yaml
# ~/.config/dagu/config.yaml
host: 0.0.0.0
port: 8080

auth:
  mode: basic
  basic:
    username: admin
    password: ${ADMIN_PASSWORD}

paths:
  dags_dir: /opt/dagu/workflows
  wiki_dir: /opt/dagu/workflows/wiki
  log_dir: /var/log/dagu

Docker ​

bash
docker run -d \
  -e DAGU_HOST=0.0.0.0 \
  -e DAGU_AUTH_BASIC_USERNAME=admin \
  -e DAGU_AUTH_BASIC_PASSWORD=secret \
  -p 8080:8080 \
  ghcr.io/dagucloud/dagu:latest

Topics ​

Monitoring in Dagu Console (Beta)

  • Every server's health, runs, and trends in one place
  • Email when a workflow fails or a server stops reporting
  • Opt-in, outbound HTTPS only, metadata only

Configuration

  • Config file, environment variables, and precedence
  • DAGU_HOME and path defaults
  • Wiki and runbook storage
  • Persistent state directory configuration

Server Configuration

  • Host, port, authentication
  • TLS/HTTPS setup
  • UI customization

Base Configuration

  • Shared DAG defaults
  • Lifecycle handlers
  • Email notifications

Notifications

  • Reusable Microsoft Teams, Slack, email, Telegram, webhook, and local command channels
  • Global and workspace notification rules
  • License requirements for team notification routing

Incident Routing

  • Reusable PagerDuty and SolarWinds Incident Response connections
  • Global, workspace, and DAG incident routes
  • License requirements for team incident routing

Operations

  • Running as a service
  • Monitoring and metrics
  • Logging and alerting

Git Sync

  • Synchronize DAGs and their supporting files
  • Review, publish, and resolve repository changes
  • Configure read-only branch promotion

Remote Nodes

  • Configure remote instances
  • Multi-node setup

Tunnel (Tailscale)

  • Remote access without port forwarding
  • Tailscale integration

Distributed Execution

  • Coordinator and worker setup
  • Service registry configuration
  • Worker labels and routing

Configuration Reference

  • All options
  • Environment variables
  • Examples

Common Configurations ​

Production ​

yaml
host: 127.0.0.1
port: 8080

tls:
  cert_file: /etc/ssl/cert.pem
  key_file: /etc/ssl/key.pem

auth:
  mode: basic
  basic:
    username: admin
    password: ${ADMIN_PASSWORD}

permissions:
  write_dags: false  # Read-only
  run_dags: true

ui:
  navbar_color: "#FF0000"
  navbar_title: "Production"

Development ​

yaml
host: 127.0.0.1
port: 8080
debug: true

auth:
  mode: none

Environment Variables ​

bash
# Server
export DAGU_HOST=0.0.0.0
export DAGU_PORT=8080

# Paths
export DAGU_DAGS_DIR=/opt/workflows
export DAGU_WIKI_DIR=/opt/workflows/wiki
export DAGU_LOG_DIR=/var/log/dagu

# Auth
export DAGU_AUTH_BASIC_USERNAME=admin
export DAGU_AUTH_BASIC_PASSWORD=secret

dagu start-all

See Also ​

Dagu is open source under the GNU General Public License v3.0.