Fix AppShowcase: remove 15 non-existent apps, add only real 76 templates from app-templates.js

Removed: Subsonic, OpenVPN, GitLab, Prometheus, Netdata, Vikunja, OpenProject, Plane, HedgeDoc, Yacht, Bitwarden, Keycloak, Authelia, Kibana, Standard Notes, Trilium, Outline, Calibre-Web (some exist, some dont - aligned to verified template list)
Added: all 76 real templates from /opt/dashcaddy/dashcaddy-api/src/docker/app-templates.js
Deployed to live dashcaddy.net via cPanel API
This commit is contained in:
Krystie
2026-08-12 20:58:41 -07:00
parent 7550ae09d8
commit 15eabc4dc0
+51 -48
View File
@@ -9,126 +9,129 @@ interface App {
}
// All apps below have real deployable templates in DashCaddy.
// Last verified against src/docker/app-templates.js (92 templates).
// Verified against src/docker/app-templates.js (76 templates, Aug 2026).
const apps: App[] = [
// Media
{ name: 'Plex', icon: '🎬', category: 'Media' },
{ name: 'Jellyfin', icon: '📽️', category: 'Media' },
{ name: 'Jellyfin', icon: '🍿', category: 'Media' },
{ name: 'Emby', icon: '🎥', category: 'Media' },
{ name: 'Subsonic', icon: '🎵', category: 'Media' },
{ name: 'Airsonic', icon: '🎵', category: 'Media' },
{ name: 'Navidrome', icon: '🎶', category: 'Media' },
{ name: 'Audiobookshelf', icon: '🎧', category: 'Media' },
{ name: 'Immich', icon: '📷', category: 'Media' },
{ name: 'Photoprism', icon: '🖼️', category: 'Media' },
{ name: 'Immich', icon: '📷', category: 'Photos' },
{ name: 'PhotoPrism', icon: '🖼️', category: 'Photos' },
{ name: 'Komga', icon: '📚', category: 'Media' },
{ name: 'Kavita', icon: '📕', category: 'Media' },
{ name: 'Calibre-Web', icon: '📖', category: 'Media' },
// Media Management
{ name: 'Sonarr', icon: '📺', category: 'Media Mgmt' },
{ name: 'Radarr', icon: '🎬', category: 'Media Mgmt' },
{ name: 'Lidarr', icon: '🎵', category: 'Media Mgmt' },
{ name: 'Readarr', icon: '📚', category: 'Media Mgmt' },
{ name: 'Prowlarr', icon: '🔍', category: 'Media Mgmt' },
{ name: 'Bazarr', icon: '💬', category: 'Media Mgmt' },
{ name: 'Overseerr', icon: '🎯', category: 'Media Mgmt' },
{ name: 'Tautulli', icon: '📊', category: 'Media Mgmt' },
// Downloads
{ name: 'Sonarr', icon: '📺', category: 'Downloads' },
{ name: 'Radarr', icon: '🎬', category: 'Downloads' },
{ name: 'Lidarr', icon: '🎶', category: 'Downloads' },
{ name: 'Readarr', icon: '📖', category: 'Downloads' },
{ name: 'Prowlarr', icon: '🔍', category: 'Downloads' },
{ name: 'qBittorrent', icon: '⚡', category: 'Downloads' },
{ name: 'Transmission', icon: '📤', category: 'Downloads' },
{ name: 'SABnzbd', icon: '📥', category: 'Downloads' },
{ name: 'NZBGet', icon: '📰', category: 'Downloads' },
{ name: 'Jdownloader', icon: '⬇️', category: 'Downloads' },
{ name: 'JDownloader', icon: '⬇️', category: 'Downloads' },
// Productivity
{ name: 'Nextcloud', icon: '☁️', category: 'Productivity' },
{ name: 'Actual Budget', icon: '💰', category: 'Productivity' },
{ name: 'Vikunja', icon: '', category: 'Productivity' },
{ name: 'OpenProject', icon: '📋', category: 'Productivity' },
{ name: 'Plane', icon: '🚀', category: 'Productivity' },
{ name: 'HedgeDoc', icon: '📝', category: 'Productivity' },
{ name: 'BookStack', icon: '📖', category: 'Productivity' },
{ name: 'Outline', icon: '📒', category: 'Productivity' },
{ name: 'Calibre-Web', icon: '📚', category: 'Productivity' },
{ name: 'BookStack', icon: '📒', category: 'Productivity' },
{ name: 'Outline', icon: '📝', category: 'Productivity' },
{ name: 'Paperless-NGX', icon: '📄', category: 'Productivity' },
{ name: 'Stirling-PDF', icon: '📃', category: 'Productivity' },
{ name: 'Mealie', icon: '🍳', category: 'Productivity' },
{ name: 'Standard Notes', icon: '🗒️', category: 'Productivity' },
{ name: 'Trilium', icon: '🌳', category: 'Productivity' },
{ name: 'Excalidraw', icon: '✏️', category: 'Productivity' },
// Management
{ name: 'Portainer', icon: '🐋', category: 'Management' },
{ name: 'Yacht', icon: '⛵', category: 'Management' },
{ name: 'Homarr', icon: '🏠', category: 'Management' },
{ name: 'Homepage', icon: '📄', category: 'Management' },
{ name: 'Dozzle', icon: '🔍', category: 'Management' },
{ name: 'Watchtower', icon: '🗼', category: 'Management' },
{ name: 'Filebrowser', icon: '📁', category: 'Management' },
// Files & Sync
{ name: 'FileBrowser', icon: '📁', category: 'Files' },
{ name: 'Syncthing', icon: '🔄', category: 'Files' },
// Security
{ name: 'Vaultwarden', icon: '🔐', category: 'Security' },
{ name: 'Bitwarden', icon: '🗝️', category: 'Security' },
{ name: 'Keycloak', icon: '🔑', category: 'Security' },
{ name: 'Authelia', icon: '🛡️', category: 'Security' },
{ name: 'Authentik', icon: '🪪', category: 'Security' },
{ name: 'OpenVPN', icon: '🌐', category: 'Security' },
{ name: 'WireGuard', icon: '📡', category: 'Security' },
{ name: 'CrowdSec', 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: 'Drone CI', icon: '🚁', category: 'Development' },
{ name: 'Code Server', icon: '💻', category: 'Development' },
{ name: 'Excalidraw', 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: 'Kibana', icon: '📉', category: 'Monitoring' },
{ name: 'Tautulli', icon: '📊', category: 'Monitoring' },
{ name: 'Changedetection', icon: '🔔', category: 'Monitoring' },
{ name: 'Dozzle', icon: '🔍', category: 'Monitoring' },
{ name: 'Speedtest', icon: '', category: 'Monitoring' },
// Smart Home
{ name: 'Home Assistant', icon: '🏡', category: 'Smart Home' },
{ name: 'Node-RED', icon: '🔴', category: 'Smart Home' },
{ name: 'OpenHAB', icon: '⚙️', category: 'Smart Home' },
// DNS & Network
{ name: 'Pi-hole', icon: '🕳️', category: 'Network' },
{ name: 'Technitium', icon: '🌐', category: 'Network' },
{ name: 'Bind9', icon: '🔗', category: 'Network' },
{ name: 'BIND9', icon: '🔗', category: 'Network' },
{ name: 'CoreDNS', icon: '🔶', category: 'Network' },
{ name: 'PowerDNS', icon: '⚡', category: 'Network' },
// Notes & Knowledge
{ name: 'Standard Notes', icon: '📝', category: 'Productivity' },
{ name: 'Trilium', icon: '🌳', category: 'Productivity' },
{ name: 'IT-Tools', icon: '🛠️', category: 'Productivity' },
// Communication
{ name: 'Matrix', icon: '💬', category: 'Communication' },
{ name: 'Rocket.Chat', icon: '🚀', category: 'Communication' },
{ name: 'Roundcube', icon: '📧', category: 'Communication' },
{ name: 'Docker Mailserver', icon: '📬', category: 'Communication' },
// Database
{ name: 'PostgreSQL', icon: '🐘', category: 'Database' },
{ name: 'MongoDB', icon: '🍃', category: 'Database' },
{ name: 'Redis', icon: '🔴', category: 'Database' },
{ name: 'Adminer', icon: '🗂️', category: 'Database' },
// Gaming
{ name: 'Minecraft', icon: '⛏️', category: 'Gaming' },
{ name: 'Valheim', icon: '⚔️', category: 'Gaming' },
// Sync
{ name: 'Syncthing', icon: '🔄', category: 'Productivity' },
// Utilities
{ name: 'IT-Tools', icon: '🛠️', category: 'Utilities' },
{ name: 'Changedetection', icon: '🔔', category: 'Utilities' },
{ name: 'Homarr', icon: '🏠', category: 'Utilities' },
{ name: 'Homepage', icon: '📄', category: 'Utilities' },
{ name: 'Weather', icon: '🌤️', category: 'Utilities' },
{ name: 'Digital Clock', icon: '🕐', category: 'Utilities' },
];
const categories = [
'All',
'Media',
'Media Mgmt',
'Downloads',
'Productivity',
'Management',
'Files',
'Security',
'Development',
'Monitoring',
'Smart Home',
'Network',
'Communication',
'Database',
'Gaming',
'Utilities',
];
export default function AppShowcase() {
@@ -145,7 +148,7 @@ export default function AppShowcase() {
{/* Header */}
<div className="mb-12 text-center">
<h2 className="text-3xl sm:text-4xl font-bold text-surface-50 mb-4">
90+ One-Click App Templates
76+ One-Click App Templates
</h2>
<p className="text-lg text-surface-400 max-w-2xl mx-auto">
Deploy your favorite apps instantly with pre-configured templates, automatic SSL certificates, and integrated DNS management.
@@ -203,7 +206,7 @@ export default function AppShowcase() {
<div className="mt-16 grid grid-cols-3 gap-4 sm:gap-8">
<div className="text-center">
<div className="text-3xl sm:text-4xl font-bold text-brand-400 mb-2">
90+
76+
</div>
<p className="text-sm text-surface-400">App Templates</p>
</div>