system-status: show storage usage (DB, attachments, backups, disk free) — v0.1.0:63

/api/system/status now returns a best-effort storage block: database file size
(crm.db + WAL + SHM), the email_attachments dir, the backups dir, and disk
total/used/free via shutil.disk_usage(DATA_DIR). System Status renders a Storage
section with human-readable sizes so growth can be watched over time.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Keysat
2026-06-06 13:34:18 -05:00
parent ea036f49a6
commit 3893a4fb9f
5 changed files with 87 additions and 4 deletions
+3 -2
View File
@@ -27,8 +27,9 @@ export const PACKAGE_TITLE = 'Ten31 Database'
// * 0.1.0:59 (Email Capture admin panel + matched email into the grounding corpus)
// * 0.1.0:60 (Email Capture: single-mailbox enroll field for testing)
// * 0.1.0:61 (Email Capture: live backfill progress + auto-refresh)
// * Current: 0.1.0:62 (fix backfill crash on no-Reply-To emails; Sync now retries errored mailboxes)
export const PACKAGE_VERSION = '0.1.0:62'
// * 0.1.0:62 (fix backfill crash on no-Reply-To emails; Sync now retries errored mailboxes)
// * Current: 0.1.0:63 (System Status: storage usage — DB, attachments, backups, disk free)
export const PACKAGE_VERSION = '0.1.0:63'
export const DATA_MOUNT_PATH = '/data'
export const WEB_PORT = 8080
+3 -2
View File
@@ -23,8 +23,9 @@ import { v_0_1_0_59 } from './v0.1.0.59'
import { v_0_1_0_60 } from './v0.1.0.60'
import { v_0_1_0_61 } from './v0.1.0.61'
import { v_0_1_0_62 } from './v0.1.0.62'
import { v_0_1_0_63 } from './v0.1.0.63'
export const versionGraph = VersionGraph.of({
current: v_0_1_0_62,
other: [v_0_1_0_39, v_0_1_0_40, v_0_1_0_41, v_0_1_0_42, v_0_1_0_43, v_0_1_0_44, v_0_1_0_45, v_0_1_0_46, v_0_1_0_47, v_0_1_0_48, v_0_1_0_49, v_0_1_0_50, v_0_1_0_51, v_0_1_0_52, v_0_1_0_53, v_0_1_0_54, v_0_1_0_55, v_0_1_0_56, v_0_1_0_57, v_0_1_0_58, v_0_1_0_59, v_0_1_0_60, v_0_1_0_61],
current: v_0_1_0_63,
other: [v_0_1_0_39, v_0_1_0_40, v_0_1_0_41, v_0_1_0_42, v_0_1_0_43, v_0_1_0_44, v_0_1_0_45, v_0_1_0_46, v_0_1_0_47, v_0_1_0_48, v_0_1_0_49, v_0_1_0_50, v_0_1_0_51, v_0_1_0_52, v_0_1_0_53, v_0_1_0_54, v_0_1_0_55, v_0_1_0_56, v_0_1_0_57, v_0_1_0_58, v_0_1_0_59, v_0_1_0_60, v_0_1_0_61, v_0_1_0_62],
})
+15
View File
@@ -0,0 +1,15 @@
import { VersionInfo } from '@start9labs/start-sdk'
// System Status now shows a Storage section: database file size, email attachments,
// backups, and disk free/total — so growth can be watched over time. Read-only,
// best-effort (never fails the status call). No schema migration.
export const v_0_1_0_63 = VersionInfo.of({
version: '0.1.0:63',
releaseNotes: {
en_US: [
'System Status now shows storage usage: how much space the database, email attachments,',
'and backups are using, plus free disk on the server, so you can watch it grow over time.',
].join(' '),
},
migrations: { up: async () => {}, down: async () => {} },
})