05b0002712c14662459ed70ac266e5a03cf3acb9
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 | DNS-01 ACME challenge via Cloudflare API |
| caddy-security | OAuth 2.0 (GitHub, Google, etc.), Basic Auth, JWT authorization |
Install
APT (Debian/Ubuntu)
# Add signing key
sudo curl https://git.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://git.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:
# 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:
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
make deb ARCH=arm64
make deb ARCH=amd64
License
Caddy is licensed under Apache 2.0. This packaging is MIT.
Description