Commit Graph

8 Commits

Author SHA1 Message Date
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
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
9cdbb21a99 luci-app-vhost-manager: migrate to vhosts config 2025-12-29 16:31:18 +01:00
9b9becd0a8 navbar 2025-12-29 09:03:49 +01:00
76955f48d0 versheaders 2025-12-29 07:51:33 +01:00
cf39eb6e1d fix: resolve validation issues across all modules
- Fixed minified RPC declaration in secubox/modules.js that caused false positive in validation
- Added 30 missing menu entries across 10 modules:
  * bandwidth-manager: clients, schedules
  * client-guardian: zones, portal, logs, alerts, parental
  * crowdsec-dashboard: metrics
  * netdata-dashboard: system, processes, realtime, network
  * netifyd-dashboard: talkers, risks, devices
  * network-modes: router, accesspoint, relay, sniffer
  * secubox: settings
  * system-hub: components, diagnostics, health, remote, settings
  * vhost-manager: internal, ssl, redirects
  * wireguard-dashboard: traffic, config
- All modules now pass comprehensive validation (0 errors, 0 warnings)

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

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-25 09:01:06 +01:00
77d40a1f89 feat: implement VHost Manager - nginx reverse proxy and SSL management
Implements a comprehensive virtual host management system for OpenWrt with
nginx reverse proxy and Let's Encrypt SSL certificate integration.

Features:
- Virtual host management with nginx reverse proxy configuration
- Backend connectivity testing before deployment
- SSL/TLS certificate provisioning via acme.sh and Let's Encrypt
- Certificate expiry monitoring with color-coded warnings
- HTTP Basic Authentication support
- WebSocket protocol support with upgrade headers
- Real-time nginx access log viewer per domain
- Automatic nginx configuration generation and reload

Components:
- RPCD backend (luci.vhost-manager): 11 ubus methods for vhost and cert management
  * status, list_vhosts, get_vhost, add_vhost, update_vhost, delete_vhost
  * test_backend, request_cert, list_certs, reload_nginx, get_access_logs
- 4 JavaScript views: overview, vhosts, certificates, logs
- ACL with read/write permissions for all ubus methods
- UCI config with global settings and vhost sections
- Comprehensive README with API docs, examples, and troubleshooting

Configuration:
- Nginx vhost configs generated in /etc/nginx/conf.d/vhosts/
- SSL certificates managed via ACME in /etc/acme/{domain}/
- Access logs per domain: /var/log/nginx/{domain}.access.log
- HTTP Basic Auth htpasswd files in /etc/nginx/htpasswd/

Architecture follows SecuBox standards:
- RPCD naming convention (luci. prefix)
- Menu paths match view file structure
- All JavaScript in strict mode
- Backend connectivity validation
- Comprehensive error handling

Dependencies: nginx-ssl, acme, curl

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

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-24 10:37:01 +01:00
ef240b650b Initial commit: SecuBox v1.0.0-try2 2025-12-22 10:43:52 +01:00