'use client'; import { useState } from 'react'; interface App { name: string; icon: string; category: string; } const apps: App[] = [ // Media { name: 'Plex', icon: '🎬', category: 'Media' }, { name: 'Jellyfin', icon: '📽️', category: 'Media' }, { name: 'Kaleidescape', icon: '🎞️', category: 'Media' }, { name: 'Emby', icon: '🎥', category: 'Media' }, { name: 'Subsonic', icon: '🎵', category: 'Media' }, { name: 'Synology Photos', icon: '📸', category: 'Media' }, // Downloads { name: 'Sonarr', icon: '📺', category: 'Downloads' }, { name: 'Radarr', icon: '🎬', category: 'Downloads' }, { name: 'Lidarr', icon: '🎶', category: 'Downloads' }, { name: 'qBittorrent', icon: '⚡', category: 'Downloads' }, { name: 'Transmission', icon: '📤', category: 'Downloads' }, { name: 'SABnzbd', icon: '📥', category: 'Downloads' }, // Productivity { name: 'Nextcloud', icon: '☁️', category: 'Productivity' }, { name: 'Vikunja', icon: '✓', category: 'Productivity' }, { name: 'OpenProject', icon: '📋', category: 'Productivity' }, { name: 'Plane', icon: '🚀', category: 'Productivity' }, { name: 'Actual Budget', icon: '💰', category: 'Productivity' }, { name: 'HedgeDoc', icon: '📝', category: 'Productivity' }, // Management { name: 'Portainer', icon: '🐋', category: 'Management' }, { name: 'Homelabs', icon: '🏠', category: 'Management' }, { name: 'Yacht', icon: '⛵', category: 'Management' }, { name: 'DockSTARTer', icon: '⭐', category: 'Management' }, { name: 'Unraid', icon: '📦', category: 'Management' }, { name: 'TrueNAS', icon: '💾', category: 'Management' }, // Security { name: 'Vaultwarden', icon: '🔐', category: 'Security' }, { name: 'Bitwarden', icon: '🗝️', category: 'Security' }, { name: 'Keycloak', icon: '🔑', category: 'Security' }, { name: 'Authelia', icon: '🛡️', category: 'Security' }, { name: 'OpenVPN', icon: '🌐', category: 'Security' }, { name: 'WireGuard', icon: '📡', category: 'Security' }, // Development { name: 'Gitea', icon: '🐙', category: 'Development' }, { name: 'GitLab', icon: '🦊', category: 'Development' }, { name: 'Forgejo', icon: '🔧', category: 'Development' }, { name: 'Jenkins', icon: '🤖', category: 'Development' }, { name: 'Drone', icon: '🚁', category: 'Development' }, { name: 'Code Server', icon: '💻', category: 'Development' }, // Monitoring { name: 'Grafana', icon: '📊', category: 'Monitoring' }, { name: 'Prometheus', icon: '⚙️', category: 'Monitoring' }, { name: 'Uptime Kuma', icon: '📈', category: 'Monitoring' }, { name: 'Netdata', icon: '🔍', category: 'Monitoring' }, { name: 'New Relic', icon: '👁️', category: 'Monitoring' }, { name: 'Kibana', icon: '📉', category: 'Monitoring' }, // Additional { name: 'Home Assistant', icon: '🏡', category: 'Smart Home' }, { name: 'Node-RED', icon: '🔴', category: 'Smart Home' }, { name: 'OpenHAB', icon: '⚙️', category: 'Smart Home' }, { name: 'Immich', icon: '📷', category: 'Media' }, { name: 'Calibre', icon: '📚', category: 'Productivity' }, { name: 'Paperless', icon: '📄', category: 'Productivity' }, ]; const categories = [ 'All', 'Media', 'Downloads', 'Productivity', 'Management', 'Security', 'Development', 'Monitoring', 'Smart Home', ]; export default function AppShowcase() { const [activeCategory, setActiveCategory] = useState('All'); const filteredApps = activeCategory === 'All' ? apps : apps.filter((app) => app.category === activeCategory); return (
{/* Header */}

50+ One-Click App Templates

Deploy your favorite apps instantly with pre-configured templates, automatic SSL certificates, and integrated DNS management.

{/* Category Filter */}
{categories.map((category) => ( ))}
{/* App Grid */}
{filteredApps.map((app) => (
{/* Background gradient on hover */}
{/* Icon */}
{app.icon}
{/* App Name */}

{app.name}

{/* Category Tag */} {app.category}
))}
{/* Stats */}
50+

App Templates

0

Configuration

1-Click

Deploy

); }