DashCaddy Documentation
Premium Features
DashCaddy keeps its Premium model intentionally narrow. The core platform — deployment, DNS, reverse proxy, HTTPS, monitoring, templates, service discovery, and the API — is fully useful without a license. Premium unlocks a focused set of advanced orchestration features.
DashCaddy's philosophy is that the day-to-day platform should be free forever. Everything you need to run a single host — the dashboard, the full template catalog, Caddy + DNS + TLS automation, real-time monitoring, Prometheus metrics, multi-user accounts with 2FA and RBAC, the Security Center, the AI Intent Router, the MCP Server, the REST API, and backup/restore — works without a license. Premium adds four capabilities aimed at teams and multi-host operators who need single sign-on, multi-container stacks, cluster orchestration, or fleet-wide management.
This guide explains exactly what each Premium feature does, how it differs from the free tier, how to set it up, and how pricing and licensing work. If you only ever run one host, you may never need Premium — and that's by design.
Free vs Premium at a glance
The comparison table below covers every major capability. “Free” means available on an unlicensed install; “Premium” means the feature requires an active license.
| Capability | Free | Premium |
|---|---|---|
| Dashboard & web UI | ✓ | ✓ |
| 77 application templates | ✓ | ✓ |
| Caddy reverse proxy + auto HTTPS | ✓ | ✓ |
| Caddyfile-as-Code builder | ✓ | ✓ |
| Technitium DNS automation | ✓ | ✓ |
| DashCA internal certificate authority | ✓ | ✓ |
| Service Discovery | ✓ | ✓ |
| Real-time monitoring + WebSocket updates | ✓ | ✓ |
| Prometheus metrics endpoint | ✓ | ✓ |
| Multi-user accounts (invites, email magic link) | ✓ | ✓ |
| TOTP 2FA & RBAC roles | ✓ | ✓ |
| Encrypted credential storage | ✓ | ✓ |
| Security Center & audit logging | ✓ | ✓ |
| AI Intent Router & MCP Server | ✓ | ✓ |
| REST API & MCP Server | ✓ | ✓ |
| Backup / restore & Disaster Recovery | ✓ | ✓ |
| Internationalization (31 languages) | ✓ | ✓ |
| Plugin & extension system | ✓ | ✓ |
| Smart Defaults Wizard | ✓ | ✓ |
| Auto-Login SSO | — | ✓ |
| Recipes (multi-container stacks) | — | ✓ |
| Docker Swarm orchestration | — | ✓ |
| Multi-Host Fleet Management | — | ✓ |
| Priority support | — | ✓ |
Premium feature deep dive
Auto-Login SSO
Auto-Login SSO provides single sign-on across all services published through DashCaddy, so an authenticated DashCaddy user reaches their apps without logging in again to each one. Once you sign into the DashCaddy dashboard, SSO forwards a signed token to participating services that auto-authenticates the session. This creates a seamless internal portal experience — ideal for teams that want one front door to every tool.
SSO integrates with services that accept a shared authentication header or token exchange. Supported targets include apps that read a configurable auth header (common in self-hosted dashboards, wikis, and admin panels) as well as services that expose a login callback URL. The exact wiring is per-service: in the publish dialog, enable SSO and provide the header name or callback endpoint the target expects. DashCaddy handles token signing, rotation, and revocation.
SSO respects your existing RBAC roles. A user with read-only access in DashCaddy will be passed through to services as a read-only identity where the target supports role mapping. Revoking a user in DashCaddy immediately invalidates their SSO sessions across all linked services.
Note: SSO is a pass-through convenience layer, not a replacement for per-service authentication. Services that require their own login (e.g. a database admin tool) will still prompt unless they explicitly support header/token SSO.
Recipes — multi-container stacks
Recipes let you deploy multi-container application stacks as a single coordinated unit. A Recipe bundles several templates together with pre-wired networking, shared volumes, environment variable links, and startup ordering, so a complex stack comes up in one click instead of a dozen manual steps.
Typical Recipe stacks include an application plus its dependencies: a web app + PostgreSQL + Redis, a media suite with its transcoder and metadata store, an analytics pipeline with a database and dashboard, or a development environment with a code server, language runtime, and database. Each Recipe declares its components, the network connections between them, and any secrets or config the stack needs at launch.
You can also create your own Recipes. Define the component templates, wire the internal network (e.g. app → db:5432), set environment variable references, and save the Recipe to your catalog. Custom Recipes are versioned and shareable, so a team can standardize on the same stack definition across hosts.
# Deploy a Recipe via the API
curl -X POST -H "Authorization: Bearer ***" \
-H "Content-Type: application/json" \
-d '{"recipe":"analytics-stack","name":"analytics"}' \
https://dashcaddy-host/api/v1/recipes/deployDocker Swarm — multi-node orchestration
Docker Swarmsupport extends DashCaddy's deployment model from a single host to a cluster. Run services across a Swarm cluster instead of one machine, with DashCaddy managing placement, replicas, rolling updates, routing, and TLS across every node. This is the right feature when a single host can no longer carry the load or when you need redundancy for critical services.
Multi-node setup follows Docker's standard Swarm workflow: initialize the manager (docker swarm init), join workers (docker swarm join --token ... <manager-ip>), then enable Swarm mode in DashCaddy under Settings → Cluster. DashCaddy detects the cluster and switches from single-container operations to service-level operations — deploy, scale, update, and rollback all operate on Swarm services rather than individual containers.
Routing and TLS are handled cluster-wide: Caddy's ingress mesh routes traffic to the correct node, and certificates are issued per published hostname regardless of which node the container lands on. DashCaddy's service discovery tracks placement changes as the scheduler rebalances containers.
Multi-Host Fleet Management
Multi-Host Fleet Management lets you manage DashCaddy deployments across multiple hosts from one control plane. Instead of opening a separate dashboard per server, you register every host in a single fleet view and deploy, monitor, and operate services across the entire fleet with unified visibility. This is designed for operators running DashCaddy on several physical boxes, VPSes, or edge locations.
The fleet workflow has three parts. Register hosts by installing the DashCaddy agent on each machine and pairing it with your control plane — each host reports its resources, running services, and health. Health probes poll every host on an interval and surface failures (container down, disk full, cert expiring) in a unified alert feed. Deploy plans let you target a service or Recipe at a specific host or a group of hosts, so you can place the media stack on the box with GPU and the database on the box with SSD without switching dashboards.
Fleet Management is distinct from Swarm: Swarm orchestrates containers across a single logical cluster, while Fleet Management orchestrates DashCaddy instances across independent hosts. You can use both together — a fleet of hosts, some of which are themselves Swarm clusters.
Pricing
Premium is sold as a fixed-duration license. You pick the duration that fits your needs; the license unlocks Premium features for that period and then expires. You manually purchase a new license when the current one expires. There is a single Premium tier — no ladder of plans to navigate. Longer durations are discounted relative to the short-term rate.
| Duration | Price | Effective monthly rate |
|---|---|---|
| 30 days | $20 | ~$20.00 / month |
| 90 days | $50 | ~$16.67 / month |
| 180 days | $70 | ~$11.67 / month |
| 365 days | $99 | ~$8.25 / month |
The 365-day plan offers the best value at roughly $8.25/month equivalent — about 59% off the 30-day rate. All durations unlock the identical Premium feature set; only the length and per-month cost differ.
Plan terms
- Fixed-duration license — your license runs for the purchased duration and then expires. You re-purchase manually when you want to renew.
- One Premium tier — every duration unlocks the same features.
- One active machine per license — a license is bound to a single host at a time.
- 7-day grace period after expiry — services keep running while you renew; Premium features are read-only during grace.
- No perpetual licenses — Premium is term-based; the free tier is permanent.
- No free trial — the free tier is comprehensive enough to evaluate the platform first.
License lifecycle
A license moves through a defined lifecycle from purchase to deactivation. Understanding this flow helps you renew on time, move between hosts, and recover from validation failures.
- Purchase — buy a duration from the dashboard (Settings → Licensing). You receive a license key tied to your account.
- Activate — on first launch with the key, DashCaddy contacts the licensing server and binds the license to that machine. Premium features unlock immediately.
- Periodic validation — DashCaddy re-validates the license against the licensing server on launch and at regular intervals thereafter. This keeps the license tied to one active machine and enables clean deactivation.
- Grace period (7 days) — if the license expires or the server is unreachable, DashCaddy enters a 7-day grace window. Your services keep running; Premium features become read-only. Renew or reactivate during this window to restore full functionality.
- Deactivate — to move a license to a new host, deactivate it on the old machine from Settings → Licensing. This releases the binding so the key can be activated on the new host.
Important: The one-active-machine limit is enforced by the licensing server. If you reinstall the OS or replace the host without deactivating first, contact support to release the stale binding.
How to subscribe
- Open the dashboard and go to Settings → Licensing.
- Choose a plan duration (30 / 90 / 180 / 365 days) and complete checkout.
- Your license key is validated automatically — Premium features unlock immediately.
- Manage renewal, reactivation, and machine deactivation from the same panel.
- If you migrate hosts, deactivate on the old machine before activating on the new one.
Frequently asked questions
Do I lose my services if my license expires?
No. Running services are never stopped by a license expiry. During the 7-day grace period everything keeps running; Premium features become read-only. After grace, Premium-only features are disabled but the free tier (including all your deployed services) continues to operate.
Can I use one license on multiple hosts?
No — each license is bound to one active machine at a time. To move a license, deactivate it on the current host and activate it on the new one. For managing multiple hosts simultaneously, use Fleet Management, which is itself a Premium feature requiring a license per host you want under centralized control.
Is there a free trial?
No. The free tier is permanent and feature-rich — you can evaluate the entire core platform without paying. Premium adds orchestration features that you likely already know you need (SSO, Recipes, Swarm, Fleet).
What happens to my Premium Recipes and Swarm services if I let the license lapse?
They keep running under the grace period and continue to run as ordinary services after that. You lose the ability to modify them through Premium tooling (e.g. redeploying a Recipe or scaling a Swarm service) until you renew, but the workloads themselves are not destroyed.
How is the license validated?
DashCaddy contacts an external licensing server on launch and periodically thereafter. The host must be able to reach the licensing server for validation to succeed. If the server is temporarily unreachable, the grace period covers the gap.
Ready to upgrade? Head to Settings → Licensing in your dashboard, or learn more about the platform in the Product Overview and Integrations guides.