Fix: replace non-existent apps with real templates, fix 500 errors on old doc paths

- AppShowcase: Removed 7 non-existent apps (Kaleidescape, Synology Photos, Homelabs, DockSTARTer, Unraid, TrueNAS, New Relic), added 50+ real app templates that exist in code
- Updated template count from 76+ to 92+ across all pages
- Fixed test count from 1400+ to 775+ (actual count)
- Added mod_rewrite fallback for old doc path redirects (fixes 500 errors)
- Added caching, compression, and proper error handling in .htaccess
This commit is contained in:
Krystie committed 2026-08-12 18:19:32 -07:00
1 parent 0bc10c373b
commit 7550ae09d8
11 files changed
+281 -202

No files matched your search

+3 -3
View File
@@ -117,7 +117,7 @@ export default function AboutPage() {
{ name: "Express", role: "REST API + WebSocket", icon: "⚡" },
{ name: "MCP", role: "AI Protocol Layer", icon: "🤖" },
{ name: "Stripe", role: "Payment Processing", icon: "💳" },
{ name: "Jest", role: "Testing (1400+ tests)", icon: "✅" },
{ name: "Jest", role: "Testing (775+ tests)", icon: "✅" },
].map((tech) => (
<div
key={tech.name}
@@ -140,8 +140,8 @@ export default function AboutPage() {
</h2>
<div className="grid grid-cols-2 md:grid-cols-4 gap-8">
{[
{ value: "76+", label: "App Templates" },
{ value: "1400+", label: "Test Cases" },
{ value: "92+", label: "App Templates" },
{ value: "775+", label: "Test Cases" },
{ value: "39", label: "SDK Methods" },
{ value: "5", label: "Languages" },
].map((stat) => (
+2 -2
View File
@@ -34,7 +34,7 @@ export default function DocsFirstServicePage() {
<h2>Three ways to add a service</h2>
<h3>1. Pick from 76+ one-click templates</h3>
<h3>1. Pick from 92+ one-click templates</h3>
<p>
The template library covers the most popular self-hosted applications — media servers, dashboards,
databases, note apps, automation tools, and more. Each template bundles sane defaults for ports,
@@ -62,7 +62,7 @@ export default function DocsFirstServicePage() {
<h3>Step 1: Open the template library</h3>
<p>
From the dashboard sidebar, click <strong>New Service → From Template</strong>. The template library
opens with a searchable grid of 76+ applications.
opens with a searchable grid of 92+ applications.
</p>
<h3>Step 2: Find Plex</h3>
+1 -1
View File
@@ -27,7 +27,7 @@ export default function DocsIntegrationsPage() {
Docker (and Docker Compose) is the runtime foundation for every deployment workflow, container lifecycle action,
service discovery sweep, and template-based launch. DashCaddy communicates with the Docker daemon over the
Unix socket (<code>/var/run/docker.sock</code>) to start, stop, restart, inspect, and adopt containers, and to
deploy the <strong>76+ one-click application templates</strong> from the catalog.
deploy the <strong>92+ one-click application templates</strong> from the catalog.
</p>
<p>
The daemon connection is established at startup. If the socket is missing or permissioned for a different user,
+1 -1
View File
@@ -162,7 +162,7 @@ export default function DocsOverviewPage() {
<tr className="border-b border-surface-800">
<td className="py-3 pr-4">Docker deployment</td>
<td className="py-3 pr-4">Manual compose files</td>
<td className="py-3 pr-4">76+ one-click templates</td>
<td className="py-3 pr-4">92+ one-click templates</td>
<td className="py-3">Templates + Recipes</td>
</tr>
<tr className="border-b border-surface-800">
+1 -1
View File
@@ -39,7 +39,7 @@ export default function DocsPremiumPage() {
</thead>
<tbody>
<tr><td>Dashboard &amp; web UI</td><td>✓</td><td>✓</td></tr>
<tr><td>76+ application templates</td><td>✓</td><td>✓</td></tr>
<tr><td>92+ application templates</td><td>✓</td><td>✓</td></tr>
<tr><td>Caddy reverse proxy + auto HTTPS</td><td>✓</td><td>✓</td></tr>
<tr><td>Caddyfile-as-Code builder</td><td>✓</td><td>✓</td></tr>
<tr><td>Technitium DNS automation</td><td>✓</td><td>✓</td></tr>
+3 -3
View File
@@ -40,11 +40,11 @@ export default function FeaturesPage() {
id: 'app-deployment',
title: 'App Deployment',
description:
'Deploy from a library of 76+ pre-configured Docker templates with one click. Automatic configuration, smart defaults, and service discovery that auto-detects running containers and lets you adopt them instantly. From zero to live in seconds.',
'Deploy from a library of 92+ pre-configured Docker templates with one click. Automatic configuration, smart defaults, and service discovery that auto-detects running containers and lets you adopt them instantly. From zero to live in seconds.',
icon: '🚀',
features: [
{ icon: '⚡', label: 'One-click deployment' },
{ icon: '📦', label: '76+ app templates' },
{ icon: '📦', label: '92+ app templates' },
{ icon: '⚙️', label: 'Automatic configuration' },
{ icon: '🔍', label: 'Service Discovery & auto-adopt' },
{ icon: '🧙', label: 'Smart Defaults Wizard' },
@@ -350,7 +350,7 @@ export default function FeaturesPage() {
</div>
<ul className="space-y-3">
{[
'76+ one-click app templates',
'92+ one-click app templates',
'Automatic SSL certificates',
'Technitium DNS automation',
'Reverse proxy + Caddyfile builder',
+3 -3
View File
@@ -4,7 +4,7 @@ import "./globals.css";
export const metadata: Metadata = {
title: "DashCaddy - Self-Hosting Made Beautiful",
description:
"Deploy 76+ Docker apps with one click. AI-powered self-hosting with automatic SSL, DNS, reverse proxy, security center, and fleet management.",
"Deploy 92+ Docker apps with one click. AI-powered self-hosting with automatic SSL, DNS, reverse proxy, security center, and fleet management.",
keywords: [
"self-hosting",
"docker",
@@ -19,7 +19,7 @@ export const metadata: Metadata = {
openGraph: {
title: "DashCaddy - Self-Hosting Made Beautiful",
description:
"Deploy 76+ Docker apps with one click. AI-powered self-hosting with automatic SSL, DNS, and reverse proxy.",
"Deploy 92+ Docker apps with one click. AI-powered self-hosting with automatic SSL, DNS, and reverse proxy.",
url: "https://dashcaddy.net",
siteName: "DashCaddy",
type: "website",
@@ -28,7 +28,7 @@ export const metadata: Metadata = {
card: "summary_large_image",
title: "DashCaddy - Self-Hosting Made Beautiful",
description:
"Deploy 76+ Docker apps with one click. AI-powered self-hosting.",
"Deploy 92+ Docker apps with one click. AI-powered self-hosting.",
},
};
+4 -4
View File
@@ -44,7 +44,7 @@ export default function Home() {
<p className="text-xl text-surface-300 max-w-lg leading-relaxed">
Just say &ldquo;deploy Plex&rdquo; — DashCaddy&rsquo;s AI Intent Router handles the rest.
Deploy Docker apps with one click, automatic SSL, DNS, and reverse proxy.
76+ templates, fleet management, and an MCP control plane for AI assistants.
92+ templates, fleet management, and an MCP control plane for AI assistants.
Everything you need for self-hosted perfection.
</p>
</div>
@@ -206,8 +206,8 @@ export default function Home() {
/>
<FeatureCard
icon="🚀"
title="76+ App Templates"
description="Choose from 76+ pre-configured Docker app templates. Deploy your favorite applications instantly without manual configuration."
title="92+ App Templates"
description="Choose from 92+ pre-configured Docker app templates. Deploy your favorite applications instantly without manual configuration."
/>
<FeatureCard
icon="🛡️"
@@ -396,7 +396,7 @@ export default function Home() {
<span className="text-surface-500">Write your own compose files</span>
</td>
<td className="px-6 py-4 text-center text-sm">
<span className="text-green-400 font-semibold">✓ 76+ pre-configured</span>
<span className="text-green-400 font-semibold">✓ 92+ pre-configured</span>
</td>
</tr>
<tr className="hover:bg-surface-800/30 transition-colors">
+3 -3
View File
@@ -36,7 +36,7 @@ export default function PricingPage() {
const coreFeatures = [
'Dashboard & real-time service monitoring',
'76+ pre-configured app templates',
'92+ pre-configured app templates',
'Automatic SSL via Caddy internal CA',
'DNS automation via Technitium DNS',
'Reverse proxy management + Caddyfile-as-Code',
@@ -78,7 +78,7 @@ export default function PricingPage() {
},
{
question: 'Can I use DashCaddy without Premium?',
answer: 'Absolutely. The core platform is fully functional without a license — including AI commands, the Security Center, service discovery, monitoring, backup, and all 76+ app templates. Premium unlocks SSO, Recipes, Swarm orchestration, and Fleet Management for advanced multi-node setups.',
answer: 'Absolutely. The core platform is fully functional without a license — including AI commands, the Security Center, service discovery, monitoring, backup, and all 92+ app templates. Premium unlocks SSO, Recipes, Swarm orchestration, and Fleet Management for advanced multi-node setups.',
},
{
question: 'How many machines can I activate?',
@@ -110,7 +110,7 @@ export default function PricingPage() {
Simple, Transparent <span className="text-brand-400">Pricing</span>
</h1>
<p className="text-xl text-surface-300 mb-8 max-w-2xl mx-auto">
The core platform is completely free — including AI commands, Security Center, and all 76+ app templates. Premium unlocks advanced orchestration with a one-time payment.
The core platform is completely free — including AI commands, Security Center, and all 92+ app templates. Premium unlocks advanced orchestration with a one-time payment.
</p>
</div>
</section>