164 lines
6.8 KiB
HTML
164 lines
6.8 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="en">
|
||
<head>
|
||
<meta charset="UTF-8" />
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||
<meta name="description" content="Caddy Proxy Manager – Modern Web UI for Caddy with automatic HTTPS management and reverse proxy configuration." />
|
||
<title>Caddy Proxy Manager - Modern Web UI for Caddy Server</title>
|
||
|
||
<!-- Open Graph / Facebook -->
|
||
<meta property="og:type" content="website" />
|
||
<meta property="og:url" content="https://caddyproxymanager.com/" />
|
||
<meta property="og:title" content="Caddy Proxy Manager - Control Every Edge" />
|
||
<meta property="og:description" content="Caddy Proxy Manager – Modern Web UI for Caddy with automatic HTTPS management and reverse proxy configuration." />
|
||
<meta property="og:image" content="https://caddyproxymanager.com/assets/images/preview.png" />
|
||
|
||
|
||
<link rel="preconnect" href="https://fonts.googleapis.com" />
|
||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
|
||
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap" rel="stylesheet" />
|
||
<link rel="stylesheet" href="styles.css" />
|
||
<script defer src="scripts.js"></script>
|
||
</head>
|
||
<body>
|
||
<div class="aurora" aria-hidden="true"></div>
|
||
<header class="hero" id="top">
|
||
<nav class="nav">
|
||
<div class="logo">Caddy Proxy Manager</div>
|
||
<div class="nav-links">
|
||
<a href="#features">Features</a>
|
||
<a href="#showcase">Showcase</a>
|
||
<a href="#architecture">Architecture</a>
|
||
<a href="#deployment">Deploy</a>
|
||
<a href="https://github.com/fuomag9/caddy-proxy-manager" target="_blank" rel="noreferrer">GitHub</a>
|
||
</div>
|
||
</nav>
|
||
<div class="hero-content">
|
||
<p class="eyebrow">Web UI for Caddy Server</p>
|
||
<h1>Modern interface for Caddy's automatic HTTPS.</h1>
|
||
<p class="lede">
|
||
Caddy Proxy Manager provides a web-based control panel for managing reverse proxies,
|
||
certificates, and configurations. Built with Next.js and featuring a clean dark interface.
|
||
</p>
|
||
<div class="cta-group">
|
||
<a class="cta primary" href="https://github.com/fuomag9/caddy-proxy-manager" target="_blank" rel="noreferrer">View on GitHub</a>
|
||
<a class="cta secondary" href="#deployment">Get Started</a>
|
||
</div>
|
||
<div class="metrics">
|
||
<div>
|
||
<span class="metric-value">Docker</span>
|
||
<span class="metric-label">Quick deployment</span>
|
||
</div>
|
||
<div>
|
||
<span class="metric-value">Full</span>
|
||
<span class="metric-label">Audit history</span>
|
||
</div>
|
||
<div>
|
||
<span class="metric-value">Auto</span>
|
||
<span class="metric-label">TLS with ACME</span>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</header>
|
||
|
||
<main>
|
||
<section class="panel" id="features">
|
||
<div class="section-heading">
|
||
<p class="eyebrow">Key Features</p>
|
||
<h2>Streamlined Caddy management.</h2>
|
||
<p class="lede">Manage your Caddy server configuration through an intuitive web interface with built-in security and audit logging.</p>
|
||
</div>
|
||
<div class="feature-grid">
|
||
<article class="card">
|
||
<h3>Reverse Proxy Management</h3>
|
||
<p>Configure reverse proxies, set custom headers, and manage domain routing through an easy-to-use web interface.</p>
|
||
</article>
|
||
<article class="card">
|
||
<h3>Certificate Management</h3>
|
||
<p>Automatic ACME certificate provisioning with Cloudflare DNS-01 support, plus manual certificate imports for custom setups.</p>
|
||
</article>
|
||
<article class="card">
|
||
<h3>Audit Logging</h3>
|
||
<p>Complete audit trail of all configuration changes with timestamps and user attribution for accountability.</p>
|
||
</article>
|
||
<article class="card">
|
||
<h3>Built-in Security</h3>
|
||
<p>Strong password requirements, secure session management, rate limiting, and HSTS headers protect your installation.</p>
|
||
</article>
|
||
</div>
|
||
</section>
|
||
|
||
<section class="panel glass" id="showcase">
|
||
<div class="section-heading">
|
||
<p class="eyebrow">Screenshots</p>
|
||
<h2>See the interface.</h2>
|
||
</div>
|
||
<div class="showcase-grid">
|
||
<!-- Replace placeholder images by copying your screenshots into docs/assets/screenshots and updating the src paths below. -->
|
||
<figure>
|
||
<img src="assets/screenshots/dashboard-main.png" alt="Primary dashboard overview" loading="lazy" />
|
||
<figcaption>Dashboard overview showing proxy hosts, certificates, and system status.</figcaption>
|
||
</figure>
|
||
<figure>
|
||
<img src="assets/screenshots/certificates.png" alt="Certificate lifecycle manager" loading="lazy" />
|
||
<figcaption>Certificate management with ACME automation and manual imports.</figcaption>
|
||
</figure>
|
||
<figure>
|
||
<img src="assets/screenshots/proxy-editor.png" alt="Proxy host editor" loading="lazy" />
|
||
<figcaption>Proxy host configuration with validation and testing.</figcaption>
|
||
</figure>
|
||
</div>
|
||
</section>
|
||
|
||
<section class="panel split" id="architecture">
|
||
<div>
|
||
<p class="eyebrow">Technology Stack</p>
|
||
<h2>Next.js, React, Drizzle ORM, and Caddy.</h2>
|
||
<p class="lede">Built with modern web technologies and integrates directly with Caddy's Admin API for real-time configuration management.</p>
|
||
</div>
|
||
<ul class="pillars">
|
||
<li>
|
||
<span>Next.js App Router</span>
|
||
<p>Server-side rendering with React Server Components for fast page loads and smooth interactions.</p>
|
||
</li>
|
||
<li>
|
||
<span>SQLite Database</span>
|
||
<p>Drizzle ORM with SQLite for storing proxy configurations, certificates, and audit logs.</p>
|
||
</li>
|
||
<li>
|
||
<span>Caddy Admin API</span>
|
||
<p>Direct integration with Caddy's JSON API for applying configuration changes in real-time.</p>
|
||
</li>
|
||
</ul>
|
||
</section>
|
||
|
||
<section class="panel" id="deployment">
|
||
<div class="section-heading">
|
||
<p class="eyebrow">Quick Setup</p>
|
||
<h2>Deploy with Docker Compose.</h2>
|
||
<p class="lede">Get started quickly with Docker Compose. The setup includes persistent storage and environment-based configuration.</p>
|
||
</div>
|
||
<div class="code-block">
|
||
<pre><code> # Clone and enter
|
||
git clone https://github.com/fuomag9/caddy-proxy-manager.git
|
||
cd caddy-proxy-manager
|
||
|
||
# Configure secrets
|
||
cp .env.example .env
|
||
# ADMIN_USERNAME=your-admin
|
||
# ADMIN_PASSWORD=your-strong-password
|
||
# SESSION_SECRET=$(openssl rand -base64 32)
|
||
|
||
# Launch the stack
|
||
docker compose up -d
|
||
</code></pre>
|
||
</div>
|
||
</section>
|
||
</main>
|
||
|
||
<footer>
|
||
<p>© <span id="year"></span> Caddy Proxy Manager. Crafted with intent.</p>
|
||
</footer>
|
||
</body>
|
||
</html>
|