video seo
All checks were successful
Deploy / build-deploy (push) Successful in 2m33s

This commit is contained in:
Jorijn van der Graaf 2026-08-19 00:02:32 +02:00
commit a8bc400371
3 changed files with 128 additions and 7 deletions

View file

@ -208,14 +208,25 @@ catcrafts.net {
# ── access log ────────────────────────────────────────────────────────
#
# Feeds the GoAccess analytics (see deploy/catcrafts-analytics). Retention
# sized for that: ~15 MB/day means a roll roughly weekly; 52 compressed
# rolls ~ a year of raw logs (~6 MB each gzipped). roll_keep_for must be
# explicit — lumberjack's default silently deletes after 90 days.
# Feeds the GoAccess analytics (see deploy/catcrafts-analytics), and is the
# only record of everything those aggregates discard: Sec-Fetch headers,
# Range behaviour, query strings, per-IP request sequences. Every bot fleet
# identified so far was caught in the raw log, not the report.
#
# roll_keep is a COUNT, so retention is really min(roll_keep × roll_size,
# roll_keep_for) — a byte budget, not the time window it reads as. 52 rolls
# is 5.2 GB, which is under a year for anything busier than 14 MB/day, and
# nothing here has ever been that quiet: 19-24 MB/day on a slow week, and
# 617 MB/day at the Hacker News peak, where 52 rolls is EIGHT DAYS. 365
# rolls (~2.6 GB gzipped, at the ~14:1 these compress to) makes
# roll_keep_for the constraint that actually decides, up to ~100 MB/day.
#
# roll_keep_for must be explicit — lumberjack's default silently deletes
# after 90 days.
log {
output file /var/log/caddy/catcrafts.net.log {
roll_size 100MiB
roll_keep 52
roll_keep 365
roll_keep_for 8760h
}
}