Initial madcat-caddy: Caddy + Cloudflare DNS + caddy-security
Build and Release / build-binaries (arm64, madcat-caddy-linux-arm64, linux) (push) Failing after 12m29s
Build and Release / build-binaries (amd64, madcat-caddy-linux-amd64, linux) (push) Failing after 14m9s
Build and Release / build-deb (arm64, ubuntu-24.04-arm) (push) Has been cancelled
Build and Release / release (push) Has been cancelled
Build and Release / publish-apt (push) Has been cancelled
Build and Release / build-deb (amd64, ubuntu-latest) (push) Failing after 10m21s

Forked from tengu-apps/tengu-caddy, adding:
- caddy-security plugin (OAuth 2.0, Basic Auth, JWT)
- Gitea apt registry publishing in CI
- Linux-only builds (arm64 + amd64)
- Replaces/conflicts with caddy and tengu-caddy packages
This commit is contained in:
marauder-actual
2026-06-12 14:55:38 +02:00
commit 987c815d07
10 changed files with 334 additions and 0 deletions
+81
View File
@@ -0,0 +1,81 @@
# 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.