From a7078166687cd7b7e3c8f65a0ef91d07e188df8e Mon Sep 17 00:00:00 2001 From: Krystie Date: Fri, 9 Oct 2026 02:06:06 -0700 Subject: [PATCH] =?UTF-8?q?[pending-judge]=20docs(site):=20DC-165=20unifor?= =?UTF-8?q?mity=20=E2=80=94=20counts=2077->78,=20internal-identifier=20swe?= =?UTF-8?q?ep,=20advertise=20workflows/scheduled-backups/calendar/Connect?= =?UTF-8?q?=20AI,=20capabilities=20pointer=20for=20LLMs?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Product-code half (fleet gate, capabilities endpoint, offline feature migration, PREMIUM_FEATURES completion) lives in the dashcaddy repo, branch dc/DC-165-uniformity — judged as one bundle. Site edits (all claims verified against product source, see EVIDENCE [9]): - template count 77 -> 78 EVERYWHERE (page.tsx, features, pricing, docs, blog bodies + manifest.ts frontmatter per three-way consistency rule, AppShowcase, DocsLayout, FaqSection). Source of truth: APP_TEMPLATES keys == 78. - internal-identifier leak sweep: 85 occurrences of *.sami (internal TLD), an internal Git host URL, a private venv path, and a server-local repo path in pricing comment -> replaced with the documented .home style / generic wording. status.sami replaced by dashcaddy.local (product default dashboardHost). Verified ZERO remaining in rebuilt out/. - advertise as Premium (owner decision 2026-10-09): pricing premium list + FAQ + docs/premium table + two new deep-dive sections (Workflow Automation: the five bundled ids from bundled-workflows.js; Scheduled Backups: schedule fields from the /backups/schedule schema, manual one-click + DR explicitly noted as free). - calendar widget + hosted-Radicale auto-wiring advertised (features page chip + new docs/catalog/radicale install guide following house template structure; syncthing page mirrored for the placeholder conventions). - Connect AI one-click key flow advertised (features chip). - MCP card softened: 'entire infrastructure' -> the real tool scope + pointer to GET /api/v1/capabilities (public ground-truth manifest). - llms.txt: capabilities endpoint pointer + 'prefer it over static prose' + MCP tool examples + premium gate list; robots.txt gains LLMs-Txt line. - NOTE: a parked unrelated work-in-progress (dc-seo-r8 blog edits) was stashed before the build and is NOT in this commit. Build gate: rm -rf .next out && npm run build -> clean, 123 static pages, out/ greps zero stale counts/leaks. --- public/llms.txt | 19 ++- public/robots.txt | 1 + src/app/docs/catalog/actual-budget/page.tsx | 12 +- src/app/docs/catalog/adminer/page.tsx | 12 +- src/app/docs/catalog/airsonic/page.tsx | 12 +- src/app/docs/catalog/audiobookshelf/page.tsx | 12 +- src/app/docs/catalog/authentik/page.tsx | 12 +- src/app/docs/catalog/bazarr/page.tsx | 12 +- src/app/docs/catalog/bind9/page.tsx | 16 +-- src/app/docs/catalog/bookstack/page.tsx | 12 +- src/app/docs/catalog/calibre-web/page.tsx | 12 +- src/app/docs/catalog/changedetection/page.tsx | 12 +- src/app/docs/catalog/coredns/page.tsx | 14 +-- src/app/docs/catalog/crowdsec/page.tsx | 12 +- src/app/docs/catalog/dashca/page.tsx | 14 +-- src/app/docs/catalog/digital-clock/page.tsx | 12 +- src/app/docs/catalog/dozzle/page.tsx | 12 +- src/app/docs/catalog/drone/page.tsx | 12 +- src/app/docs/catalog/emby/page.tsx | 12 +- src/app/docs/catalog/excalidraw/page.tsx | 12 +- src/app/docs/catalog/filebrowser/page.tsx | 12 +- src/app/docs/catalog/gitea/page.tsx | 12 +- src/app/docs/catalog/grafana/page.tsx | 12 +- src/app/docs/catalog/homarr/page.tsx | 12 +- src/app/docs/catalog/homeassistant/page.tsx | 12 +- src/app/docs/catalog/homepage/page.tsx | 12 +- src/app/docs/catalog/immich/page.tsx | 12 +- src/app/docs/catalog/it-tools/page.tsx | 12 +- src/app/docs/catalog/jdownloader/page.tsx | 12 +- src/app/docs/catalog/jellyfin/page.tsx | 12 +- src/app/docs/catalog/jenkins/page.tsx | 12 +- src/app/docs/catalog/kavita/page.tsx | 12 +- src/app/docs/catalog/komga/page.tsx | 12 +- src/app/docs/catalog/lidarr/page.tsx | 12 +- src/app/docs/catalog/mailserver/page.tsx | 12 +- src/app/docs/catalog/matrix/page.tsx | 12 +- src/app/docs/catalog/mealie/page.tsx | 12 +- src/app/docs/catalog/minecraft/page.tsx | 12 +- src/app/docs/catalog/mongodb/page.tsx | 12 +- src/app/docs/catalog/navidrome/page.tsx | 12 +- src/app/docs/catalog/nextcloud/page.tsx | 12 +- src/app/docs/catalog/nodered/page.tsx | 12 +- src/app/docs/catalog/nzbget/page.tsx | 12 +- src/app/docs/catalog/outline/page.tsx | 12 +- src/app/docs/catalog/page.tsx | 6 +- src/app/docs/catalog/paperless-ngx/page.tsx | 12 +- src/app/docs/catalog/photoprism/page.tsx | 12 +- src/app/docs/catalog/pihole/page.tsx | 12 +- src/app/docs/catalog/plex/page.tsx | 12 +- src/app/docs/catalog/portainer/page.tsx | 12 +- src/app/docs/catalog/postgres/page.tsx | 12 +- src/app/docs/catalog/powerdns/page.tsx | 16 +-- src/app/docs/catalog/prowlarr/page.tsx | 12 +- src/app/docs/catalog/qbittorrent/page.tsx | 12 +- src/app/docs/catalog/radarr/page.tsx | 12 +- src/app/docs/catalog/radicale/page.tsx | 117 ++++++++++++++++++ src/app/docs/catalog/readarr/page.tsx | 12 +- src/app/docs/catalog/redis/page.tsx | 12 +- src/app/docs/catalog/rocketchat/page.tsx | 12 +- src/app/docs/catalog/roundcube/page.tsx | 12 +- src/app/docs/catalog/sabnzbd/page.tsx | 12 +- src/app/docs/catalog/sami-files/page.tsx | 18 +-- src/app/docs/catalog/seerr/page.tsx | 12 +- src/app/docs/catalog/sonarr/page.tsx | 12 +- src/app/docs/catalog/speedtest/page.tsx | 12 +- src/app/docs/catalog/standardnotes/page.tsx | 12 +- src/app/docs/catalog/stirling-pdf/page.tsx | 12 +- src/app/docs/catalog/syncthing/page.tsx | 12 +- src/app/docs/catalog/tautulli/page.tsx | 12 +- src/app/docs/catalog/technitium/page.tsx | 16 +-- src/app/docs/catalog/transmission/page.tsx | 12 +- src/app/docs/catalog/trilium/page.tsx | 12 +- src/app/docs/catalog/uptime-kuma/page.tsx | 12 +- src/app/docs/catalog/valheim/page.tsx | 12 +- src/app/docs/catalog/vaultwarden/page.tsx | 12 +- src/app/docs/catalog/vintage-radio/page.tsx | 14 +-- src/app/docs/catalog/vscode-server/page.tsx | 12 +- src/app/docs/catalog/watchtower/page.tsx | 12 +- src/app/docs/catalog/weather/page.tsx | 12 +- src/app/docs/catalog/whoami/page.tsx | 12 +- src/app/docs/catalog/wireguard/page.tsx | 12 +- src/app/docs/first-service/page.tsx | 4 +- src/app/docs/integrations/page.tsx | 2 +- src/app/docs/overview/page.tsx | 2 +- src/app/docs/premium/page.tsx | 23 +++- src/app/features/page.tsx | 8 +- src/app/page.tsx | 10 +- src/app/pricing/page.tsx | 10 +- src/components/AppShowcase.tsx | 6 +- src/components/CompetitorComparison.tsx | 2 +- src/components/FaqSection.tsx | 2 +- src/components/docs/DocsLayout.tsx | 2 +- src/content/blog/best-homelab-dashboard.md | 2 +- .../blog/best-self-hosted-apps-homelab.md | 4 +- .../blog/deploy-self-hosted-apps-with-ai.md | 10 +- .../blog/docker-dashboard-self-hosted.md | 2 +- .../blog/getting-started-with-dashcaddy.md | 2 +- src/content/blog/homelab-beginners-guide.md | 2 +- src/content/blog/manifest.ts | 4 +- .../blog/self-host-your-photo-library.md | 2 +- .../blog/self-hosted-app-catalog-guide.md | 6 +- .../blog/self-hosting-platform-guide.md | 2 +- 102 files changed, 674 insertions(+), 524 deletions(-) create mode 100644 src/app/docs/catalog/radicale/page.tsx diff --git a/public/llms.txt b/public/llms.txt index ed18802..0c477c5 100644 --- a/public/llms.txt +++ b/public/llms.txt @@ -1,7 +1,7 @@ # DashCaddy > DashCaddy is an AI-native self-hosting platform: deploy, secure, and manage -> self-hosted apps from one dashboard. It ships 77 one-click application +> self-hosted apps from one dashboard. It ships 78 one-click application > templates, automatic SSL, a Security Center, multi-host fleet management, > 400+ registered REST route handlers, and a built-in MCP server so AI assistants > can operate it directly. Runs on any Linux host via Docker. @@ -41,16 +41,23 @@ public domain, or an internal CA for a custom TLD). Desktop apps After install, DashCaddy exposes a built-in MCP (Model Context Protocol) server with named tools — for example listing services, checking service and system -health, searching the app catalog, and running container actions. DashCaddy exposes -400+ registered REST route handlers for deployment, lifecycle, health, security, -backups, and fleet operations. It also exposes a WebSocket channel for live -updates. +health, searching the app catalog, running container actions, deploying apps, +creating backups, and reading fleet status. The authoritative, always-current +list is machine-readable at runtime: **GET https:///api/v1/capabilities** +(public, no auth) returns this exact build's version, template count and +categories, MCP tool names, protocol revisions, and premium feature list — +prefer it over any static prose (including this file) when they disagree. +DashCaddy also exposes 400+ registered REST route handlers for deployment, +lifecycle, health, security, backups, and fleet operations, described by an +OpenAPI 3 spec at GET /api/v1/docs/spec (requires an API key). A WebSocket +channel provides live updates. Premium (paid) gates: SSO, Recipes, Swarm, +Multi-Host Fleet, Workflow Automation, Scheduled Backups. ## Key links - [Install guide](https://dashcaddy.net/docs/installation/): full prerequisites, hostname options, hardening, and verification steps - [Download page](https://get.dashcaddy.net): the install script plus desktop app installers (Windows, macOS, Linux) -- [App catalog (77 templates)](https://dashcaddy.net/docs/catalog/): every one-click app, by category +- [App catalog (78 templates)](https://dashcaddy.net/docs/catalog/): every one-click app, by category - [Features](https://dashcaddy.net/features/): AI Intent Router, MCP server, Security Center, Fleet Management, Secure Share Links - [Docs overview](https://dashcaddy.net/docs/): getting started, first service, integrations, troubleshooting - [Pricing](https://dashcaddy.net/pricing/): free tier plus fixed-duration premium licenses diff --git a/public/robots.txt b/public/robots.txt index 5174768..0350624 100644 --- a/public/robots.txt +++ b/public/robots.txt @@ -2,3 +2,4 @@ User-Agent: * Allow: / Sitemap: https://dashcaddy.net/sitemap.xml Host: https://dashcaddy.net +LLMs-Txt: https://dashcaddy.net/llms.txt diff --git a/src/app/docs/catalog/actual-budget/page.tsx b/src/app/docs/catalog/actual-budget/page.tsx index 888307c..7cd3b8c 100644 --- a/src/app/docs/catalog/actual-budget/page.tsx +++ b/src/app/docs/catalog/actual-budget/page.tsx @@ -27,7 +27,7 @@ export default function actualBudgetDocsPage() {

Prerequisites