**docs:** expand index.md with architecture, quick start, and tech stack
All checks were successful
CI / build-test (push) Successful in 1m2s

- 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
This commit is contained in:
2026-02-27 15:31:49 +01:00
parent eeddd812fa
commit d664e88fff

View File

@@ -19,4 +19,70 @@ features:
details: Events are stored in SQLite so they survive restarts. No external database required. details: Events are stored in SQLite so they survive restarts. No external database required.
- title: Organize with Tags - title: Organize with Tags
details: Group and tag images to keep your update notifications organized. Dismiss updates you've reviewed. details: Group and tag images to keep your update notifications organized. Dismiss updates you've reviewed.
- title: Secure by Default
details: Optional token-based webhook authentication. Just set WEBHOOK_SECRET and you're protected.
- title: Docker Ready
details: Ship with a multi-stage Dockerfile and Docker Compose configs for both production and development.
- title: REST API
details: 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:
```yaml
# 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:
```
```bash
docker compose up -d
# open http://localhost:8080
```
## How It Works
<div class="architecture">
**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.
</div>
```
┌───────┐ 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!*