[PR #1031] Add Dagu template #16339

Open
opened 2026-07-14 23:19:44 -05:00 by GiteaMirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/Dokploy/templates/pull/1031
Author: @knowsuchagency
Created: 7/14/2026
Status: 🔄 Open

Base: canaryHead: add-dagu-template


📝 Commits (1)

📊 Changes

4 files changed (+59 additions, -0 deletions)

View changed files

blueprints/dagu/docker-compose.yml (+25 -0)
blueprints/dagu/logo.png (+0 -0)
blueprints/dagu/meta.json (+19 -0)
blueprints/dagu/template.toml (+15 -0)

📄 Description

Description

Adds a blueprint for Dagu — a self-contained workflow engine with a Web UI. It's a lighter alternative to Airflow/cron: workflows are defined as DAGs in declarative YAML, and it needs no DBMS or external dependencies.

Pinned to ghcr.io/dagucloud/dagu:2.10.7 (current release).

Configuration notes

  • DAGU_HOST=0.0.0.0 — Dagu binds to 127.0.0.1 by default, so this is required for the reverse proxy to reach it.
  • Basic auth is enabled by default (DAGU_AUTH_MODE=basic) with user admin and a per-deploy password generated via ${password:32}. No credentials are hardcoded.
  • Persistence/var/lib/dagu (DAGs, logs, run history) is kept in a named volume.

Testing

Tested against a live Dokploy deployment (raw compose import), and the exact compose file in this PR was verified locally:

  • Container starts healthy and logs Server is starting addr=0.0.0.0:8080.
  • Web UI reachable over HTTPS through the proxy on the assigned domain.
  • Basic auth enforced on the API and /mcp: /api/v1/* and /mcp return 401 WWW-Authenticate: Basic realm="restricted" without credentials, 200 with them. (The static SPA shell at / is served unauthenticated, as usual for a SPA — the data plane is what's protected.)
  • Volume persistence verified: created a DAG via the API, restarted the container, and confirmed it survived in /var/lib/dagu/dags/.

Format

Follows the blueprint format — service name, folder name, and meta.json id are all dagu; compose is v3.8 with no ports/container_name/custom networks; per-blueprint meta.json only (no root meta.json touched).

Validators run, all passing:

  • node build-scripts/generate-meta.js --check490 templates validated
  • tsx build-scripts/validate-template.ts --dir blueprints/dagu → valid
  • tsx build-scripts/validate-docker-compose.ts --file blueprints/dagu/docker-compose.yml → valid

Dagu publishes no official SVG (only raster art), so logo.png is the official logo from dagu.sh, resized to 512x512 with transparency preserved (~8 KB) — matching the existing logo.png convention used by most blueprints.


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/Dokploy/templates/pull/1031 **Author:** [@knowsuchagency](https://github.com/knowsuchagency) **Created:** 7/14/2026 **Status:** 🔄 Open **Base:** `canary` ← **Head:** `add-dagu-template` --- ### 📝 Commits (1) - [`0beb68a`](https://github.com/Dokploy/templates/commit/0beb68a228750b15959374041a7f92d49b0516f9) feat: add dagu blueprint ### 📊 Changes **4 files changed** (+59 additions, -0 deletions) <details> <summary>View changed files</summary> ➕ `blueprints/dagu/docker-compose.yml` (+25 -0) ➕ `blueprints/dagu/logo.png` (+0 -0) ➕ `blueprints/dagu/meta.json` (+19 -0) ➕ `blueprints/dagu/template.toml` (+15 -0) </details> ### 📄 Description ## Description Adds a blueprint for [Dagu](https://github.com/dagucloud/dagu) — a self-contained workflow engine with a Web UI. It's a lighter alternative to Airflow/cron: workflows are defined as DAGs in declarative YAML, and it needs no DBMS or external dependencies. Pinned to `ghcr.io/dagucloud/dagu:2.10.7` (current release). ## Configuration notes - **`DAGU_HOST=0.0.0.0`** — Dagu binds to `127.0.0.1` by default, so this is required for the reverse proxy to reach it. - **Basic auth is enabled by default** (`DAGU_AUTH_MODE=basic`) with user `admin` and a per-deploy password generated via `${password:32}`. No credentials are hardcoded. - **Persistence** — `/var/lib/dagu` (DAGs, logs, run history) is kept in a named volume. ## Testing Tested against a live Dokploy deployment (raw compose import), and the exact compose file in this PR was verified locally: - Container starts healthy and logs `Server is starting addr=0.0.0.0:8080`. - Web UI reachable over HTTPS through the proxy on the assigned domain. - Basic auth enforced on the API and `/mcp`: `/api/v1/*` and `/mcp` return `401 WWW-Authenticate: Basic realm="restricted"` without credentials, `200` with them. (The static SPA shell at `/` is served unauthenticated, as usual for a SPA — the data plane is what's protected.) - Volume persistence verified: created a DAG via the API, restarted the container, and confirmed it survived in `/var/lib/dagu/dags/`. ## Format Follows the blueprint format — service name, folder name, and `meta.json` `id` are all `dagu`; compose is v3.8 with no `ports`/`container_name`/custom networks; per-blueprint `meta.json` only (no root `meta.json` touched). Validators run, all passing: - `node build-scripts/generate-meta.js --check` → `490 templates validated` - `tsx build-scripts/validate-template.ts --dir blueprints/dagu` → valid - `tsx build-scripts/validate-docker-compose.ts --file blueprints/dagu/docker-compose.yml` → valid ## Logo Dagu publishes no official SVG (only raster art), so `logo.png` is the official logo from dagu.sh, resized to 512x512 with transparency preserved (~8 KB) — matching the existing `logo.png` convention used by most blueprints. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
GiteaMirror added the pull-request label 2026-07-14 23:19:44 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/templates#16339