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
+23
View File
@@ -0,0 +1,23 @@
[Unit]
Description=Caddy web server (madcat-caddy)
Documentation=https://caddyserver.com/docs/
After=network.target network-online.target
Requires=network-online.target
[Service]
Type=notify
User=caddy
Group=caddy
ExecStart=/usr/bin/caddy run --environ --config /etc/caddy/Caddyfile
ExecReload=/usr/bin/caddy reload --config /etc/caddy/Caddyfile --force
TimeoutStopSec=5s
LimitNOFILE=1048576
LimitNPROC=512
PrivateTmp=true
ProtectSystem=full
AmbientCapabilities=CAP_NET_BIND_SERVICE
CapabilityBoundingSet=CAP_NET_BIND_SERVICE
NoNewPrivileges=true
[Install]
WantedBy=multi-user.target
+1
View File
@@ -0,0 +1 @@
/etc/caddy/Caddyfile
+12
View File
@@ -0,0 +1,12 @@
Package: madcat-caddy
Version: {{VERSION}}
Architecture: {{ARCH}}
Maintainer: madcat-os <madcat@saiden.dev>
Description: Caddy web server with Cloudflare DNS and caddy-security plugins
Custom Caddy build with Cloudflare DNS-01 ACME challenge support
and caddy-security (OAuth 2.0, Basic Auth, JWT authorization).
Provides GitHub OAuth + Basic Auth gateway capabilities.
Section: web
Priority: optional
Conflicts: caddy
Replaces: caddy, tengu-caddy
+24
View File
@@ -0,0 +1,24 @@
#!/bin/sh
set -e
# Create caddy user/group if they don't exist
if ! getent group caddy >/dev/null 2>&1; then
groupadd --system caddy
fi
if ! getent passwd caddy >/dev/null 2>&1; then
useradd --system --gid caddy --create-home --home-dir /var/lib/caddy --shell /usr/sbin/nologin caddy
fi
# Create config and data directories
mkdir -p /etc/caddy
mkdir -p /var/lib/caddy/.config/caddy
mkdir -p /var/lib/caddy/.local/share/caddy
chown -R caddy:caddy /var/lib/caddy
# Enable and start the service
if [ -d /run/systemd/system ]; then
systemctl daemon-reload
systemctl enable caddy.service
systemctl start caddy.service || true
fi
+13
View File
@@ -0,0 +1,13 @@
#!/bin/sh
set -e
if [ "$1" = "purge" ]; then
rm -rf /etc/caddy
rm -rf /var/lib/caddy
userdel caddy 2>/dev/null || true
groupdel caddy 2>/dev/null || true
fi
if [ -d /run/systemd/system ]; then
systemctl daemon-reload
fi
+7
View File
@@ -0,0 +1,7 @@
#!/bin/sh
set -e
if [ -d /run/systemd/system ]; then
systemctl stop caddy.service || true
systemctl disable caddy.service || true
fi