Major site overhaul: reflect all current product features + logo + Stripe Payment Links
Homepage: AI-powered hero, 9 feature cards (AI Intent Router, MCP Server, Security Center, Fleet Management, Service Discovery, Plugin System), expanded comparison table (7→13 rows), Smart Wizard in How It Works Features page: Complete rewrite — 8 feature sections led by AI-Powered Self-Hosting, Free vs Premium comparison grid Pricing page: Fixed broken Stripe checkout (was 503 stub). Subscribe button now uses Stripe Payment Links. Core tier lists all 18 features. All 7 docs pages: Updated to reflect current architecture (AI, MCP, Security Center, SDK, Caddyfile-as-Code, Service Discovery, etc.) About page: AI-Native value prop, updated tech stack, by-the-numbers Navbar: Fixed broken #anchor links → proper routes, added DashCaddy logo AppShowcase: 50+ → 76+ templates Logo: Dark + light versions deployed, wired into navbar/footer/favicon
This commit is contained in:
@@ -8,44 +8,92 @@ export default function DocsInstallationPage() {
|
||||
<Navbar />
|
||||
<DocsLayout
|
||||
title="Installation Guide"
|
||||
intro="DashCaddy supports both guided installation and manual operator-controlled setup. This guide covers the dependencies and the two practical setup paths."
|
||||
intro="DashCaddy ships as a Docker-based deployment with a guided installer that handles dependency checks, configuration generation, and first launch. This guide covers prerequisites, the installer flow, and what to expect on first run."
|
||||
>
|
||||
<h2>Prerequisites</h2>
|
||||
<p>Before installing, make sure the host has the following:</p>
|
||||
<ul>
|
||||
<li>Docker and Docker Compose</li>
|
||||
<li>Caddy with Admin API access</li>
|
||||
<li>Node.js 18+ for the API server</li>
|
||||
<li>Technitium DNS if you want DNS automation</li>
|
||||
<li><strong>Docker</strong> and <strong>Docker Compose</strong> — the runtime foundation for all DashCaddy services.</li>
|
||||
<li><strong>Node.js 20+</strong> — required for the DashCaddy API server.</li>
|
||||
<li><strong>Caddy</strong> with Admin API access enabled — the reverse proxy and HTTPS layer.</li>
|
||||
<li><strong>Technitium DNS</strong> — optional, but recommended for automatic DNS record management.</li>
|
||||
<li>A static host or stable IP if you plan to expose services beyond the local network.</li>
|
||||
</ul>
|
||||
|
||||
<h2>Installer-based setup</h2>
|
||||
<h2>Quick start with start.sh</h2>
|
||||
<p>
|
||||
DashCaddy includes a dedicated installer intended to walk users through dependency checks, file deployment,
|
||||
configuration generation, and first launch.
|
||||
The fastest path to a running DashCaddy is the bundled <code>start.sh</code> script. It performs environment
|
||||
checks, pulls the required containers, generates configuration, and brings the stack up.
|
||||
</p>
|
||||
<pre className="mt-4 overflow-x-auto rounded-lg border border-surface-700/50 bg-surface-950/80 p-4 text-sm"><code>{`# Clone the repository
|
||||
git clone https://github.com/samiahmed7777/dashcaddy.git
|
||||
cd dashcaddy
|
||||
|
||||
# Make the launcher executable and run it
|
||||
chmod +x start.sh
|
||||
./start.sh`}</code></pre>
|
||||
<p>
|
||||
The script is idempotent — re-running it will reconcile the stack rather than clobber an existing install.
|
||||
</p>
|
||||
|
||||
<h2>The guided installer</h2>
|
||||
<p>
|
||||
For users who prefer a walk-through, DashCaddy includes a dedicated installer that steps through:
|
||||
</p>
|
||||
<ol>
|
||||
<li><strong>Dependency checks</strong> — verifies Docker, Node.js, and Caddy are present and reachable.</li>
|
||||
<li><strong>Path selection</strong> — chooses where state, configs, and certificates are stored.</li>
|
||||
<li><strong>Configuration generation</strong> — writes environment files and Caddy/DNS integration settings.</li>
|
||||
<li><strong>Container deployment</strong> — pulls images and starts the API, dashboard, and supporting services.</li>
|
||||
<li><strong>First-launch validation</strong> — confirms the API responds and the dashboard loads.</li>
|
||||
</ol>
|
||||
|
||||
<h2>First launch & the Smart Defaults Wizard</h2>
|
||||
<p>
|
||||
On first launch the dashboard opens to the <strong>Smart Defaults Wizard</strong>. It surveys your host and
|
||||
pre-fills sensible choices so you can go from install to a working deployment in minutes:
|
||||
</p>
|
||||
<ul>
|
||||
<li>Detects the Caddy Admin API endpoint and validates connectivity.</li>
|
||||
<li>Detects Technitium DNS (if installed) and configures the API token and zone.</li>
|
||||
<li>Proposes a base domain and naming convention for new services.</li>
|
||||
<li>Initializes the internal certificate authority (DashCA) and offers the root certificate for download.</li>
|
||||
<li>Creates the initial admin account and offers TOTP 2FA enrollment.</li>
|
||||
</ul>
|
||||
<p>
|
||||
Every default is editable — the wizard simply gives you a known-good starting point instead of a blank slate.
|
||||
</p>
|
||||
|
||||
<h2>Manual setup</h2>
|
||||
<p>
|
||||
Manual setup is best when you want direct control over paths, services, Caddy, DNS integration, and deployment layout.
|
||||
If you want direct control over paths, services, Caddy, and DNS integration, you can deploy manually:
|
||||
</p>
|
||||
<ol>
|
||||
<li>Clone the software repo.</li>
|
||||
<li>Install the API dependencies.</li>
|
||||
<li>Clone the repository.</li>
|
||||
<li>Install the API dependencies (<code>npm ci</code>).</li>
|
||||
<li>Prepare Caddy and confirm the Admin API is reachable.</li>
|
||||
<li>Prepare Technitium DNS if using automatic DNS changes.</li>
|
||||
<li>Configure environment and state paths.</li>
|
||||
<li>Start the DashCaddy API.</li>
|
||||
<li>Prepare Technitium DNS if you want automatic DNS changes.</li>
|
||||
<li>Configure environment variables and state paths.</li>
|
||||
<li>Start the DashCaddy API (<code>npm run start</code> or via your process manager).</li>
|
||||
<li>Serve the dashboard through Caddy.</li>
|
||||
</ol>
|
||||
|
||||
<h2>Post-install checks</h2>
|
||||
<p>After the stack is up, verify each layer:</p>
|
||||
<ul>
|
||||
<li>Dashboard loads in browser</li>
|
||||
<li>API responds correctly</li>
|
||||
<li>Caddy Admin API is reachable</li>
|
||||
<li>Service management UI loads</li>
|
||||
<li>DNS/certificate integration is healthy if configured</li>
|
||||
<li>The dashboard loads in your browser.</li>
|
||||
<li>The API responds — check <code>/healthz</code> and <code>/readyz</code>.</li>
|
||||
<li>The Caddy Admin API is reachable from the API server.</li>
|
||||
<li>The service management UI loads and lists the host's containers.</li>
|
||||
<li>DNS and certificate integration report healthy (if configured).</li>
|
||||
<li>Prometheus metrics are exposed at <code>/metrics</code> (if scraping is enabled).</li>
|
||||
</ul>
|
||||
|
||||
<h2>Next steps</h2>
|
||||
<p>
|
||||
Once install checks pass, head to the <a href="/docs/first-service">Deploy Your First Service</a> guide to
|
||||
bring your first application online.
|
||||
</p>
|
||||
</DocsLayout>
|
||||
<Footer />
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user