From 2787b8c222532fc9e0acbc4c47f05cb4baa4e3b2 Mon Sep 17 00:00:00 2001 From: CyberMind-FR Date: Sun, 4 Jan 2026 09:50:05 +0100 Subject: [PATCH] feat(secubox-core): sync mailinabox plugin catalog with main catalog for consistency MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Updated secubox-app-mailinabox plugin catalog to match the main catalog.json entry. Changes to plugin catalog (plugins/catalog/secubox-app-mailinabox.json): - category: "productivity" → "hosting" (more accurate classification) - min_storage_mb: 1024 → 2048 (realistic for email server with attachments) - status: "stable" → "beta" (matches maturity level) - tags: added "hosting" tag - capabilities: added "hosting" capability - notes: added "Port 25 must be accessible" (important for email server) Context: SecuBox uses two catalog sources: 1. Main catalog.json - Used by get_appstore_apps RPCD method for Apps Manager UI 2. Individual plugin catalogs - Used by secubox-appstore CLI for package detection This ensures both sources provide consistent metadata. Integration with luci-app-secubox-admin: ✅ secubox-app-mailinabox is now fully integrated into the admin interface ✅ Installation detection works automatically via opkg package checking ✅ Apps Manager will show: - "Install" button if package not installed - "Configure" and "Remove" buttons if package is installed ✅ Status detection flow: 1. API.getApps() → reads main catalog.json 2. API.getModules() → calls secubox-appstore list --json 3. secubox-appstore checks if secubox-app-mailinabox is installed via opkg 4. Returns status in modules list 5. Frontend displays appropriate buttons based on status Also incremented PKG_RELEASE: 4 → 5 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 --- package/secubox/secubox-core/Makefile | 2 +- .../plugins/catalog/secubox-app-mailinabox.json | 16 +++++++++------- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/package/secubox/secubox-core/Makefile b/package/secubox/secubox-core/Makefile index 94c12fba..07be028d 100644 --- a/package/secubox/secubox-core/Makefile +++ b/package/secubox/secubox-core/Makefile @@ -6,7 +6,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=secubox-core PKG_VERSION:=0.8.0 -PKG_RELEASE:=4 +PKG_RELEASE:=5 PKG_ARCH:=all PKG_LICENSE:=GPL-2.0 PKG_MAINTAINER:=SecuBox Team diff --git a/package/secubox/secubox-core/root/usr/share/secubox/plugins/catalog/secubox-app-mailinabox.json b/package/secubox/secubox-core/root/usr/share/secubox/plugins/catalog/secubox-app-mailinabox.json index 43b9e9bb..871a521d 100644 --- a/package/secubox/secubox-core/root/usr/share/secubox/plugins/catalog/secubox-app-mailinabox.json +++ b/package/secubox/secubox-core/root/usr/share/secubox/plugins/catalog/secubox-app-mailinabox.json @@ -2,19 +2,20 @@ "id": "secubox-app-mailinabox", "name": "Mail-in-a-Box", "version": "70.0", - "category": "productivity", + "category": "hosting", "runtime": "docker", "description": "Easy-to-deploy email server with webmail, contacts, calendar, spam filtering, and automatic security updates", "author": "CyberMind.fr", "license": "CC0-1.0", "url": "https://mailinabox.email/", - "icon": "\ud83d\udce7", + "icon": "📧", "tags": [ "email", "mail-server", "webmail", "calendar", "contacts", + "hosting", "docker" ], "packages": { @@ -27,16 +28,17 @@ "capabilities": [ "email", "mail-server", - "webmail" + "webmail", + "hosting" ], "requirements": { "min_ram_mb": 768, - "min_storage_mb": 1024 + "min_storage_mb": 2048 }, - "status": "stable", + "status": "beta", "conflicts": [ "citadel", "ispconfig" ], - "notes": "Requires a domain name with proper DNS configuration. Includes webmail, spam filtering, and automatic TLS." -} \ No newline at end of file + "notes": "Requires a domain name with proper DNS configuration. Includes webmail, spam filtering, and automatic TLS. Port 25 must be accessible." +}