From a182ba5c6888588910c946a2d95640a0a633e198 Mon Sep 17 00:00:00 2001 From: ryuupendragon Date: Sat, 23 Aug 2025 21:36:49 +0530 Subject: [PATCH] Update README --- README.md | 101 +++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 100 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index a8806ec..69cc991 100644 --- a/README.md +++ b/README.md @@ -1 +1,100 @@ -# docker-caddy \ No newline at end of file +# Caddy + +Custom Caddy Builds + + +Create CLOUDFLARE_API_TOKEN with below permissions. + * Zone.Zone:Read + * Zone.DNS:Edit + +## [Cloudflare ACME](https://github.com/caddy-dns/cloudflare) + +```Caddyfile +{ + email username@domain.com + acme_dns cloudflare {$CLOUDFLARE_API_TOKEN} +} +``` + +## [Dynamic DNS](https://github.com/mholt/caddy-dynamicdns) + +```Caddyfile +{ + dynamic_dns { + provider cloudflare {$CLOUDFLARE_API_TOKEN} + domains { + example.com @ subdomain + } + check_interval 5m + versions ipv4 + ttl 1m + } +} +``` + +## [CrowdSec](https://github.com/hslatman/caddy-crowdsec-bouncer) + +```Caddyfile +{ + crowdsec { + api_url http://crowdsec:8080 + api_key {$CROWDSEC_API_KEY} + ticker_interval 3s + appsec_url http://crowdsec:7422 + #disable_streaming + #enable_hard_fails + } +} + +#Add Logging to Caddy +(logging) { + log { + output file /logs/access.log { + roll_size 10MB # Create new file when size exceeds 10MB + roll_keep 5 # Keep at most 5 rolled files + roll_keep_for 336h # Delete files older than 14 days + roll_uncompressed + } + } +} + +ryuu.in www.ryuu.in { + import logging + route { + crowdsec + } + redir https://git.ryuu.in/ryuupendragon permanent +} + +*.ryuu.in { + import logging + + @a host a.ryuu.in + handle @a { + route { + crowdsec + } + reverse_proxy ip:port + } + + @b host b.ryuu.in + handle @b { + route { + crowdsec + } + reverse_proxy ip:port + } + + # Fallback for otherwise unhandled domains + handle { + route { + crowdsec + } + abort + } +} + +``` + + +**Disclaimer**: Some inspirations were taken from [serfriz](https://github.com/serfriz/caddy-custom-builds)'s custom caddy builds for folder structure, parsing caddy version from Dockerfile, and readme. No code has been directly copied unless otherwise specified. This project is not affiliated with or endorsed by serfriz.