infra/roles/fail2ban/templates/docker-compose.yml.j2
Jeremie Fraeys dbe7b1b6b2
feat(docker): add timezone mounts to all containers for log sync
Add /etc/localtime:/etc/localtime:ro volume mount to:
- alertmanager, authelia, traefik
- exporters (node-exporter, cadvisor)
- fail2ban, lldap, postfix
- forgejo, forgejo_runner
- grafana, loki, prometheus
- watchtower, app_core (postgres, redis)

Ensures container logs use host timezone for consistent timestamps.
2026-03-06 15:13:52 -05:00

20 lines
540 B
Django/Jinja

services:
fail2ban:
image: crazymax/fail2ban:latest
environment:
- TZ=UTC
- F2B_DB_FILE=/data/fail2ban.sqlite3
- F2B_LOG_LEVEL=INFO
volumes:
- ./jail.local:/etc/fail2ban/jail.local:ro
- ./filter.d:/etc/fail2ban/filter.d:ro
- ./db:/data
- /var/log:/var/log:ro
- /var/lib/docker/containers:/var/lib/docker/containers:ro
- /etc/localtime:/etc/localtime:ro
network_mode: host
privileged: true
cap_add:
- NET_ADMIN
- NET_RAW
restart: unless-stopped