secubox-openwrt/luci-app-vhost-manager/root/usr/share/vhost-manager/README.md
CyberMind-FR 89232f3736 feat(vhost-manager): add VHost templates synchronized with appstore
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>
2026-01-01 08:52:05 +01:00

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:

  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