Backend Go 1.23+ : - API REST + WebSocket (chi, gorilla/websocket) - Authentification PAM via SSH + JWT RS256 - Chiffrement AES-256-GCM pour secrets SQLite - Pool SSH, client Proxmox REST, hub WebSocket pub/sub - Système de modules compilés à initialisation conditionnelle - Audit log, migrations SQLite versionnées Frontend Vue 3 + Vite + TypeScript : - Thème Neumorphism sombre/clair (CSS custom properties) - Wizard d'installation, Dashboard drag-drop, Terminal xterm.js - Toutes les vues CORE + stubs modules optionnels - i18n EN/FR (vue-i18n v11) Infrastructure : - Docker multi-stage (Go → alpine, Node → nginx) - docker-compose.yml, .gitattributes, LICENSE MIT, README Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1.1 KiB
1.1 KiB
Module — Dashboard
Type: Core (always enabled)
Provides the main dashboard with a configurable, per-user widget grid.
Features
- Drag-and-drop widget reordering (saved per user in SQLite)
- Add and remove widgets via modal
- Widget layout persisted across sessions
Widget Types
| Type | Description |
|---|---|
shortcut |
Clickable link card (icon + label + URL) |
lxc_status |
Live status of a specific LXC container |
metrics |
Host CPU/RAM/disk summary |
API Endpoints
| Method | Path | Auth | Description |
|---|---|---|---|
| GET | /api/dashboard/widgets |
JWT | Get current user's widget layout |
| PUT | /api/dashboard/widgets |
JWT | Save widget layout |
Widget Layout Format
[
{ "id": "w1", "type": "shortcut", "config": { "label": "Proxmox", "url": "https://proxmox.example.com", "icon": "server" } },
{ "id": "w2", "type": "lxc_status", "config": { "vmid": 100 } },
{ "id": "w3", "type": "metrics", "config": {} }
]
Database
Layouts are stored in the user_widgets table, keyed by user ID.
License
MIT — see LICENSE