feat(apps): update catalog with Homarr icon identifiers and expanded services
CI & Test NaxOS Management API / test (push) Successful in 12m53s

This commit is contained in:
Lukas Holzner
2026-09-04 12:16:48 +02:00
parent 784a9b742d
commit 7d89b16687
9 changed files with 77 additions and 7 deletions
Binary file not shown.

Before

Width:  |  Height:  |  Size: 138 KiB

After

Width:  |  Height:  |  Size: 168 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 150 KiB

After

Width:  |  Height:  |  Size: 207 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 116 KiB

After

Width:  |  Height:  |  Size: 116 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 100 KiB

After

Width:  |  Height:  |  Size: 100 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 139 KiB

After

Width:  |  Height:  |  Size: 139 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 92 KiB

After

Width:  |  Height:  |  Size: 92 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 100 KiB

After

Width:  |  Height:  |  Size: 99 KiB

+76 -6
View File
@@ -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) {}
+1 -1
View File
@@ -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;