1. The problem I’m having:
After upgrding to v2.10.2 on Rocky Linux 9.6, receiving an error about my caddyfile being malformed. I have since REM’d out the roll_keep_days directive and caddy starts without issue.
2. Error messages and/or full log output:
× caddy.service - Caddy
Loaded: loaded (/usr/lib/systemd/system/caddy.service; enabled; preset: disabled)
Active: failed (Result: exit-code) since Fri 2025-10-31 15:36:03 EDT; 3s ago
Docs: https://caddyserver.com/docs/
Process: 5502 ExecStart=/usr/bin/caddy run --environ --config /etc/caddy/Caddyfile (code=exited, status=1/FAILURE)
Main PID: 5502 (code=exited, status=1/FAILURE)
CPU: 99ms
Oct 31 15:36:03 caddy2.khaoohs.local caddy[5502]: USER=caddy
Oct 31 15:36:03 caddy2.khaoohs.local caddy[5502]: INVOCATION_ID=ce08603140fd4460b95dde7265c15b78
Oct 31 15:36:03 caddy2.khaoohs.local caddy[5502]: JOURNAL_STREAM=8:44916
Oct 31 15:36:03 caddy2.khaoohs.local caddy[5502]: SYSTEMD_EXEC_PID=5502
Oct 31 15:36:03 caddy2.khaoohs.local caddy[5502]: {"level":"info","ts":1761939363.808685,"msg":"using config from file","file":"/etc/caddy/Caddyfile"}
Oct 31 15:36:03 caddy2.khaoohs.local caddy[5502]: {"level":"info","ts":1761939363.8100834,"msg":"maxprocs: No GOMAXPROCS change to reset"}
Oct 31 15:36:03 caddy2.khaoohs.local caddy[5502]: Error: adapting config using caddyfile: parsing caddyfile tokens for 'log': unrecognized subdirective 'roll_keep_days', at /etc/caddy/Caddyfile:29
Oct 31 15:36:03 caddy2.khaoohs.local systemd[1]: caddy.service: Main process exited, code=exited, status=1/FAILURE
Oct 31 15:36:03 caddy2.khaoohs.local systemd[1]: caddy.service: Failed with result 'exit-code'.
Oct 31 15:36:03 caddy2.khaoohs.local systemd[1]: Failed to start Caddy.
3. Caddy version:
[khaoohs@caddy2 caddy]$ caddy version
v2.10.2 h1:g/gTYjGMD0dec+UgMw8SnfmJ3I9+M2TdvoRL/Ovu6U8=
4. How I installed and ran Caddy:
Installed via DNFa. System environment:
[khaoohs@caddy2 caddy]$ cat /etc/redhat-release
Rocky Linux release 9.6 (Blue Onyx)
b. Command:
c. Service/unit/compose file:
d. My complete Caddy config:
{
#Enable global debug
#debug
}
# Audiobookshelf
abs.khaoohs.mooo.com abs.home.khaoohs.net {
encode
reverse_proxy dockarr.khaoohs.local:13378
log {
output file /var/log/caddy/abs.access.log {
roll_size 10MB
roll_keep 5
#roll_keep_days 14
mode 644
}
}
}
# Jellyfin
jf.khaoohs.mooo.com, jf.home.khaoohs.net {
encode
reverse_proxy 192.168.1.29:8096 {
header_up X-Scheme https
}
log {
output file /var/log/caddy/jf.access.log {
roll_size 10MB
roll_keep 5
#roll_keep_days 30
mode 644
}
}
}
# Calibre-Web
cal.khaoohs.mooo.com, cal.home.khaoohs.net {
encode
reverse_proxy 192.168.1.221:8083 {
header_up X-Scheme https
}
log {
output file /var/log/caddy/cal.access.log {
roll_size 10MB
roll_keep 5
#roll_keep_days
mode 644
}
}
}
# Hydrus Web
hydrus.khaoohs.mooo.com, hydrus.home.khaoohs.net {
encode
reverse_proxy 192.168.1.170:45869
log {
output file /var/log/caddy/hydrus.access.log {
roll_size 10MB
roll_keep 5
#roll_keep_days
mode 644
}
}
}
# Tandoor Recipes
#tandoor.khaoohs.mooo.com {
# encode
# reverse_proxy dockarr.khaoohs.local:8081 {
# header_up X-Scheme https
# }
# log {
# output file /var/log/caddy/tandoor-khaoohs-moo-com.access.log {
# roll_size 10MB
# roll_keep 5
# roll_keep_days
# mode 644
# }
# }
#}
#Mealie Recipes
mealie.khaoohs.mooo.com, mealie.home.khaoohs.net {
encode
reverse_proxy dockarr.khaoohs.local:9925 {
header_up X-Scheme https
}
log {
output file /var/log/caddy/mealie.access.log {
roll_size 10MB
roll_keep 5
#roll_keep_days
mode 644
}
}
}
#Jellyseer
js.khaoohs.mooo.com, js.home.khaoohs.net {
encode
reverse_proxy dockarr.khaoohs.local:5055
log {
output file /var/log/caddy/js.access.log {
roll_size 10MB
roll_keep 5
#roll_keep_days
mode 644
}
}
}
#Jellystat
jellystat.khaoohs.mooo.com, jellystat.home.khaoohs.net {
encode
reverse_proxy dockarr.khaoohs.local:3000
log {
output file /var/log/caddy/jstat.access.log {
roll_size 10MB
roll_keep 5
#roll_keep_days
mode 644
}
}
}
#portainer
portainer.khaoohs.mooo.com, portainer.home.khaoohs.net {
encode
@denied not remote_ip private_ranges
abort @denied
reverse_proxy dockarr.khaoohs.local:9000
log {
output file /var/log/caddy/portainer.access.log {
roll_size 10MB
roll_keep 5
#roll_keep_days
mode 644
}
}
}
# testing
khaoohs.mooo.com {
encode
respond "Hello from khaoohs.mooo.com"
}
# testing
home.khaoohs.net {
# respond "This is home.khaoohs.net"
encode
templates
root /srv
file_server
log {
output file /var/log/caddy/home-khaoohs-net.access.log {
roll_size 10MB
roll_keep 5
#roll_keep_days
mode 644
}
}
}
```