secubox-openwrt/luci-app-vhost-manager/root/usr/share/vhost-manager/templates.json
CyberMind-FR db1f8f703c feat(appstore+vhost): add 6 popular self-hosted services
Added 6 new applications to both appstore and VHost templates:

New Apps & Templates:
1. 🐳 Portainer v2.21.4 (Hosting)
   - Docker container management UI
   - VHost: portainer.local → :9000
   - WebSocket support for real-time updates

2. 🏡 Home Assistant v2024.12.5 (IoT)
   - Home automation with 2000+ integrations
   - VHost: home.local → :8123
   - WebSocket for real-time device updates

3. 🎬 Jellyfin v10.10.3 (Media)
   - Free media server (Plex alternative)
   - VHost: jellyfin.local → :8096
   - Hardware transcoding support

4. 🔐 Vaultwarden v1.32.7 (Security)
   - Bitwarden-compatible password manager
   - VHost: vault.local → :80
   - HTTPS REQUIRED for mobile apps

5. 🦊 Gitea v1.22.6 (Productivity)
   - Self-hosted Git service (GitHub alternative)
   - VHost: git.local → :3000
   - SSH access supported

6. 📊 Uptime Kuma v1.23.15 (Network)
   - Uptime monitoring with status pages
   - VHost: uptime.local → :3001
   - WebSocket for real-time status

Catalog Stats:
- Appstore: 11 → 17 apps (+6, +55%)
- VHost Templates: 13 → 19 templates (+6, +46%)
- Appstore size: 9.6KB → 15KB (+5.4KB)
- VHost templates size: 7.7KB → 12KB (+4.3KB)

Version Updates:
- appstore/apps.json: v1.2 → v1.3
- vhost-manager/templates.json: v1.0 → v1.1

All new apps:
- Docker-based for easy deployment
- Stable status
- Pre-configured VHost templates
- SSL/Auth/WebSocket settings included

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-01 09:13:38 +01:00

350 lines
11 KiB
JSON

{
"templates": [
{
"id": "luci",
"icon": "🖥️",
"name": "LuCI UI",
"domain": "router.local",
"backend": "http://127.0.0.1:80",
"port": 80,
"category": "Core",
"description": "Expose the management UI behind nginx with optional SSL and auth.",
"app_id": null,
"enabled_by_default": true,
"requires_ssl": false,
"requires_auth": false,
"websocket_support": false
},
{
"id": "netdata",
"icon": "📈",
"name": "Netdata",
"domain": "metrics.local",
"backend": "http://127.0.0.1:19999",
"port": 19999,
"category": "Monitoring",
"description": "High-resolution telemetry for CPU, memory, and interfaces.",
"app_id": null,
"enabled_by_default": false,
"requires_ssl": false,
"requires_auth": true,
"websocket_support": true
},
{
"id": "crowdsec",
"icon": "🛡️",
"name": "CrowdSec",
"domain": "crowdsec.local",
"backend": "http://127.0.0.1:8080",
"port": 8080,
"category": "Security",
"description": "Review bouncer decisions and live intrusion alerts.",
"app_id": "secubox-app-crowdsec",
"enabled_by_default": false,
"requires_ssl": true,
"requires_auth": true,
"websocket_support": false
},
{
"id": "nodogsplash",
"icon": "🌐",
"name": "NoDogSplash",
"domain": "portal.local",
"backend": "http://127.0.0.1:2050",
"port": 2050,
"category": "Network",
"description": "Captive portal splash page for guest network access control.",
"app_id": "secubox-app-nodogsplash",
"enabled_by_default": false,
"requires_ssl": false,
"requires_auth": false,
"websocket_support": false
},
{
"id": "domoticz",
"icon": "🏠",
"name": "Domoticz",
"domain": "domoticz.local",
"backend": "http://127.0.0.1:8080",
"port": 8080,
"category": "IoT & Home Automation",
"description": "Home automation system with support for various devices and protocols.",
"app_id": "secubox-app-domoticz",
"enabled_by_default": false,
"requires_ssl": true,
"requires_auth": true,
"websocket_support": true
},
{
"id": "lyrion",
"icon": "🎵",
"name": "Lyrion Music Server",
"domain": "music.local",
"backend": "http://127.0.0.1:9000",
"port": 9000,
"category": "Media",
"description": "Multi-room audio streaming server (formerly Logitech Media Server).",
"app_id": "secubox-app-lyrion",
"enabled_by_default": false,
"requires_ssl": false,
"requires_auth": false,
"websocket_support": false
},
{
"id": "zigbee2mqtt",
"icon": "📡",
"name": "Zigbee2MQTT",
"domain": "zigbee.local",
"backend": "http://127.0.0.1:8080",
"port": 8080,
"category": "IoT & Home Automation",
"description": "Zigbee to MQTT bridge with web-based device management interface.",
"app_id": "secubox-app-zigbee2mqtt",
"enabled_by_default": false,
"requires_ssl": true,
"requires_auth": true,
"websocket_support": true
},
{
"id": "localai",
"icon": "🤖",
"name": "LocalAI",
"domain": "ai.local",
"backend": "http://127.0.0.1:8080",
"port": 8080,
"category": "AI & Machine Learning",
"description": "Self-hosted OpenAI-compatible API with web interface for model management.",
"app_id": "secubox-app-localai",
"enabled_by_default": false,
"requires_ssl": true,
"requires_auth": true,
"websocket_support": false
},
{
"id": "citadel",
"icon": "🏢",
"name": "Citadel",
"domain": "groupware.local",
"backend": "http://127.0.0.1:504",
"port": 504,
"category": "Productivity",
"description": "Complete groupware with email, calendar, contacts, and instant messaging.",
"app_id": "secubox-app-citadel",
"enabled_by_default": false,
"requires_ssl": true,
"requires_auth": true,
"websocket_support": true
},
{
"id": "ispconfig",
"icon": "🖥️",
"name": "ISPConfig",
"domain": "hosting.local",
"backend": "http://127.0.0.1:8080",
"port": 8080,
"category": "Hosting & Control Panels",
"description": "Web hosting control panel for managing servers, websites, and databases.",
"app_id": "secubox-app-ispconfig",
"enabled_by_default": false,
"requires_ssl": true,
"requires_auth": true,
"websocket_support": false
},
{
"id": "mailinabox",
"icon": "📧",
"name": "Mail-in-a-Box",
"domain": "mail.local",
"backend": "http://127.0.0.1:4430",
"port": 4430,
"category": "Productivity",
"description": "Easy-to-deploy email server with webmail, contacts, and calendar.",
"app_id": "secubox-app-mailinabox",
"enabled_by_default": false,
"requires_ssl": true,
"requires_auth": true,
"websocket_support": false
},
{
"id": "nextcloud",
"icon": "☁️",
"name": "Nextcloud",
"domain": "cloud.local",
"backend": "http://127.0.0.1:80",
"port": 80,
"category": "Productivity",
"description": "Self-hosted file sync and share with calendar, contacts, and collaboration.",
"app_id": "secubox-app-nextcloud",
"enabled_by_default": false,
"requires_ssl": true,
"requires_auth": false,
"websocket_support": true,
"notes": "Nextcloud handles its own authentication. Configure trusted domains in config.php."
},
{
"id": "adguardhome",
"icon": "🛡️",
"name": "AdGuard Home",
"domain": "adguard.local",
"backend": "http://127.0.0.1:3000",
"port": 3000,
"category": "Network",
"description": "Network-wide ad blocker with DNS-over-HTTPS/TLS and analytics dashboard.",
"app_id": "secubox-app-adguardhome",
"enabled_by_default": false,
"requires_ssl": true,
"requires_auth": false,
"websocket_support": false,
"notes": "AdGuard Home has its own authentication system."
},
{
"id": "portainer",
"icon": "🐳",
"name": "Portainer",
"domain": "portainer.local",
"backend": "http://127.0.0.1:9000",
"port": 9000,
"category": "Hosting & Control Panels",
"description": "Docker container management with web UI for deploying and monitoring containers.",
"app_id": "secubox-app-portainer",
"enabled_by_default": false,
"requires_ssl": true,
"requires_auth": false,
"websocket_support": true,
"notes": "Portainer has its own authentication. Essential for managing Docker containers on the router."
},
{
"id": "homeassistant",
"icon": "🏡",
"name": "Home Assistant",
"domain": "home.local",
"backend": "http://127.0.0.1:8123",
"port": 8123,
"category": "IoT & Home Automation",
"description": "Home automation platform with 2000+ integrations for smart home devices.",
"app_id": "secubox-app-homeassistant",
"enabled_by_default": false,
"requires_ssl": true,
"requires_auth": false,
"websocket_support": true,
"notes": "Home Assistant has built-in authentication. WebSocket required for real-time updates."
},
{
"id": "jellyfin",
"icon": "🎬",
"name": "Jellyfin",
"domain": "jellyfin.local",
"backend": "http://127.0.0.1:8096",
"port": 8096,
"category": "Media",
"description": "Free media server for streaming movies, TV shows, music, and photos.",
"app_id": "secubox-app-jellyfin",
"enabled_by_default": false,
"requires_ssl": true,
"requires_auth": false,
"websocket_support": true,
"notes": "Jellyfin has its own user authentication. SSL recommended for remote access."
},
{
"id": "vaultwarden",
"icon": "🔐",
"name": "Vaultwarden",
"domain": "vault.local",
"backend": "http://127.0.0.1:80",
"port": 80,
"category": "Security",
"description": "Bitwarden-compatible password manager with web vault and mobile sync.",
"app_id": "secubox-app-vaultwarden",
"enabled_by_default": false,
"requires_ssl": true,
"requires_auth": false,
"websocket_support": true,
"notes": "HTTPS is REQUIRED for Vaultwarden to work with mobile apps. Configure trusted domain."
},
{
"id": "gitea",
"icon": "🦊",
"name": "Gitea",
"domain": "git.local",
"backend": "http://127.0.0.1:3000",
"port": 3000,
"category": "Productivity",
"description": "Self-hosted Git service with web UI, issues, and pull requests.",
"app_id": "secubox-app-gitea",
"enabled_by_default": false,
"requires_ssl": true,
"requires_auth": false,
"websocket_support": false,
"notes": "Gitea has built-in authentication. Also configure SSH access on port 22 if needed."
},
{
"id": "uptimekuma",
"icon": "📊",
"name": "Uptime Kuma",
"domain": "uptime.local",
"backend": "http://127.0.0.1:3001",
"port": 3001,
"category": "Network",
"description": "Uptime monitoring with status pages and notifications.",
"app_id": "secubox-app-uptimekuma",
"enabled_by_default": false,
"requires_ssl": true,
"requires_auth": false,
"websocket_support": true,
"notes": "Uptime Kuma has its own authentication. WebSocket required for real-time status updates."
}
],
"categories": {
"Core": {
"name": "Core Services",
"icon": "🖥️",
"description": "Essential router services and management interfaces"
},
"Monitoring": {
"name": "Monitoring & Analytics",
"icon": "📈",
"description": "System monitoring and performance analytics tools"
},
"Security": {
"name": "Security",
"icon": "🛡️",
"description": "Security and threat detection services"
},
"Network": {
"name": "Network Services",
"icon": "🌐",
"description": "Network utilities and DNS services"
},
"IoT & Home Automation": {
"name": "IoT & Home Automation",
"icon": "🏠",
"description": "Smart home and IoT device management"
},
"Media": {
"name": "Media & Entertainment",
"icon": "🎵",
"description": "Media streaming and entertainment services"
},
"AI & Machine Learning": {
"name": "AI & Machine Learning",
"icon": "🤖",
"description": "AI models and machine learning tools"
},
"Productivity": {
"name": "Productivity & Collaboration",
"icon": "📧",
"description": "Email, file sharing, and collaboration tools"
},
"Hosting & Control Panels": {
"name": "Hosting & Control Panels",
"icon": "🖥️",
"description": "Web hosting and server management"
}
},
"metadata": {
"version": "1.1",
"last_updated": "2026-01-01",
"repository": "https://github.com/cybermind-studio/secubox-openwrt"
}
}