# 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.
