From f7a413b1bbbc490b79dbfc17fe37c5bb19793fbd Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 27 Nov 2025 18:39:54 +0000 Subject: [PATCH 1/6] chore(deps): update docker/metadata-action action to v5.10.0 (#243) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .github/workflows/docker-publish.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/docker-publish.yml b/.github/workflows/docker-publish.yml index faebe353..ca0cc294 100644 --- a/.github/workflows/docker-publish.yml +++ b/.github/workflows/docker-publish.yml @@ -95,7 +95,7 @@ jobs: - name: Extract metadata (tags, labels) if: steps.skip.outputs.skip_build != 'true' id: meta - uses: docker/metadata-action@318604b99e75e41977312d83839a89be02ca4893 # v5.9.0 + uses: docker/metadata-action@c299e40c65443455700f0fdfc63efafe5b349051 # v5.10.0 with: images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} tags: | From c2cbf19c5cd9f9f543b3bc42ea3006e2cb1c7f24 Mon Sep 17 00:00:00 2001 From: Wikid82 Date: Fri, 28 Nov 2025 12:04:03 -0500 Subject: [PATCH 2/6] fix: add support for ignoring XCF files in .gitignore --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index a32371c0..243011d7 100644 --- a/.gitignore +++ b/.gitignore @@ -81,3 +81,4 @@ codeql-results-js.sarif codeql-results-go.sarif remote_logs/Unconfirmed 312410.crdownload .vscode/launch.json +**.xcf From 7030d3d9d3b590771dd15b44776f073ccaa1022a Mon Sep 17 00:00:00 2001 From: Wikid82 Date: Fri, 28 Nov 2025 15:17:41 -0500 Subject: [PATCH 3/6] fix: update README to reflect project name change and improve clarity --- README.md | 73 +++++++++++++++++++++++++++++++++++++++++++------------ 1 file changed, 57 insertions(+), 16 deletions(-) diff --git a/README.md b/README.md index 22de5ee7..35f1e938 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,8 @@

- Caddy Proxy Manager+ + Charon

-

Caddy Proxy Manager+

+

Charon

The friendly way to manage your reverse proxy
@@ -11,8 +11,8 @@

License: MIT - Release - Build Status + Release + Build Status

--- @@ -23,7 +23,7 @@ |---------|-------------| | 🎨 **Beautiful Dark UI** | Modern interface that's easy on the eyes, works on any device | | πŸ” **Automatic HTTPS** | Free SSL certificates from Let's Encrypt, auto-renewed | -| πŸ›‘οΈ **Built-in Security** | CrowdSec integration, geo-blocking, IP access lists | +| πŸ›‘οΈ **Built-in Security** | CrowdSec integration, geo-blocking, IP access lists (optional, powered by Cerberus) | | πŸ“Š **Uptime Monitoring** | Know when your services go down with smart notifications | | 🐳 **Docker Discovery** | Auto-detect containers on local and remote Docker hosts | | πŸ“₯ **Easy Import** | Bring your existing Caddy or NPM configs with one click | @@ -32,29 +32,69 @@ | 🌐 **WebSocket Support** | Perfect for real-time apps and chat services | | ⚑ **Zero Downtime** | Hot-reload configuration without restarts | -**[See all features β†’](https://wikid82.github.io/cpmp/docs/features.html)** +**[See all features β†’](https://wikid82.github.io/charon/features)** --- ## πŸš€ Quick Start ```bash -# Clone and start -git clone https://github.com/Wikid82/cpmp.git -cd cpmp -docker compose up -d +services: + charon: + image: ghcr.io/wikid82/charon:latest + container_name: charon + restart: unless-stopped + ports: + - "80:80" # HTTP (Caddy proxy) + - "443:443" # HTTPS (Caddy proxy) + - "443:443/udp" # HTTP/3 (Caddy proxy) + - "8080:8080" # Management UI (Charon) + environment: + - CHARON_ENV=production # New env var prefix (CHARON_). CPM_ values still supported. + - TZ=UTC # Set timezone (e.g., America/New_York) + - CHARON_HTTP_PORT=8080 + - CHARON_DB_PATH=/app/data/charon.db + - CHARON_FRONTEND_DIR=/app/frontend/dist + - CHARON_CADDY_ADMIN_API=http://localhost:2019 + - CHARON_CADDY_CONFIG_DIR=/app/data/caddy + - CHARON_CADDY_BINARY=caddy + - CHARON_IMPORT_CADDYFILE=/import/Caddyfile + - CHARON_IMPORT_DIR=/app/data/imports + # Security Services (Optional) + #- CERBERUS_SECURITY_CROWDSEC_MODE=disabled # disabled, local, external + #- CERBERUS_SECURITY_CROWDSEC_API_URL= # Required if mode is external + #- CERBERUS_SECURITY_CROWDSEC_API_KEY= # Required if mode is external + #- CERBERUS_SECURITY_WAF_MODE=disabled # disabled, enabled + #- CERBERUS_SECURITY_RATELIMIT_ENABLED=false + #- CERBERUS_SECURITY_ACL_ENABLED=false + extra_hosts: + - "host.docker.internal:host-gateway" + volumes: + - :/app/data + - :/data + - :/config + - /var/run/docker.sock:/var/run/docker.sock:ro # For local container discovery + # Mount your existing Caddyfile for automatic import (optional) + # - ./my-existing-Caddyfile:/import/Caddyfile:ro + # - ./sites:/import/sites:ro # If your Caddyfile imports other files + healthcheck: + test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:8080/api/v1/health"] + interval: 30s + timeout: 10s + retries: 3 + start_period: 40s ``` Open **http://localhost:8080** β€” that's it! πŸŽ‰ -**[Full documentation β†’](https://wikid82.github.io/cpmp/docs/index.html)** +**[Full documentation β†’](https://wikid82.github.io/charon/)** --- ## πŸ’¬ Community -- πŸ› **Found a bug?** [Open an issue](https://github.com/Wikid82/cpmp/issues) -- πŸ’‘ **Have an idea?** [Start a discussion](https://github.com/Wikid82/cpmp/discussions) +- πŸ› **Found a bug?** [Open an issue](https://github.com/Wikid82/charon/issues) +- πŸ’‘ **Have an idea?** [Start a discussion](https://github.com/Wikid82/charon/discussions) - πŸ“‹ **Roadmap** [View the project board](https://github.com/users/Wikid82/projects/7) ## 🀝 Contributing @@ -65,11 +105,12 @@ We welcome contributions! See our [Contributing Guide](CONTRIBUTING.md) to get s

MIT License Β· - Documentation Β· - Releases + Documentation Β· + Releases

Built with ❀️ by @Wikid82
- Powered by Caddy Server Β· Inspired by Nginx Proxy Manager + Security Suite: Charon is powered by Cerberus β€” an optional security engine bundling WAF (Coraza), CrowdSec integrations, ACLs and rate-limiting. + Powered by Caddy Server Β· Inspired by Nginx Proxy Manager & Pangolin

From 73b60eb132811f7bc2b90d53c668c9562eed1c39 Mon Sep 17 00:00:00 2001 From: Wikid82 Date: Fri, 28 Nov 2025 15:37:24 -0500 Subject: [PATCH 4/6] fix: update README to enhance clarity and detail about Charon and Cerberus --- README.md | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 35f1e938..933de2bf 100644 --- a/README.md +++ b/README.md @@ -4,10 +4,17 @@

Charon

-

- The friendly way to manage your reverse proxy
- Point, click, done. No config files needed. -

+

The Gateway to Effortless Connectivity. + + +Charon bridges the gap between the complex internet and your private services. Enjoy a simplified, visual management experience built specifically for the home server enthusiast. No code requiredβ€”just safe passage.

+ +

Cerberus

+ +

The Guardian at the Gate. + + +Ensure nothing passes without permission. Cerberus is a robust security suite featuring the Coraza WAF, deep CrowdSec integration, and granular rate-limiting. Always watching, always protecting.

License: MIT @@ -111,6 +118,5 @@ We welcome contributions! See our [Contributing Guide](CONTRIBUTING.md) to get s

Built with ❀️ by @Wikid82
- Security Suite: Charon is powered by Cerberus β€” an optional security engine bundling WAF (Coraza), CrowdSec integrations, ACLs and rate-limiting. Powered by Caddy Server Β· Inspired by Nginx Proxy Manager & Pangolin

From 410fa17e79538c15ea6ce38ae618724b2f192035 Mon Sep 17 00:00:00 2001 From: Wikid82 Date: Fri, 28 Nov 2025 15:41:02 -0500 Subject: [PATCH 5/6] fix: update README to correct heading level for Cerberus section and improve formatting --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 933de2bf..4a92f278 100644 --- a/README.md +++ b/README.md @@ -9,13 +9,13 @@ Charon bridges the gap between the complex internet and your private services. Enjoy a simplified, visual management experience built specifically for the home server enthusiast. No code requiredβ€”just safe passage.

-

Cerberus

+

Cerberus

The Guardian at the Gate. Ensure nothing passes without permission. Cerberus is a robust security suite featuring the Coraza WAF, deep CrowdSec integration, and granular rate-limiting. Always watching, always protecting.

- +

License: MIT Release From fe1338890e0978f12a092184ce7ee77a6235c7f4 Mon Sep 17 00:00:00 2001 From: Wikid82 Date: Fri, 28 Nov 2025 15:49:31 -0500 Subject: [PATCH 6/6] fix: reorder feature list in README for improved clarity and consistency --- README.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 4a92f278..bf746875 100644 --- a/README.md +++ b/README.md @@ -28,16 +28,16 @@ Ensure nothing passes without permission. Cerberus is a robust security suite fe | Feature | Description | |---------|-------------| -| 🎨 **Beautiful Dark UI** | Modern interface that's easy on the eyes, works on any device | | πŸ” **Automatic HTTPS** | Free SSL certificates from Let's Encrypt, auto-renewed | | πŸ›‘οΈ **Built-in Security** | CrowdSec integration, geo-blocking, IP access lists (optional, powered by Cerberus) | -| πŸ“Š **Uptime Monitoring** | Know when your services go down with smart notifications | -| 🐳 **Docker Discovery** | Auto-detect containers on local and remote Docker hosts | -| πŸ“₯ **Easy Import** | Bring your existing Caddy or NPM configs with one click | -| πŸ’Ύ **Backup & Restore** | Never lose your settings, export anytime | -| πŸ” **Health Checks** | Test connections before saving | -| 🌐 **WebSocket Support** | Perfect for real-time apps and chat services | | ⚑ **Zero Downtime** | Hot-reload configuration without restarts | +| 🐳 **Docker Discovery** | Auto-detect containers on local and remote Docker hosts | +| πŸ“Š **Uptime Monitoring** | Know when your services go down with smart notifications | +| πŸ” **Health Checks** | Test connections before saving | +| πŸ“₯ **Easy Import** | Bring your existing Caddy configs with one click | +| πŸ’Ύ **Backup & Restore** | Never lose your settings, export anytime | +| 🌐 **WebSocket Support** | Perfect for real-time apps and chat services | +| 🎨 **Beautiful Dark UI** | Modern interface that's easy on the eyes, works on any device | **[See all features β†’](https://wikid82.github.io/charon/features)**