feat(secubox-core): sync mailinabox plugin catalog with main catalog for consistency
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 <noreply@anthropic.com>
This commit is contained in:
parent
7bef9d50ee
commit
2787b8c222
@ -6,7 +6,7 @@ include $(TOPDIR)/rules.mk
|
|||||||
|
|
||||||
PKG_NAME:=secubox-core
|
PKG_NAME:=secubox-core
|
||||||
PKG_VERSION:=0.8.0
|
PKG_VERSION:=0.8.0
|
||||||
PKG_RELEASE:=4
|
PKG_RELEASE:=5
|
||||||
PKG_ARCH:=all
|
PKG_ARCH:=all
|
||||||
PKG_LICENSE:=GPL-2.0
|
PKG_LICENSE:=GPL-2.0
|
||||||
PKG_MAINTAINER:=SecuBox Team
|
PKG_MAINTAINER:=SecuBox Team
|
||||||
|
|||||||
@ -2,19 +2,20 @@
|
|||||||
"id": "secubox-app-mailinabox",
|
"id": "secubox-app-mailinabox",
|
||||||
"name": "Mail-in-a-Box",
|
"name": "Mail-in-a-Box",
|
||||||
"version": "70.0",
|
"version": "70.0",
|
||||||
"category": "productivity",
|
"category": "hosting",
|
||||||
"runtime": "docker",
|
"runtime": "docker",
|
||||||
"description": "Easy-to-deploy email server with webmail, contacts, calendar, spam filtering, and automatic security updates",
|
"description": "Easy-to-deploy email server with webmail, contacts, calendar, spam filtering, and automatic security updates",
|
||||||
"author": "CyberMind.fr",
|
"author": "CyberMind.fr",
|
||||||
"license": "CC0-1.0",
|
"license": "CC0-1.0",
|
||||||
"url": "https://mailinabox.email/",
|
"url": "https://mailinabox.email/",
|
||||||
"icon": "\ud83d\udce7",
|
"icon": "📧",
|
||||||
"tags": [
|
"tags": [
|
||||||
"email",
|
"email",
|
||||||
"mail-server",
|
"mail-server",
|
||||||
"webmail",
|
"webmail",
|
||||||
"calendar",
|
"calendar",
|
||||||
"contacts",
|
"contacts",
|
||||||
|
"hosting",
|
||||||
"docker"
|
"docker"
|
||||||
],
|
],
|
||||||
"packages": {
|
"packages": {
|
||||||
@ -27,16 +28,17 @@
|
|||||||
"capabilities": [
|
"capabilities": [
|
||||||
"email",
|
"email",
|
||||||
"mail-server",
|
"mail-server",
|
||||||
"webmail"
|
"webmail",
|
||||||
|
"hosting"
|
||||||
],
|
],
|
||||||
"requirements": {
|
"requirements": {
|
||||||
"min_ram_mb": 768,
|
"min_ram_mb": 768,
|
||||||
"min_storage_mb": 1024
|
"min_storage_mb": 2048
|
||||||
},
|
},
|
||||||
"status": "stable",
|
"status": "beta",
|
||||||
"conflicts": [
|
"conflicts": [
|
||||||
"citadel",
|
"citadel",
|
||||||
"ispconfig"
|
"ispconfig"
|
||||||
],
|
],
|
||||||
"notes": "Requires a domain name with proper DNS configuration. Includes webmail, spam filtering, and automatic TLS."
|
"notes": "Requires a domain name with proper DNS configuration. Includes webmail, spam filtering, and automatic TLS. Port 25 must be accessible."
|
||||||
}
|
}
|
||||||
Loading…
Reference in New Issue
Block a user