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>
75 lines
2.1 KiB
Markdown
75 lines
2.1 KiB
Markdown
# 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
|
|
|
|
```json
|
|
{
|
|
"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:
|
|
1. Browse available service templates by category
|
|
2. See which services are already configured
|
|
3. Create new VHosts based on templates with one click
|
|
4. 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
|