Dagu

Powerful Cron alternative with a Web UI. It allows you to define dependencies between commands as a Directed Acyclic Graph (DAG) in a declarative YAML format.

Directory Structure

    • .env
    • docker-compose.yml

docker-compose.yml

version: "3.9"
 
services:
    # init container updates permission
    init:
        image: "ghcr.io/dagu-org/dagu:latest"
        user: root
        volumes:
            - dagu_config:/home/dagu/.config/dagu
            - dagu_data:/home/dagu/.local/share
        command: chown -R dagu /home/dagu/.config/dagu/ /home/dagu/.local/share
    # ui server process
    server:
        image: "ghcr.io/dagu-org/dagu:latest"
        environment:
            - DAGU_PORT=8080
        restart: unless-stopped
        ports:
            - "8080:8080"
        volumes:
            - dagu_config:/home/dagu/.config/dagu
            - dagu_data:/home/dagu/.local/share
        depends_on:
            - init
    # scheduler process
    scheduler:
        image: "ghcr.io/dagu-org/dagu:latest"
        restart: unless-stopped
        volumes:
            - ./dagu_config:/home/dagu/.config/dagu
            - ./dagu_data:/home/dagu/.local/share
        command: dagu scheduler
        depends_on:
            - init

Resources

Website: https://dagu.readthedocs.io/

GitHub: https://github.com/dagu-org/dagu

GitHub Container Registry: https://github.com/orgs/dagu-org/packages/container/package/dagu

Configuration: https://dagu.readthedocs.io/en/latest/docker-compose.html