DashCaddy v1.0
==================================
Copyright (c) 2026 Sami Ahmed. All rights reserved.

This software is provided to you, Nick G, for testing and evaluation
purposes only. This is pre-release software (beta). You may not
redistribute, modify, or share this software or any of its components
without written permission from the author. By using this software you
acknowledge that Sami Ahmed is the sole author and copyright holder.

Your feedback, bug reports, and pen-testing findings are welcome and
appreciated — that's the whole point of this test build.


WHAT IS DASHCADDY?
------------------
DashCaddy is a home lab management platform. It gives you a single
dashboard to manage Docker containers, a Caddy reverse proxy, and DNS —
all from a web browser. Think of it as a control panel for self-hosted
services on your home network.

With DashCaddy you can:
  - Deploy apps (Plex, Jellyfin, Sonarr, Radarr, etc.) with one click
  - Manage your reverse proxy (Caddy) so each app gets its own domain
  - Access everything through a clean web dashboard
  - Use HTTPS on your local network with an internal Certificate Authority


WHAT YOU NEED
-------------
  - Windows 10 or 11 (64-bit)
  - 4 GB RAM minimum
  - 2 GB free disk space
  - Internet connection (for downloading Docker and Caddy during setup)
  - Hardware virtualization enabled in BIOS (required for Docker/WSL2)


HOW TO INSTALL
--------------
1. Double-click "DashCaddy Installer 1.0.0.exe"
   - Windows SmartScreen may warn you since this isn't signed software.
     Click "More info" then "Run anyway" to proceed.

2. WELCOME SCREEN
   The installer will detect your OS and show you what's included.
   Click "Next" to continue.

3. DEPENDENCIES
   The installer checks if Docker and Caddy are installed on your PC.
   - If Docker is missing, it will download and install Docker Desktop
     for you. This may require a restart to set up WSL2.
   - If Caddy is missing, it will download and install the Caddy binary.
   Click "Next" once both show green checkmarks.

4. INSTALL PATH
   Choose where DashCaddy will live on your machine.
   Default is C:\DashCaddy — that's fine for most people.

5. TIER SELECTION
   Pick what you want to set up:
   - Basic: Dashboard only (static page, no Docker)
   - Standard (recommended): Dashboard + API server in Docker
   - Full Stack: Everything above + DNS management via Technitium
   For testing, "Standard" is the best starting point.

6. ACCESS MODE
   How do you want to reach the dashboard?
   - Local Only: Access via http://localhost:8080 (simplest)
   - Public Domain: Use a real domain with Let's Encrypt HTTPS
   - Custom TLD: Use made-up domains like dashcaddy.home, plex.home
     (requires a DNS server to resolve those names)
   For testing, "Local Only" is the easiest. You can change this later.

7. DASHBOARD SETUP
   Customize the name, colors, and logo. Defaults are fine to start.

8. INSTALLATION
   Watch the progress bar as the installer:
   - Copies dashboard and API files
   - Generates your Caddyfile (reverse proxy config)
   - Generates docker-compose.yml
   - Creates encryption keys for credential storage
   - Starts Caddy and the Docker container
   - Runs health checks

9. COMPLETE
   You'll see a success screen with your dashboard URL. Click "Open
   Dashboard" to launch it in your browser.


USING THE DASHBOARD
-------------------
Once installed, the dashboard is your home base:

  - APP SELECTOR: Browse 50+ app templates (media servers, download
    managers, chat platforms, etc.). Click "Deploy" on any app and
    DashCaddy creates the Docker container, sets up the reverse proxy,
    and adds it to your dashboard automatically.

  - SERVICE CARDS: Each deployed app shows as a card on the dashboard
    with status (online/offline), quick links, and controls.

  - CADDY MANAGEMENT: View and reload your reverse proxy configuration
    without touching config files.

  - DNS MANAGEMENT (Full Stack tier): Manage DNS records so your custom
    domains resolve to the right services.


WHAT TO TEST / PENTEST
----------------------
Things I'd especially like feedback on:

  1. Does the installer run cleanly on your machine?
  2. Do Docker and Caddy get installed without issues?
  3. Can you deploy an app from the app selector?
  4. Try breaking things — bad inputs, weird characters in names,
     rapid clicking, deploying multiple apps at once.
  5. Security: the API runs on port 3001. See if you can find any
     vulnerabilities (injection, auth bypass, path traversal, etc.).
  6. Try the different access modes if you're feeling adventurous.

Report anything you find back to me — crashes, confusing steps, security
issues, or just things that felt weird. Screenshots are always helpful.


UNINSTALLING
------------
To remove DashCaddy:
  1. Stop Docker containers: docker compose down
     (from the dashcaddy-api folder inside your install path)
  2. Stop Caddy (kill the process or close the terminal)
  3. Delete the installation folder (e.g. C:\DashCaddy)
  4. Optionally uninstall Docker Desktop from Windows Settings


KNOWN LIMITATIONS (beta)
------------------------
  - The installer exe is not code-signed, so Windows SmartScreen will
    flag it. This is normal for pre-release software.
  - Docker Desktop's WSL2 setup may require a Windows restart.
  - Custom TLD mode requires a DNS server. You can deploy Technitium
    DNS directly from the app selector and plug it into the dashboard.
  - Some app templates may need manual configuration after deployment.


Thanks for testing, Nick. Your feedback helps make this better.

- Sami
