diff --git a/docs/images/app-store.png b/docs/images/app-store.png index fb1a1c7..b69e7e0 100644 Binary files a/docs/images/app-store.png and b/docs/images/app-store.png differ diff --git a/docs/images/dashboard-overview.png b/docs/images/dashboard-overview.png index e75a722..4898f07 100644 Binary files a/docs/images/dashboard-overview.png and b/docs/images/dashboard-overview.png differ diff --git a/docs/images/gitops-sync.png b/docs/images/gitops-sync.png index 23ab18f..3130854 100644 Binary files a/docs/images/gitops-sync.png and b/docs/images/gitops-sync.png differ diff --git a/docs/images/migration-wizard.png b/docs/images/migration-wizard.png index b22a38e..2f55e6d 100644 Binary files a/docs/images/migration-wizard.png and b/docs/images/migration-wizard.png differ diff --git a/docs/images/perses-analytics.png b/docs/images/perses-analytics.png index 39a411c..c0afc0c 100644 Binary files a/docs/images/perses-analytics.png and b/docs/images/perses-analytics.png differ diff --git a/docs/images/shares-management.png b/docs/images/shares-management.png index ec4cbe6..f7aa83e 100644 Binary files a/docs/images/shares-management.png and b/docs/images/shares-management.png differ diff --git a/docs/images/system-logs.png b/docs/images/system-logs.png index 068064c..12f2461 100644 Binary files a/docs/images/system-logs.png and b/docs/images/system-logs.png differ diff --git a/src/services/apps.service.ts b/src/services/apps.service.ts index 06ab7ac..66a53cd 100644 --- a/src/services/apps.service.ts +++ b/src/services/apps.service.ts @@ -8,7 +8,7 @@ export class AppsService { name: 'Immich Photo & Video Hub', category: 'Media', description: 'High performance self-hosted photo and video backup solution with Intel QuickSync / OpenCL machine learning acceleration.', - icon: 'Image', + icon: 'immich', defaultPort: 2283, supportedRuntimes: ['systemd', 'docker'], recommendedRuntime: 'systemd', @@ -22,7 +22,7 @@ export class AppsService { name: 'Nextcloud Hub', category: 'Productivity', description: 'Self-hosted productivity platform for files, calendars, contacts, and collaborative office editing.', - icon: 'Cloud', + icon: 'nextcloud', defaultPort: 8080, supportedRuntimes: ['systemd', 'docker'], recommendedRuntime: 'docker', @@ -35,7 +35,7 @@ export class AppsService { name: 'Jellyfin Media Server', category: 'Media', description: 'The volunteer-built media system that puts you in control of managing and streaming your media with hardware transcoding.', - icon: 'Film', + icon: 'jellyfin', defaultPort: 8096, supportedRuntimes: ['systemd', 'docker'], recommendedRuntime: 'docker', @@ -45,7 +45,7 @@ export class AppsService { name: 'Paperless-ngx', category: 'Productivity', description: 'Document management system that transforms physical documents into a searchable online archive with automated scanner ingestion.', - icon: 'FileText', + icon: 'paperless-ngx', defaultPort: 28981, supportedRuntimes: ['systemd', 'docker'], recommendedRuntime: 'systemd', @@ -59,7 +59,7 @@ export class AppsService { name: 'Vaultwarden', category: 'Security', description: 'Lightweight, single-binary Bitwarden-compatible password vault written in Rust with minimal memory footprint.', - icon: 'Lock', + icon: 'vaultwarden', defaultPort: 8222, supportedRuntimes: ['systemd', 'docker'], recommendedRuntime: 'systemd', @@ -69,11 +69,81 @@ export class AppsService { name: 'Home Assistant', category: 'Automation', description: 'Open source home automation that puts local control and privacy first.', - icon: 'Home', + icon: 'home-assistant', defaultPort: 8123, supportedRuntimes: ['docker', 'k3s'], recommendedRuntime: 'docker', }, + { + id: 'plex', + name: 'Plex Media Server', + category: 'Media', + description: 'Organize and stream your personal media collections across smart TVs, mobile devices, and computers.', + icon: 'plex', + defaultPort: 32400, + supportedRuntimes: ['docker'], + recommendedRuntime: 'docker', + }, + { + id: 'qbittorrent', + name: 'qBittorrent Web', + category: 'Network', + description: 'BitTorrent client with intuitive web interface, bandwidth scheduling, and search engine integration.', + icon: 'qbittorrent', + defaultPort: 8085, + supportedRuntimes: ['docker', 'systemd'], + recommendedRuntime: 'docker', + }, + { + id: 'tailscale', + name: 'Tailscale Mesh VPN', + category: 'Network', + description: 'Secure WireGuard mesh network connecting your NAS and devices with zero configuration.', + icon: 'tailscale', + defaultPort: 41641, + supportedRuntimes: ['systemd'], + recommendedRuntime: 'systemd', + }, + { + id: 'syncthing', + name: 'Syncthing P2P', + category: 'Productivity', + description: 'Continuous file synchronization between devices with peer-to-peer end-to-end encryption.', + icon: 'syncthing', + defaultPort: 8384, + supportedRuntimes: ['systemd', 'docker'], + recommendedRuntime: 'systemd', + }, + { + id: 'uptime-kuma', + name: 'Uptime Kuma', + category: 'Monitoring', + description: 'Self-hosted monitoring tool providing status pages and ping/HTTP/certificate alerts.', + icon: 'uptime-kuma', + defaultPort: 3001, + supportedRuntimes: ['docker'], + recommendedRuntime: 'docker', + }, + { + id: 'adguard-home', + name: 'AdGuard Home', + category: 'Network', + description: 'Network-wide software for blocking ads, tracking, and malware with encrypted DNS support.', + icon: 'adguard-home', + defaultPort: 3000, + supportedRuntimes: ['systemd', 'docker'], + recommendedRuntime: 'systemd', + }, + { + id: 'filebrowser', + name: 'FileBrowser Quantum', + category: 'Storage', + description: 'Fast, modern web file browser with direct audio/video streaming and user access permissions.', + icon: 'filebrowser', + defaultPort: 8082, + supportedRuntimes: ['systemd', 'docker'], + recommendedRuntime: 'systemd', + }, ]; constructor(private gitopsService: GitOpsService) {} diff --git a/src/types/index.ts b/src/types/index.ts index 94b7b4f..93ea1da 100644 --- a/src/types/index.ts +++ b/src/types/index.ts @@ -99,7 +99,7 @@ export type AppRuntime = 'systemd' | 'docker' | 'k3s'; export interface AppCatalogItem { id: string; name: string; - category: 'Media' | 'Storage' | 'Productivity' | 'Security' | 'Automation'; + category: 'Media' | 'Storage' | 'Productivity' | 'Security' | 'Automation' | 'Network' | 'Monitoring'; description: string; icon: string; defaultPort: number;