feat: configurable unused images threshold with dashboard warning
- Add image_prune_threshold_mb setting (default 1024 MB) - Add GET /api/docker/unused-images endpoint returning unused image count, size, and threshold status - Dashboard shows amber warning banner when unused project images exceed threshold - Banner links to settings page for pruning, shows count and human-readable size (MB/GB) - Threshold configurable in Docker Image Cleanup section of settings - DB migration + schema for image_prune_threshold_mb
This commit is contained in:
@@ -16,6 +16,7 @@ func (s *Store) GetSettings() (Settings, error) {
|
||||
cloudflare_api_token, cloudflare_zone_id,
|
||||
npm_remote, npm_access_list_id, proxy_provider,
|
||||
traefik_entrypoint, traefik_cert_resolver, traefik_network, traefik_api_url,
|
||||
image_prune_threshold_mb,
|
||||
backup_enabled, backup_interval_hours, backup_retention_count,
|
||||
updated_at
|
||||
FROM settings WHERE id = 1`,
|
||||
@@ -26,6 +27,7 @@ func (s *Store) GetSettings() (Settings, error) {
|
||||
&st.CloudflareAPIToken, &st.CloudflareZoneID,
|
||||
&npmRemote, &st.NpmAccessListID, &st.ProxyProvider,
|
||||
&st.TraefikEntrypoint, &st.TraefikCertResolver, &st.TraefikNetwork, &st.TraefikAPIURL,
|
||||
&st.ImagePruneThresholdMB,
|
||||
&backupEnabled, &st.BackupIntervalHours, &st.BackupRetentionCount,
|
||||
&st.UpdatedAt)
|
||||
if err != nil {
|
||||
@@ -61,6 +63,7 @@ func (s *Store) UpdateSettings(st Settings) error {
|
||||
cloudflare_api_token=?, cloudflare_zone_id=?,
|
||||
npm_remote=?, npm_access_list_id=?, proxy_provider=?,
|
||||
traefik_entrypoint=?, traefik_cert_resolver=?, traefik_network=?, traefik_api_url=?,
|
||||
image_prune_threshold_mb=?,
|
||||
backup_enabled=?, backup_interval_hours=?, backup_retention_count=?,
|
||||
updated_at=?
|
||||
WHERE id = 1`,
|
||||
@@ -71,6 +74,7 @@ func (s *Store) UpdateSettings(st Settings) error {
|
||||
st.CloudflareAPIToken, st.CloudflareZoneID,
|
||||
npmRemote, st.NpmAccessListID, st.ProxyProvider,
|
||||
st.TraefikEntrypoint, st.TraefikCertResolver, st.TraefikNetwork, st.TraefikAPIURL,
|
||||
st.ImagePruneThresholdMB,
|
||||
backupEnabled, st.BackupIntervalHours, st.BackupRetentionCount,
|
||||
st.UpdatedAt,
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user