**docs:** expand index.md with architecture, quick start, and tech stack
All checks were successful
CI / build-test (push) Successful in 1m2s
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:
@@ -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!*
|
||||||
|
|||||||
Reference in New Issue
Block a user