diff --git a/.gitignore b/.gitignore index f62bdb9f..53665401 100644 --- a/.gitignore +++ b/.gitignore @@ -15,3 +15,4 @@ CLAUDE.local.md /caddy-proxy-manager.wiki docs/plans /.playwright-mcp +docker-compose.override.yml diff --git a/README.md b/README.md index bf7fafd8..11e3a296 100644 --- a/README.md +++ b/README.md @@ -15,17 +15,21 @@ Web interface for managing [Caddy Server](https://caddyserver.com/) reverse prox This project provides a web UI for Caddy Server, eliminating the need to manually edit JSON configurations or Caddyfiles. It handles reverse proxies, access lists, and certificate management through a Material UI interface. **Key features:** -- Reverse proxy configuration with multiple upstreams and custom headers +- Reverse proxy configuration with multiple upstreams, load balancing, and custom headers +- Server-side search and pagination across all data tables - HTTP basic auth access lists with multi-account support - OAuth2/OIDC authentication support - Automatic HTTPS via Caddy's ACME (Let's Encrypt) with Cloudflare DNS-01 support -- ACME certificate visibility (issuer + expiry) in the Certificates page +- ACME certificate visibility with real issuer, expiry status, and per-host tracking - Optional upstream DNS pinning (resolve upstream hostnames on config apply) - Geo blocking per proxy host — block/allow by country, continent, ASN, CIDR, or IP - Custom certificate import (internal CA, wildcards, etc.) -- Audit logging of all configuration changes +- Audit logging of all configuration changes with full-text search - Built with Next.js 16, React 19, Drizzle ORM, and TypeScript +Proxy Hosts Certificates +Proxy Editor Audit Log + --- ## Installation @@ -46,12 +50,13 @@ Data persists in Docker volumes (caddy-manager-data, caddy-data, caddy-config, c ## Features -- **Proxy Hosts** - Reverse proxies with custom headers and multiple upstreams +- **Proxy Hosts** - Reverse proxies with custom headers, multiple upstreams, load balancing, and enable/disable toggle +- **Search & Pagination** - Server-side search and pagination on all data tables (proxy hosts, access lists, audit log, certificates) - **Geo Blocking** - Block or allow traffic by country, continent, ASN, CIDR range, or exact IP per proxy host -- **Access Lists** - Multi-account HTTP basic auth -- **Certificates** - Automatic Let's Encrypt certificates via Caddy + manual SSL/TLS import +- **Access Lists** - Multi-account HTTP basic auth protection assignable per proxy host +- **Certificates** - Automatic HTTPS for every proxy host via Caddy ACME (Let's Encrypt / ZeroSSL), with issuer and expiry visibility + manual SSL/TLS import - **Settings** - ACME email, Cloudflare DNS-01, and upstream DNS pinning defaults -- **Audit Log** - Configuration change tracking +- **Audit Log** - Searchable configuration change history with user attribution --- diff --git a/site/assets/screenshots/access-lists.png b/site/assets/screenshots/access-lists.png new file mode 100644 index 00000000..c23e5430 Binary files /dev/null and b/site/assets/screenshots/access-lists.png differ diff --git a/site/assets/screenshots/audit-log.png b/site/assets/screenshots/audit-log.png index 4ad853e7..b3a32766 100644 Binary files a/site/assets/screenshots/audit-log.png and b/site/assets/screenshots/audit-log.png differ diff --git a/site/assets/screenshots/certificates.png b/site/assets/screenshots/certificates.png index 16d55761..a1c1086f 100644 Binary files a/site/assets/screenshots/certificates.png and b/site/assets/screenshots/certificates.png differ diff --git a/site/assets/screenshots/dashboard-main.png b/site/assets/screenshots/dashboard-main.png index 2ea83296..41e55f36 100644 Binary files a/site/assets/screenshots/dashboard-main.png and b/site/assets/screenshots/dashboard-main.png differ diff --git a/site/assets/screenshots/proxy-editor.png b/site/assets/screenshots/proxy-editor.png index ad417ccd..76871524 100644 Binary files a/site/assets/screenshots/proxy-editor.png and b/site/assets/screenshots/proxy-editor.png differ diff --git a/site/assets/screenshots/proxy-hosts.png b/site/assets/screenshots/proxy-hosts.png new file mode 100644 index 00000000..0fb5aa83 Binary files /dev/null and b/site/assets/screenshots/proxy-hosts.png differ