# madcat-caddy Caddy web server with **Cloudflare DNS** and **caddy-security** plugins built in. Pre-built `.deb` packages for Linux servers. ## Plugins | Plugin | Purpose | |---|---| | [caddy-dns/cloudflare](https://github.com/caddy-dns/cloudflare) | DNS-01 ACME challenge via Cloudflare API | | [caddy-security](https://github.com/greenpau/caddy-security) | OAuth 2.0 (GitHub, Google, etc.), Basic Auth, JWT authorization | ## Install ### APT (Debian/Ubuntu) ```bash # Add signing key sudo curl https://repos.saiden.dev/api/packages/madcat-os/debian/repository.key \ -o /etc/apt/keyrings/madcat-os.asc # Add repository echo "deb [signed-by=/etc/apt/keyrings/madcat-os.asc] https://repos.saiden.dev/api/packages/madcat-os/debian bookworm main" \ | sudo tee /etc/apt/sources.list.d/madcat-os.list # Install sudo apt update sudo apt install madcat-caddy ``` ### Manual .deb Download from [Releases](https://github.com/madcat-os/madcat-caddy/releases): ```bash # ARM64 curl -fsSLO https://github.com/madcat-os/madcat-caddy/releases/latest/download/madcat-caddy_2.11.2-1_arm64.deb sudo dpkg -i madcat-caddy_2.11.2-1_arm64.deb # AMD64 curl -fsSLO https://github.com/madcat-os/madcat-caddy/releases/latest/download/madcat-caddy_2.11.2-1_amd64.deb sudo dpkg -i madcat-caddy_2.11.2-1_amd64.deb ``` ## Configuration Edit `/etc/caddy/Caddyfile`: ``` { email you@example.com acme_dns cloudflare {env.CF_API_TOKEN} } example.com { reverse_proxy localhost:8080 } ``` For Cloudflare API token: ```bash sudo mkdir -p /etc/systemd/system/caddy.service.d sudo tee /etc/systemd/system/caddy.service.d/env.conf << EOF [Service] Environment="CF_API_TOKEN=your-cloudflare-api-token" EOF sudo systemctl daemon-reload sudo systemctl restart caddy ``` ## Building ```bash make deb ARCH=arm64 make deb ARCH=amd64 ``` ## License Caddy is licensed under Apache 2.0. This packaging is MIT.