diff --git a/src/app/docs/premium/page.tsx b/src/app/docs/premium/page.tsx index 91a40a1..fc2ada3 100644 --- a/src/app/docs/premium/page.tsx +++ b/src/app/docs/premium/page.tsx @@ -52,7 +52,7 @@ export default function DocsPremiumPage() { Encrypted credential storage✓✓ Security Center & audit logging✓✓ AI Intent Router & MCP Server✓✓ - JavaScript SDK (39 methods)✓✓ + REST API & MCP Server✓✓ Backup / restore & Disaster Recovery✓✓ Internationalization (5 languages)✓✓ Plugin & extension system✓✓ diff --git a/src/app/favicon.ico b/src/app/favicon.ico index c252894..e37da60 100644 Binary files a/src/app/favicon.ico and b/src/app/favicon.ico differ diff --git a/src/app/favicon.png b/src/app/favicon.png index b6037d5..bacd923 100644 Binary files a/src/app/favicon.png and b/src/app/favicon.png differ diff --git a/src/app/features/page.tsx b/src/app/features/page.tsx index fd272db..57f52ef 100644 --- a/src/app/features/page.tsx +++ b/src/app/features/page.tsx @@ -109,12 +109,12 @@ export default function FeaturesPage() { id: 'developer-platform', title: 'Developer Platform', description: - 'DashCaddy isn\'t just a UI—it\'s a platform. A typed JavaScript SDK with 39 methods, a full REST API, a plugin/extension system for custom workflows, and internationalization across 5 languages including full RTL support.', + 'DashCaddy isn\'t just a UI—it\'s a platform. A full REST API with JSON endpoints, a plugin/extension system for custom workflows, and internationalization across 5 languages including full RTL support.', icon: '🛠️', features: [ - { icon: '📘', label: 'JavaScript SDK + TypeScript types (39 methods)' }, + { icon: '🌐', label: 'REST API (JSON, MCP protocol)' }, { icon: '🔌', label: 'Plugin / Extension system' }, - { icon: '🌐', label: 'REST API' }, + { icon: '🔄', label: 'Auto-update manager' }, { icon: '🌍', label: 'i18n: EN/ES/FR/DE/AR (RTL)' }, ], }, diff --git a/src/app/page.tsx b/src/app/page.tsx index 1642eb3..31ae827 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -563,8 +563,8 @@ export default function Home() {
📦
-

JavaScript SDK

-

39 methods, zero-dep

+

REST API

+

Full JSON API

📊
diff --git a/src/app/pricing/page.tsx b/src/app/pricing/page.tsx index 10daf34..3852301 100644 --- a/src/app/pricing/page.tsx +++ b/src/app/pricing/page.tsx @@ -50,7 +50,7 @@ export default function PricingPage() { 'Audit logging & encrypted credential vault', 'One-click backup & disaster recovery', 'Plugin/extension system', - 'JavaScript SDK + TypeScript types (39 methods)', + 'REST API & MCP Server for AI assistants', 'Prometheus metrics export', 'i18n — 5 languages (EN/ES/FR/DE/AR)', ]; diff --git a/src/components/AppShowcase.tsx b/src/components/AppShowcase.tsx index 3a79c24..7aa0202 100644 --- a/src/components/AppShowcase.tsx +++ b/src/components/AppShowcase.tsx @@ -9,110 +9,133 @@ interface App { } // All apps below have real deployable templates in DashCaddy. -// Verified against src/docker/app-templates.js (76 templates, Aug 2026). +// Auto-generated from src/docker/app-templates.js (92 templates, Aug 2026). const apps: App[] = [ // Media { name: 'Plex', icon: '🎬', category: 'Media' }, { name: 'Jellyfin', icon: '🍿', category: 'Media' }, { name: 'Emby', icon: '🎥', category: 'Media' }, - { name: 'Airsonic', icon: '🎵', category: 'Media' }, { name: 'Navidrome', icon: '🎶', category: 'Media' }, + { name: 'Airsonic Advanced', icon: '🎧', category: 'Media' }, { name: 'Audiobookshelf', 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' }, + { name: 'Komga', icon: '📚', category: 'Media' }, + { name: 'Kavita', icon: '📖', category: 'Media' }, + { name: 'Subsonic', icon: '🎵', category: 'Media' }, // Media Management { name: 'Sonarr', icon: '📺', category: 'Media Mgmt' }, - { name: 'Radarr', icon: '🎬', category: 'Media Mgmt' }, + { name: 'Radarr', icon: '🎭', category: 'Media Mgmt' }, + { name: 'Prowlarr', 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: 'Jellyseerr', icon: '🎯', category: 'Media Mgmt' }, + { name: 'Seerr', icon: '🎫', category: 'Media Mgmt' }, { name: 'Tautulli', icon: '📊', category: 'Media Mgmt' }, // 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: 'qBittorrent', icon: '⬇️', category: 'Downloads' }, + { name: 'SABnzbd', icon: '📰', category: 'Downloads' }, + { name: 'NZBGet', icon: '📥', category: 'Downloads' }, + { name: 'Transmission', icon: '🌊', category: 'Downloads' }, + { name: 'JDownloader 2', icon: '⬇️', category: 'Downloads' }, // Productivity { name: 'Nextcloud', icon: '☁️', category: 'Productivity' }, - { name: 'Actual Budget', icon: '💰', category: 'Productivity' }, - { name: 'BookStack', 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: 'Standard Notes', icon: '🔒', category: 'Productivity' }, + { name: 'Actual Budget', icon: '💰', category: 'Productivity' }, { name: 'Mealie', icon: '🍳', category: 'Productivity' }, - { name: 'Standard Notes', icon: '🗒️', category: 'Productivity' }, - { name: 'Trilium', icon: '🌳', category: 'Productivity' }, - { name: 'Excalidraw', icon: '✏️', category: 'Productivity' }, + { name: 'Paperless-ngx', icon: '📚', category: 'Productivity' }, + { name: 'Trilium Notes', icon: '🗒️', category: 'Productivity' }, + { name: 'Excalidraw', icon: '🎨', category: 'Productivity' }, + { name: 'Vikunja', icon: '✅', category: 'Productivity' }, + { name: 'OpenProject', icon: '📋', category: 'Productivity' }, + { name: 'Plane', icon: '✈️', category: 'Productivity' }, + { name: 'HedgeDoc', icon: '📝', category: 'Productivity' }, - // Management - { name: 'Portainer', icon: '🐋', category: 'Management' }, - { name: 'Watchtower', icon: '🗼', category: 'Management' }, + // Photos + { name: 'Immich', icon: '📸', category: 'Photos' }, + { name: 'PhotoPrism', icon: '🖼️', category: 'Photos' }, - // Files & Sync + // Files { name: 'FileBrowser', icon: '📁', category: 'Files' }, { name: 'Syncthing', icon: '🔄', category: 'Files' }, + { name: 'Sami Files', icon: '📂', category: 'Files' }, + + // Management + { name: 'Portainer', icon: '🐳', category: 'Management' }, + { name: 'Watchtower', icon: '👓', category: 'Management' }, + { name: 'Yacht', icon: '⛵', category: 'Management' }, // Security - { name: 'Vaultwarden', icon: '🔐', category: 'Security' }, - { name: 'Authentik', icon: '🪪', category: 'Security' }, + { name: 'Vaultwarden', icon: '🔑', category: 'Security' }, + { name: 'DashCA', icon: '🔐', category: 'Security' }, + { name: 'Authentik', icon: '🔐', category: 'Security' }, { name: 'CrowdSec', icon: '🛡️', category: 'Security' }, - { name: 'WireGuard', icon: '📡', category: 'Security' }, + { name: 'Authelia', icon: '🛡️', category: 'Security' }, + { name: 'Keycloak', icon: '🔑', category: 'Security' }, + { name: 'OpenVPN', icon: '🔒', category: 'Security' }, + { name: 'Bitwarden', icon: '🔐', category: 'Security' }, // Development - { name: 'Gitea', icon: '🐙', category: 'Development' }, - { name: 'Jenkins', icon: '🤖', category: 'Development' }, - { name: 'Drone CI', icon: '🚁', category: 'Development' }, - { name: 'Code Server', icon: '💻', category: 'Development' }, + { name: 'VS Code Server', icon: '💻', category: 'Development' }, + { name: 'Gitea', icon: '🦊', category: 'Development' }, + { name: 'Jenkins', icon: '🔧', category: 'Development' }, + { name: 'Drone CI', icon: '🐝', category: 'Development' }, + { name: 'Forgejo', icon: '🔧', category: 'Development' }, + { name: 'GitLab', icon: '🦚', category: 'Development' }, // Monitoring { name: 'Grafana', icon: '📊', category: 'Monitoring' }, { name: 'Uptime Kuma', icon: '📈', category: 'Monitoring' }, - { name: 'Dozzle', icon: '🔍', category: 'Monitoring' }, - { name: 'Speedtest', icon: '⚡', category: 'Monitoring' }, + { name: 'Speedtest Tracker', icon: '⚡', category: 'Monitoring' }, + { name: 'Dozzle', icon: '📜', category: 'Monitoring' }, + { name: 'Prometheus', icon: '🔥', category: 'Monitoring' }, + { name: 'Netdata', icon: '📈', category: 'Monitoring' }, + { name: 'Kibana', icon: '📉', category: 'Monitoring' }, - // Smart Home - { name: 'Home Assistant', icon: '🏡', category: 'Smart Home' }, - { name: 'Node-RED', icon: '🔴', category: 'Smart Home' }, + // Networking + { name: 'Pi-hole', icon: '🛡️', category: 'Networking' }, + { name: 'WireGuard VPN', icon: '🔒', category: 'Networking' }, - // DNS & Network - { name: 'Pi-hole', icon: '🕳️', category: 'Network' }, - { name: 'Technitium', icon: '🌐', category: 'Network' }, - { name: 'BIND9', icon: '🔗', category: 'Network' }, - { name: 'CoreDNS', icon: '🔶', category: 'Network' }, - { name: 'PowerDNS', icon: '⚡', category: 'Network' }, + // DNS + { name: 'Technitium DNS Server', icon: '🌐', category: 'DNS' }, + { name: 'BIND9 DNS Server', icon: '🔧', category: 'DNS' }, + { name: 'PowerDNS', icon: '⚡', category: 'DNS' }, + { name: 'CoreDNS', icon: '☁️', category: 'DNS' }, // Communication - { name: 'Matrix', icon: '💬', category: 'Communication' }, + { name: 'Docker Mailserver', icon: '📧', category: 'Communication' }, + { name: 'Roundcube', icon: '💌', category: 'Communication' }, + { name: 'Matrix Synapse', 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' }, + { name: 'MongoDB', icon: '🍃', category: 'Database' }, + { name: 'Adminer', icon: '🗄️', category: 'Database' }, // Gaming - { name: 'Minecraft', icon: '⛏️', category: 'Gaming' }, - { name: 'Valheim', icon: '⚔️', category: 'Gaming' }, + { name: 'Minecraft Server', icon: '⛏️', category: 'Gaming' }, + { name: 'Valheim Server', icon: '⚔️', category: 'Gaming' }, + + // Home Automation + { name: 'Home Assistant', icon: '🏠', category: 'Home Automation' }, + { name: 'Node-RED', icon: '🔴', category: 'Home Automation' }, + { name: 'OpenHAB', icon: '⚙️', category: 'Home Automation' }, // 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' }, + { name: 'Homepage', icon: '🏡', category: 'Utilities' }, + { name: 'Homarr', icon: '🎯', category: 'Utilities' }, + { name: 'Change Detection', icon: '👁️', category: 'Utilities' }, + { name: 'Whoami', icon: '🔍', category: 'Utilities' }, + { name: 'Stirling PDF', icon: '📄', category: 'Utilities' }, + { name: 'IT Tools', icon: '🧰', category: 'Utilities' }, ]; const categories = [ @@ -121,16 +144,18 @@ const categories = [ 'Media Mgmt', 'Downloads', 'Productivity', - 'Management', + 'Photos', 'Files', + 'Management', 'Security', 'Development', 'Monitoring', - 'Smart Home', - 'Network', + 'Networking', + 'DNS', 'Communication', 'Database', 'Gaming', + 'Home Automation', 'Utilities', ]; @@ -148,7 +173,7 @@ export default function AppShowcase() { {/* Header */}

- 76+ One-Click App Templates + 92+ One-Click App Templates

Deploy your favorite apps instantly with pre-configured templates, automatic SSL certificates, and integrated DNS management. @@ -206,7 +231,7 @@ export default function AppShowcase() {

- 76+ + 92+

App Templates