Configurations
Deploy, configure, and operate Dagu.
Configuration Methods
Precedence order:
- Command-line flags (highest)
- Environment variables (
DAGU_
prefix) - 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:
basic:
enabled: true
username: admin
password: ${ADMIN_PASSWORD}
paths:
dagsDir: /opt/dagu/workflows
logDir: /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/dagu-org/dagu:latest
Topics
- Host, port, authentication
- TLS/HTTPS setup
- UI customization
- Running as a service
- Monitoring and metrics
- Logging and alerting
- Remote nodes
- Queue management
- Coordinator and worker setup
- Service discovery configuration
- Worker labels and routing
- All options
- Environment variables
- Examples
Common Configurations
Production
yaml
host: 127.0.0.1
port: 8080
tls:
certFile: /etc/ssl/cert.pem
keyFile: /etc/ssl/key.pem
auth:
basic:
enabled: true
username: admin
password: ${ADMIN_PASSWORD}
permissions:
writeDAGs: false # Read-only
runDAGs: true
ui:
navbarColor: "#FF0000"
navbarTitle: "Production"
Development
yaml
host: 127.0.0.1
port: 8080
debug: true
auth:
basic:
enabled: false
Environment Variables
bash
# Server
export DAGU_HOST=0.0.0.0
export DAGU_PORT=8080
# Paths
export DAGU_DAGS_DIR=/opt/workflows
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
- Set up authentication for production
- Configure monitoring for visibility
- Integrate with CI/CD for automation
- Review all options for fine-tuning