fb3b431a32eb29bebad7bdd836c4a1ca61a27a19
- Map Caddy admin API port 2019 in docker run command - Add readiness check for httpbin backend container - Increase wait times after config changes (3s→5s, 5s→8s) for CI environment - Add retry logic (3 attempts) for WAF block/monitor mode tests Fixes WAF integration test failing in CI but passing locally.
Charon
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.
✨ Top Features
| Feature | Description |
|---|---|
| 🔐 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) |
| ⚡ 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 |
🚀 Quick Start
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:
- <path_to_charon_data>:/app/data
- <path_to_caddy_data>:/data
- <path_to_caddy_config>:/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! 🎉
💬 Community
- 🐛 Found a bug? Open an issue
- 💡 Have an idea? Start a discussion
- 📋 Roadmap View the project board
🤝 Contributing
We welcome contributions! See our Contributing Guide to get started.
MIT License · Documentation · Releases
Built with ❤️ by @Wikid82
Powered by Caddy Server · Inspired by Nginx Proxy Manager & Pangolin
Description
A lightweight, user-friendly web interface for managing Caddy as a reverse proxy. It simplifies SSL management and host routing for self-hosters who want the power of Caddy without the manual configuration.
caddycrowdsecdockerdocker-composehomelabproxy-managerreverse-proxysecurityself-hostedssotailscalewafweb-ui
Readme
MIT
77 MiB
Languages
Go
52.2%
TypeScript
43.6%
Shell
3.5%
Dockerfile
0.3%
JavaScript
0.2%
