**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.
|
||||
- title: Organize with Tags
|
||||
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