Caddy Proxy Manager stores traffic and WAF events in ClickHouse for fast aggregation queries. The Analytics dashboard shows live charts, geographic breakdowns, protocol statistics, and a searchable log of blocked requests. Data is retained for 90 days via a ClickHouse TTL policy — no manual cleanup is needed.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/fuomag9/caddy-proxy-manager/llms.txt
Use this file to discover all available pages before exploring further.
Enabling analytics
Analytics requires theclickhouse Docker Compose profile. The default .env.example has it enabled, so you only need to set a password and start the stack.
What’s tracked
Every request routed through Caddy is logged and ingested into ClickHouse. The Analytics dashboard surfaces the following metrics:| Metric | Description |
|---|---|
| Request count | Total requests over the selected time range |
| Protocol breakdown | HTTP/1.1, HTTP/2, and HTTP/3 (QUIC) distribution |
| Country map | Request origins plotted on a world map |
| Top user agents | Most frequent browser and bot user agents |
| Blocked requests | WAF-blocked requests with rule match details |
| Traffic over time | Requests-per-minute chart with configurable range |
Configuring time ranges
The Analytics page supports the following time windows: last 1 hour, 6 hours, 24 hours, 7 days, and 30 days. Caddy access logs are parsed and ingested continuously as traffic flows through, so charts update in near real time.WAF event log
The WAF event log is accessible at WAF → Events and is also surfaced in the Analytics dashboard. Each entry represents a single rule match and includes:- Request path and method
- Matching rule ID and message
- Severity classification
- Blocked vs Detected status
Combining profiles
To run analytics alongside the GeoIP update service, list both profiles inCOMPOSE_PROFILES:
.env
Disabling analytics
Removeclickhouse from COMPOSE_PROFILES (or leave the variable empty):
.env