feat(apps): update catalog with Homarr icon identifiers and expanded services
CI & Test NaxOS Management API / test (push) Successful in 12m53s
|
Before Width: | Height: | Size: 138 KiB After Width: | Height: | Size: 168 KiB |
|
Before Width: | Height: | Size: 150 KiB After Width: | Height: | Size: 207 KiB |
|
Before Width: | Height: | Size: 116 KiB After Width: | Height: | Size: 116 KiB |
|
Before Width: | Height: | Size: 100 KiB After Width: | Height: | Size: 100 KiB |
|
Before Width: | Height: | Size: 139 KiB After Width: | Height: | Size: 139 KiB |
|
Before Width: | Height: | Size: 92 KiB After Width: | Height: | Size: 92 KiB |
|
Before Width: | Height: | Size: 100 KiB After Width: | Height: | Size: 99 KiB |
@@ -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) {}
|
||||
|
||||
@@ -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;
|
||||
|
||||