Files
DiunDashboard/docs/index.md
Jean-Luc Makiola d664e88fff
All checks were successful
CI / build-test (push) Successful in 1m2s
**docs:** expand index.md with architecture, quick start, and tech stack
- Add detailed architecture and workflow diagram to explain dashboard functionality
- Include a "Quick Start" section with Docker Compose setup instructions
- Document tech stack and layers used in the project
- Enhance feature descriptions for better clarity and user guidance
2026-02-27 15:31:49 +01:00

3.0 KiB

layout, hero, features
layout hero features
home
name tagline actions
DIUN Webhook Dashboard A modern dashboard for Docker image update notifications
theme text link
brand Get Started /guide/
theme text link
alt View on Gitea https://gitea.jeanlucmakiola.de/makiolaj/DiunDashboard
title details
Real-time Webhooks Receives DIUN webhook events and displays image updates instantly in a modern dashboard.
title details
Persistent Storage Events are stored in SQLite so they survive restarts. No external database required.
title details
Organize with Tags Group and tag images to keep your update notifications organized. Dismiss updates you've reviewed.
title details
Secure by Default Optional token-based webhook authentication. Just set WEBHOOK_SECRET and you're protected.
title details
Docker Ready Ship with a multi-stage Dockerfile and Docker Compose configs for both production and development.
title details
REST API Full JSON API for updates, tags, assignments, and acknowledgements. Easy to integrate with other tools.

Quick Start

Get up and running in seconds with Docker Compose:

# compose.yml
services:
  diun-dashboard:
    image: gitea.jeanlucmakiola.de/makiolaj/diundashboard:latest
    ports:
      - "8080:8080"
    environment:
      - DB_PATH=/data/diun.db
      - WEBHOOK_SECRET=your-secret-here  # optional
    volumes:
      - diun-data:/data

volumes:
  diun-data:
docker compose up -d
# open http://localhost:8080

How It Works

DIUN detects Docker image updates and sends a webhook to the dashboard. The Go backend persists events to SQLite and serves them via a REST API. The React frontend polls for updates and displays them in a modern, responsive UI.

┌───────┐    POST /webhook    ┌──────────────┐    SQLite    ┌─────────┐
│  DIUN │ ──────────────────► │  Go Backend  │ ◄──────────► │ diun.db │
└───────┘                     └──────┬───────┘              └─────────┘
                                     │
                              GET /api/updates
                                     │
                              ┌──────▼───────┐
                              │  React SPA   │
                              │  (Dashboard) │
                              └──────────────┘

Tech Stack

Layer Technology
Backend Go, net/http, modernc.org/sqlite
Frontend React 19, Vite, Tailwind CSS, shadcn/ui
Database SQLite (embedded, no external deps)
Tooling Bun, Docker, Gitea Actions CI/CD

Screenshot

Screenshot coming soon — run the dashboard locally to see it in action!