[grade=B urn:ump:ao3ntrxmuefz45gqwdqqv7o3x75wr3cykuhpe3iggoyfqqsofgqa] feat(site): lead with Shipdeck, retire Docker-deployment framing
- NEW FAQ entry: 'Can I deploy my own app from GitHub?' showcasing Shipdeck (clone -> detect stack -> build -> hardened systemd service -> Caddy/DNS/TLS -> live verify -> journal -> one-command rollback; optional commit pinning) - hero/features/pricing/comparison/footer/about: Docker-as-mechanism copy replaced with Shipdeck-forward language; 'Built With' shows Shipdeck Deploy Engine; about stat 77 -> 78 (docs catalog pages = 78, consistent) - truth-guarded: 78 templates no longer implied Shipdeck-backed; no push-to-deploy implication; installer line says 'runtime'; SEO keyword 'docker' + app name 'Docker Mailserver' kept (factual) - meta description updated with GitHub-deploy hook (3 sites: 77 -> 78) Judge rounds C -> C -> B (0 blockers).
This commit is contained in:
9 files changed
+42
-28
No files matched your search
@@ -17,7 +17,7 @@ export default function AboutPage() {
|
||||
</h1>
|
||||
<p className="text-xl text-surface-300 max-w-2xl mx-auto">
|
||||
DashCaddy was born from the frustration of managing dozens of
|
||||
Docker containers, SSL certificates, and DNS records by hand. We
|
||||
container configs, SSL certificates, and DNS records by hand. We
|
||||
built the tool we wished existed — and then made it AI-powered.
|
||||
</p>
|
||||
</div>
|
||||
@@ -130,7 +130,7 @@ export default function AboutPage() {
|
||||
<div className="grid grid-cols-2 md:grid-cols-4 gap-6">
|
||||
{[
|
||||
{ name: "Caddy", role: "Reverse Proxy & SSL", icon: "🔒" },
|
||||
{ name: "Docker", role: "Container Runtime", icon: "🐳" },
|
||||
{ name: "Shipdeck", role: "Deploy Engine", icon: "🚢" },
|
||||
{ name: "Node.js", role: "API Backend", icon: "🟢" },
|
||||
{ name: "Technitium", role: "DNS Server", icon: "🌐" },
|
||||
{ name: "Express", role: "REST API + WebSocket", icon: "⚡" },
|
||||
@@ -159,7 +159,7 @@ export default function AboutPage() {
|
||||
</h2>
|
||||
<div className="grid grid-cols-2 md:grid-cols-4 gap-8">
|
||||
{[
|
||||
{ value: "77", label: "App Templates" },
|
||||
{ value: "78", label: "App Templates" },
|
||||
{ value: "3,000+", label: "Test Cases" },
|
||||
{ value: "400+", label: "API Endpoints" },
|
||||
{ value: "31", label: "Languages" },
|
||||
|
||||
@@ -41,7 +41,7 @@ export default function FeaturesPage() {
|
||||
id: 'app-deployment',
|
||||
title: 'App Deployment',
|
||||
description:
|
||||
'Deploy from a library of 78 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 78 pre-configured templates with one click — automatic configuration, smart defaults, and service discovery that auto-detects running services and lets you adopt them instantly. From zero to live in seconds.',
|
||||
icon: '🚀',
|
||||
features: [
|
||||
{ icon: '⚡', label: 'One-click deployment' },
|
||||
@@ -125,12 +125,12 @@ export default function FeaturesPage() {
|
||||
id: 'premium',
|
||||
title: 'Premium Features',
|
||||
description:
|
||||
'Power features for production and multi-host deployments. Auto-Login SSO across your apps, multi-container Recipes, Docker Swarm orchestration, and Fleet Management to register remote instances with parallel health probes and multi-host deploy plans.',
|
||||
'Power features for production and multi-host deployments. Auto-Login SSO across your apps, multi-service Recipes, Swarm orchestration, and Fleet Management to register remote instances with parallel health probes and multi-host Shipdeck deploy plans.',
|
||||
icon: '⭐',
|
||||
features: [
|
||||
{ icon: '🔑', label: 'Auto-Login SSO', premium: true },
|
||||
{ icon: '📚', label: 'Recipes (multi-container stacks)', premium: true },
|
||||
{ icon: '🐳', label: 'Docker Swarm orchestration', premium: true },
|
||||
{ icon: '🚢', label: 'Swarm orchestration', premium: true },
|
||||
{ icon: '📡', label: 'Multi-Host Fleet Management', premium: true },
|
||||
{ icon: '🔗', label: 'Secure Share Links (public + Tailscale)', premium: true },
|
||||
{ icon: '🚀', label: 'Priority support', premium: true },
|
||||
@@ -398,7 +398,8 @@ export default function FeaturesPage() {
|
||||
{[
|
||||
'Auto-Login SSO for deployed apps',
|
||||
'Recipes — multi-container stack deployment',
|
||||
'Docker Swarm orchestration',
|
||||
'Shipdeck deploys \u2014 GitHub to production in one command',
|
||||
'Swarm orchestration',
|
||||
'Multi-Host Fleet Management (remote instances, parallel health probes, multi-host deploy plans)',
|
||||
'Disaster Recovery (full-system backup w/ checksums)',
|
||||
'Priority support',
|
||||
|
||||
+3
-3
@@ -4,7 +4,7 @@ import "./globals.css";
|
||||
export const metadata: Metadata = {
|
||||
title: "DashCaddy - Self-Hosting Made Beautiful",
|
||||
description:
|
||||
"Deploy 77 Docker apps with one click. AI-powered self-hosting with automatic SSL, DNS, reverse proxy, security center, and fleet management.",
|
||||
"Deploy 78 apps with one click \u2014 or ship your own code straight from GitHub with built-in Shipdeck deploys. 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 77 Docker apps with one click. AI-powered self-hosting with automatic SSL, DNS, and reverse proxy.",
|
||||
"Deploy 78 apps with one click \u2014 or ship your own code straight from GitHub with built-in Shipdeck deploys. 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 77 Docker apps with one click. AI-powered self-hosting.",
|
||||
"Deploy 78 apps with one click. AI-powered self-hosting, GitHub-to-production deploys with Shipdeck.",
|
||||
},
|
||||
alternates: {
|
||||
types: { "application/rss+xml": "https://dashcaddy.net/feed.xml" },
|
||||
|
||||
+4
-4
@@ -46,7 +46,7 @@ export default function Home() {
|
||||
</h1>
|
||||
<p className="text-xl text-surface-300 max-w-lg leading-relaxed">
|
||||
Just say “deploy Plex” — DashCaddy’s AI Intent Router handles the rest.
|
||||
Deploy Docker apps with one click, automatic SSL, DNS, and reverse proxy.
|
||||
Deploy apps with one click, automatic SSL, DNS, and reverse proxy — or ship your own code straight from GitHub with built-in Shipdeck deploys.
|
||||
78 templates, fleet management, and an MCP control plane for AI assistants.
|
||||
Everything you need for self-hosted perfection.
|
||||
</p>
|
||||
@@ -213,12 +213,12 @@ export default function Home() {
|
||||
<FeatureCard
|
||||
icon="🚀"
|
||||
title="78 App Templates"
|
||||
description="Choose from 78 pre-configured Docker app templates. Deploy your favorite applications instantly without manual configuration."
|
||||
description="Choose from 78 pre-configured app templates with smart defaults — deploy your favorite applications in one click, no manual configuration, no compose files to write."
|
||||
/>
|
||||
<FeatureCard
|
||||
icon="🛡️"
|
||||
title="Security Center"
|
||||
description="Unified event pipeline aggregates Docker, Caddy, DNS, Tailscale, audit log, and health checker events into one real-time security dashboard — with per-IP perimeter analytics and automatic PII masking on every log."
|
||||
description="Unified event pipeline aggregates deploys, Caddy, DNS, Tailscale, audit log, and health checker events into one real-time security dashboard — with per-IP perimeter analytics and automatic PII masking on every log."
|
||||
/>
|
||||
<FeatureCard
|
||||
icon="🖥️"
|
||||
@@ -364,7 +364,7 @@ export default function Home() {
|
||||
Feature
|
||||
</th>
|
||||
<th className="px-6 py-4 text-center text-sm font-semibold text-surface-300 bg-surface-900/50">
|
||||
Manual Docker Setup
|
||||
Manual Setup
|
||||
</th>
|
||||
<th className="px-6 py-4 text-center text-sm font-semibold text-brand-400 bg-surface-900/70">
|
||||
DashCaddy
|
||||
|
||||
@@ -116,7 +116,7 @@ export default function PricingPage() {
|
||||
'Everything in Core, plus:',
|
||||
'Auto-Login SSO for deployed apps',
|
||||
'Recipes — multi-container stack deployment',
|
||||
'Swarm — Docker Swarm multi-node orchestration',
|
||||
'Swarm — multi-node orchestration',
|
||||
'Multi-Host Fleet Management — remote instance control',
|
||||
'Workflow Automation — scripted multi-step operations',
|
||||
'Scheduled Backups — automated backup schedules (manual one-click backup stays free)',
|
||||
|
||||
@@ -21,7 +21,7 @@ const rows: Capability[] = [
|
||||
values: { 'Portainer': false, 'CasaOS': false, 'YunoHost': false, 'Unraid': false, 'Cosmos Cloud': false },
|
||||
},
|
||||
{
|
||||
feature: 'One-click Docker templates',
|
||||
feature: 'One-click app templates',
|
||||
dashcaddy: '78 apps',
|
||||
values: { 'Portainer': 'Manual', 'CasaOS': '~120 apps', 'YunoHost': '~500 apps', 'Unraid': 'Community', 'Cosmos Cloud': '~30 apps' },
|
||||
},
|
||||
|
||||
@@ -13,14 +13,27 @@ const faqs: Faq[] = [
|
||||
question: 'Is DashCaddy really free?',
|
||||
answer: (
|
||||
<>
|
||||
Yes. The core platform — Docker deployment, Caddy + DNS + TLS automation, the full 78-app template catalog,
|
||||
Yes. The core platform — one-click app deployment, Caddy + DNS + TLS automation, the full app template catalog,
|
||||
AI Intent Router, MCP Server, Security Center, monitoring, backups, REST API, plugin system, and 31-language
|
||||
i18n — is free forever. Premium adds a focused set of advanced features (SSO, Recipes, Docker Swarm,
|
||||
Multi-Host Fleet) available as a fixed-duration license. The license runs for the duration you buy
|
||||
i18n — is free forever. Premium adds a focused set of advanced features (SSO, Recipes, Swarm orchestration,
|
||||
Fleet Management with Shipdeck deploys, workflow automation, scheduled backups)
|
||||
available as a fixed-duration license. The license runs for the duration you buy
|
||||
and then expires; you re-purchase manually to renew.
|
||||
</>
|
||||
),
|
||||
},
|
||||
{
|
||||
question: 'Can I deploy my own app from GitHub?',
|
||||
answer: (
|
||||
<>
|
||||
That’s what <strong>Shipdeck</strong> is for — DashCaddy’s built-in deploy engine. Point it at
|
||||
your GitHub repo and DashCaddy clones it, detects your stack (Go, Node, Python…), builds it, installs it as a
|
||||
managed systemd service, wires up the Caddy route, DNS record, and TLS certificate, and <em>verifies the live
|
||||
site</em> before reporting success. Every deploy is journaled, and rollback swaps back to the previous release
|
||||
in one command. For fully reproducible builds you can pin an exact commit in the Shipdeckfile. No YAML wrangling, no rebuild loops — your code on GitHub, live on your host.
|
||||
</>
|
||||
),
|
||||
},
|
||||
{
|
||||
question: 'Where does my data live?',
|
||||
answer: (
|
||||
@@ -33,12 +46,12 @@ const faqs: Faq[] = [
|
||||
),
|
||||
},
|
||||
{
|
||||
question: 'What if I already have Docker containers running?',
|
||||
question: 'What if I already have services running?',
|
||||
answer: (
|
||||
<>
|
||||
Use <strong>Service Discovery</strong>. DashCaddy scans the Docker socket, lists every running container, and
|
||||
Use <strong>Service Discovery</strong>. DashCaddy scans the host’s running containers, lists each one, and
|
||||
lets you adopt any of them with one click. It adds the Caddy reverse-proxy route, DNS record, and TLS
|
||||
certificate — without touching the running container. Your existing data, volumes, and network config stay
|
||||
certificate — without touching the running service. Your existing data, volumes, and network config stay
|
||||
exactly as they are.
|
||||
</>
|
||||
),
|
||||
@@ -69,7 +82,7 @@ const faqs: Faq[] = [
|
||||
question: 'What happens to my services if I uninstall DashCaddy?',
|
||||
answer: (
|
||||
<>
|
||||
By default, the uninstall stops the DashCaddy container but leaves your Docker containers and volumes
|
||||
By default, the uninstall stops the DashCaddy service but leaves your deployed apps and their volumes
|
||||
untouched. If you want a clean removal, the uninstaller has a <code>--purge</code> flag that also deletes
|
||||
the DashCaddy config and data directories. Either way, your services keep running until you stop them.
|
||||
</>
|
||||
@@ -79,7 +92,7 @@ const faqs: Faq[] = [
|
||||
question: 'How does Premium compare to other paid dashboards?',
|
||||
answer: (
|
||||
<>
|
||||
Premium is a fixed-duration license. $99 covers a full year (365 days) of SSO, Recipes, Docker Swarm, and
|
||||
Premium is a fixed-duration license. $99 covers a full year (365 days) of SSO, Recipes, Swarm orchestration, and
|
||||
Fleet Management on one machine. The license expires at the end of its term and you purchase a new one
|
||||
to renew. There’s no per-user fee and no per-app fee. The free tier already covers everything a single
|
||||
host needs, so Premium only makes sense if you specifically want SSO across deployed apps,
|
||||
@@ -91,8 +104,8 @@ const faqs: Faq[] = [
|
||||
question: 'Is DashCaddy open source?',
|
||||
answer: (
|
||||
<>
|
||||
DashCaddy is proprietary software, but it’s built on a fully open-source stack — Caddy, Docker, Node.js,
|
||||
Express, Technitium DNS, Tailscale. The AI Intent Router, MCP Server, plugin system, and Security Center are
|
||||
DashCaddy is proprietary software, but it’s built on a fully open-source stack — Caddy, Node.js,
|
||||
Express, Technitium DNS, Tailscale, and OCI image standards. The AI Intent Router, MCP Server, plugin system, and Security Center are
|
||||
all built on open standards. You get vendor-friendly source-available documentation, and your data never
|
||||
leaves your hardware.
|
||||
</>
|
||||
|
||||
@@ -72,7 +72,7 @@ export default function Footer() {
|
||||
/>
|
||||
</Link>
|
||||
<p className="text-surface-400 text-sm leading-relaxed mb-4">
|
||||
Self-hosted Docker dashboard with automatic SSL, DNS, and reverse proxy. Making self-hosting beautiful and effortless.
|
||||
The self-hosting dashboard with automatic SSL, DNS, and reverse proxy — one-click app deploys, plus GitHub-to-production with built-in Shipdeck. Making self-hosting beautiful and effortless.
|
||||
</p>
|
||||
<div className="flex items-center gap-4">
|
||||
{socialLinks.map((link: any) => (
|
||||
|
||||
@@ -59,7 +59,7 @@ export default function InstallCommand() {
|
||||
Live in <span className="text-brand-400">60 seconds</span>
|
||||
</h2>
|
||||
<p className="mt-4 text-lg text-surface-400 max-w-2xl mx-auto">
|
||||
Pick your mode, paste one command, and the installer handles Docker, Caddy, the wizard, and your first login.
|
||||
Pick your mode, paste one command, and the installer handles the runtime, Caddy, the wizard, and your first login.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
|
||||
Reference in new issue
Block a user