Files
Charon/README.md
2025-12-04 17:40:01 +00:00

4.6 KiB

Charon

Charon

Your websites, your rules—without the headaches.

Turn multiple websites and apps into one simple dashboard. Click, save, done. No code, no config files, no PhD required.


Project Status: Active – The project is being actively developed.License: MIT Release Build Status


Why Charon?

You want your apps accessible online. You don't want to become a networking expert first.

The problem: Managing reverse proxies usually means editing config files, memorizing cryptic syntax, and hoping you didn't break everything.

Charon's answer: A web interface where you click boxes and type domain names. That's it.

  • Your blog gets a green lock (HTTPS) automatically
  • Your chat server works without weird port numbers
  • Your admin panel blocks everyone except you
  • Everything stays up even when you make changes

What Can It Do?

🔐 Automatic HTTPS — Free certificates that renew themselves 🛡️ Optional Security — Block bad guys, bad countries, or bad behavior 🐳 Finds Docker Apps — Sees your containers and sets them up instantly 📥 Imports Old Configs — Bring your Caddy setup with you No Downtime — Changes happen instantly, no restarts needed 🎨 Dark Mode UI — Easy on the eyes, works on phones

See everything it can do →


Quick Start

Save this as docker-compose.yml:

services:
  charon:
    image: ghcr.io/wikid82/charon:latest
    container_name: charon
    restart: unless-stopped
    ports:
      - "80:80"
      - "443:443"
      - "443:443/udp"
      - "8080:8080"
    volumes:
      - ./charon-data:/app/data
      - /var/run/docker.sock:/var/run/docker.sock:ro
    environment:
      - CHARON_ENV=production

Then run:

docker-compose up -d

Docker Run (One-Liner)

docker run -d \
  --name charon \
  -p 80:80 \
  -p 443:443 \
  -p 443:443/udp \
  -p 8080:8080 \
  -v ./charon-data:/app/data \
  -v /var/run/docker.sock:/var/run/docker.sock:ro \
  -e CHARON_ENV=production \
  ghcr.io/wikid82/charon:latest

What Just Happened?

  1. Charon downloaded and started
  2. The web interface opened on port 8080
  3. Your websites will use ports 80 (HTTP) and 443 (HTTPS)

Open http://localhost:8080 and start adding your websites!


Optional: Turn On Security

Charon includes Cerberus, a security guard for your apps. It's turned off by default so it doesn't get in your way.

When you're ready, add these lines to enable protection:

environment:
  - CERBERUS_SECURITY_WAF_MODE=monitor        # Watch for attacks
  - CERBERUS_SECURITY_CROWDSEC_MODE=local     # Block bad IPs automatically

Start with "monitor" mode — it watches but doesn't block. Once you're comfortable, change monitor to block.

Learn about security features →


Getting Help

📖 Full Documentation — Everything explained simply 🚀 5-Minute Guide — Your first website up and running 💬 Ask Questions — Friendly community help 🐛 Report Problems — Something broken? Let us know


Contributing

Want to help make Charon better? Check out CONTRIBUTING.md


Top Features


MIT License · Documentation · Releases

Built with ❤️ by @Wikid82
Powered by Caddy Server