Created dynamic VHost template system similar to Network Modes profiles: New Files: - root/usr/share/vhost-manager/templates.json (7.7KB, 253 lines) - root/usr/share/vhost-manager/README.md Template Catalog (13 templates): - LuCI UI, Netdata (Core/Monitoring) - CrowdSec, AdGuard Home (Security/Network) - NoDogSplash (Network - Captive Portal) - Domoticz, Zigbee2MQTT (IoT & Home Automation) - Lyrion Music Server (Media) - LocalAI (AI & Machine Learning) - Citadel, Mail-in-a-Box, Nextcloud (Productivity) - ISPConfig (Hosting & Control Panels) Features: - Synchronized with SecuBox appstore applications - 9 categories matching appstore structure - Default domains (*.local), backend ports, SSL/auth requirements - Dynamic loading via fetch from /usr/share/vhost-manager/templates.json - Links to appstore app_id for integration Code Changes: - internal.js: Added loadTemplates() method with fetch API - Replaced hardcoded SERVICES array with dynamic loading - Version bump: 0.4.1-r3 → 0.5.0-r1 Benefits: - Single source of truth for service configurations - Easy to add new services (just edit JSON) - Consistent with appstore and network-modes pattern - Pre-configured templates reduce user errors - SSL and WebSocket settings included Access: https://192.168.8.191/cgi-bin/luci/admin/secubox/services/vhosts/internal 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2.1 KiB
2.1 KiB
VHost Manager Templates
This directory contains pre-configured VHost templates for SecuBox appstore applications and common services.
templates.json
VHost templates catalog synchronized with SecuBox appstore applications. Each template provides:
- Domain: Default local domain name
- Backend: Internal service URL and port
- Category: Service classification
- Requirements: SSL, authentication, WebSocket support
- App ID: Link to corresponding appstore application
Structure
{
"templates": [
{
"id": "unique-id",
"icon": "emoji",
"name": "Service Name",
"domain": "service.local",
"backend": "http://127.0.0.1:port",
"port": 8080,
"category": "Category Name",
"description": "Service description",
"app_id": "secubox-app-id",
"requires_ssl": true,
"requires_auth": true,
"websocket_support": false,
"notes": "Optional configuration notes"
}
],
"categories": { ... },
"metadata": { ... }
}
Usage
Templates are automatically loaded by the VHost Manager internal services page at: https://router-ip/cgi-bin/luci/admin/secubox/services/vhosts/internal
Users can:
- Browse available service templates by category
- See which services are already configured
- Create new VHosts based on templates with one click
- View recommended SSL and authentication settings
Synchronization
This file is synchronized with:
- SecuBox Appstore (
/usr/share/secubox/appstore/apps.json) - Network Modes profiles pattern
When new apps are added to the appstore, corresponding VHost templates should be added here.
Categories
- Core Services - Essential router management
- Monitoring & Analytics - System monitoring tools
- Security - Threat detection and security services
- Network Services - DNS, captive portal, ad blocking
- IoT & Home Automation - Smart home platforms
- Media & Entertainment - Streaming services
- AI & Machine Learning - LLM and AI tools
- Productivity & Collaboration - File sharing, email, calendars
- Hosting & Control Panels - Web hosting management
Maintained by
CyberMind.fr - SecuBox Development Team