feat: Dashboard-Metriken nach Mailpiler-Vorbild (Uptime, Aktivität, Prognose)

- storage_stats.go (neu): MailActivityStats (60min/24h/7d/30d), StorageEstimateStats
- dashboard_handlers.go: Uptime (/proc/uptime), activity + estimate in System-Stats-Response
- DashboardTab: Uptime in API-Kachel, neue Kacheln "Mail-Eingang" + "Speicherprognose"
- Warnung (Badge "Knapp!") wenn Partition in <90 Tagen voll

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
sysops
2026-03-31 10:44:02 +02:00
co-authored by Claude Sonnet 4.6
parent 5bbf6d0ff3
commit 58bcfb1586
6 changed files with 224 additions and 6 deletions
+17
View File
@@ -83,14 +83,31 @@ export interface SystemStatsMailInfo {
subject: string;
}
export interface SystemStatsActivity {
last_60_min: number;
last_24h: number;
last_7d: number;
last_30d: number;
}
export interface SystemStatsEstimate {
avg_mails_per_day: number;
avg_mail_bytes: number;
days_until_full: number; // -1 = unknown
archive_age_days: number;
}
export interface SystemStats {
cpu: SystemStatsCPU;
ram: SystemStatsRAM;
disks: SystemStatsDisk[];
uptime: { seconds: number };
archive: {
first_mail: SystemStatsMailInfo | null;
last_mail: SystemStatsMailInfo | null;
};
activity: SystemStatsActivity;
estimate: SystemStatsEstimate;
}
export interface SecurityCheck {