Files
dashcaddy/PRODUCT-VISION.md
Hermes ff81d99021
CI / Test & Lint (push) Canceled after 0s
CI / Security audit (push) Canceled after 0s
DC-101: Disk Space Monitor + Product Vision
Backend:
- src/monitoring/disk-space-monitor.js: monitors Docker disk usage against
  user-configured budget, auto-cleans at thresholds, breaks down by category
- routes/disk-space.js: GET /disk, GET /disk/breakdown, POST /disk/config,
  POST /disk/cleanup endpoints
- src/app.js: wire DiskSpaceMonitor into startup, 10-min check interval
- All 1539 tests pass

Product Vision (PRODUCT-VISION.md):
- DashCaddy is a self-hosting platform, not just a dashboard
- Core value: 'Self-host anything in 30 seconds'
- Three pillars: One-click deploy, zero-config networking, self-healing infra
- vs Portainer/CasaOS/Yunohost positioning

New backlog tasks (P5 tier, DC-101–108):
- Disk budget, one-click deploy with auto Caddyfile+DNS, container
  auto-discovery, app catalog, smart wizard, visual Caddy builder,
  disaster recovery, multi-host fleet management

47 total backlog tasks, ~110 hr of work, cron running every 2h.
2026-08-12 02:41:40 -07:00

108 lines
4.6 KiB
Markdown

# DashCaddy Product Vision
## The Problem
Self-hosting software is hard. To deploy a single app (Plex, Nextcloud, Vaultwarden, anything), you need to:
1. **Understand Docker** — images, containers, volumes, ports, networks, compose files
2. **Configure a reverse proxy** — Caddy/Nginx/Traefik config files with obscure syntax
3. **Set up TLS/HTTPS** — certificate generation, ACME, DNS challenges, trust stores
4. **Configure DNS** — A records, CNAMEs, split-horizon DNS, DoH
5. **Secure it** — firewall rules, auth, rate limiting, CSRF, CORS
6. **Monitor it** — health checks, log rotation, disk space, restart policies
7. **Maintain it** — updates, backups, migrations, disaster recovery
Each of these is a rabbit hole. A typical homelabber spends **hours per app** fighting configuration files, reading documentation, and debugging cryptic errors. This is why most people give up and just use SaaS.
## The Solution
**DashCaddy is a self-hosting platform.** It eliminates the complexity by fusing Docker, Caddy, and DNS management into one unified interface.
### Core Value: "Self-host anything in 30 seconds."
```
User picks an app from the catalog
↓
DashCaddy deploys the Docker container
↓
DashCaddy generates the Caddy reverse proxy config automatically
↓
DashCaddy provisions TLS certificates
↓
DashCaddy configures DNS records
↓
DashCaddy sets up authentication (SSO gate)
↓
App is live at https://app.yourdomain.com — done.
```
No editing config files. No Docker networking headaches. No TLS cert errors. No DNS archaeology.
## What Makes DashCaddy Different
### vs. Plain Docker / docker-compose
- Docker gives you containers. DashCaddy gives you **containers + networking + TLS + DNS + auth + monitoring**.
- Docker doesn't know about your domain. DashCaddy manages the full stack from DNS record to container port.
- Docker doesn't tell you when your disk is full. DashCaddy monitors, alerts, and auto-cleans.
### vs. Portainer
- Portainer is a **Docker UI**. DashCaddy is a **self-hosting platform**.
- Portainer shows containers. DashCaddy shows services — with their URLs, health, certs, and auth.
- Portainer doesn't manage Caddy, DNS, or TLS. DashCaddy fuses all three.
- Portainer doesn't have a one-click app catalog with auto-configured reverse proxy + DNS + TLS.
### vs. CasaOS / Umbrel
- These are **app stores**. DashCaddy is a **platform**.
- They bundle their own Docker management. DashCaddy works with your existing Docker setup.
- They don't manage Caddy or advanced DNS. DashCaddy handles the full network stack.
- DashCaddy's SSO gate, credential injection, and security center are enterprise-grade features.
### vs. Yunohost / FreedomBox
- These are **complete OS replacements**. DashCaddy is a **single Docker container**.
- No OS install needed. Deploy DashCaddy on any Linux machine in 60 seconds.
- DashCaddy works alongside your existing setup — it doesn't take over your machine.
## The Three Pillars
### 1. One-Click Deploy (The "Wow" moment)
Pick an app → DashCaddy handles everything:
- Docker container creation with optimal defaults
- Caddy reverse proxy route with TLS
- DNS record creation
- SSO authentication gate
- Health check configuration
- Disk budget allocation
### 2. Zero-Config Networking (The "It just works" layer)
- Automatic TLS via Caddy's ACME + Let's Encrypt
- Automatic DNS via Technitium/Cloudflare integration
- Automatic reverse proxy with sane defaults
- Automatic SSO with credential injection
- Automatic subdomain routing (subdomain or subdirectory mode)
### 3. Self-Healing Infrastructure (The "Set it and forget it" layer)
- Health checks with retry/backoff and notification on state transitions
- Auto-restart failed containers
- Auto-cleanup when disk approaches budget
- Config drift detection and correction
- SSL certificate expiration monitoring
- Container log rotation and size enforcement
- Docker image cleanup — old images pruned automatically
## Who Is It For?
1. **Homelabbers** — tired of spending weekends on config files
2. **Small businesses** — want self-hosted alternatives to SaaS without hiring a sysadmin
3. **Privacy-conscious users** — want to own their data without the technical burden
4. **Developers** — want a quick way to deploy side projects with TLS + auth
## Revenue Model
- **Free tier**: Up to 5 services, community support
- **Pro license**: Unlimited services, email alerts, advanced health checks, priority updates
- **Site license**: Multi-host, team accounts, API access
## North Star Metric
**Time-to-first-app-deploy** — how long from install to having a working self-hosted service with HTTPS. Target: under 60 seconds.