v1.4.0 – More Modular Config, Podman Support & More
This release brings a major upgrade to LoggiFly’s configuration system, enhanced template capabilities, Podman compatibility, along with some bug fixes and other improvements.
✨ New Features
Simpler configuration of attachments & actions
The configuration format has been simplified and unified.
Previously, you had to define keywords in multiple sections:
🔁 Old structure:
containers:
mycontainer:
keywords:
- error
keywords_with_attachment:
- "important alert"
action_keywords:
- restart: "fatal crash"
- stop:
regex: "unauthorized access"
✅ Now replaced with a single keywords:
section:
containers:
mycontainer:
keywords:
- error
- important alert
attach_logfile: true
- keyword: "fatal crash"
action: restart
- regex: "unauthorized access"
action: stop
Note
All existing configs using keywords_with_attachment
and action_keywords
are automatically interpreted and converted into the new unified format at runtime.
However, editing your config.yaml and switching to the new format is still recommended for clarity and full feature support
Warning
⚠️ The old setting hide_pattern_in_title
has been renamed to hide_regex_in_title
and is not automatically migrated.
More modular settings (#20)
The configuration system is now fully modular and much more powerful:
- all notification settings can now be set per container and per keyword/regex allowing you to send notifications to different channels/services depending on the contaier or keyword
- a lot of other settings you could previously set globally and per container can now be set per keyword/regex as well
Example:
container:
apprise_url: "discord://webhook-url"
keywords:
- keyword1
- regex: regex-pattern1
ntfy_tags: partying_face
ntfy_priority: 5
ntfy_topic: error
attachment_lines: 10
hide_regex_in_title: true
- keyword: keyword2
apprise_url: "discord://webhook-url"
action: restart
action_cooldown: 60
notification_title: '{container} restarted because these keywords were found: {keywords}'
notification_cooldown: 10
attach_logfile: true
All available settings and their applicable levels (global / container / keyword) are documented here.
New Setting: excluded_keywords
(#29)
This setting allows you to define keywords or regexes that should never trigger a notification. They can be defined at any level:
settings:
excluded_keywords: # global
- "debug"
- regex: "^healthcheck:.*"
containers:
mycontainer:
excluded_keywords: # per container
- "ignore this"
keywords:
- keyword: "critical error"
excluded_keywords: # per keyword
- regex: false alarm
Container Host Assignment (#27)
- New
hosts:
setting allows containers to be monitored only on specified hostnames in case you are montiring multiple hosts
JSON Template Enhancements (#25)
-
Improved
json_template
now supports nested json structures:{key}
for top-level fields{dict[key]}
for nested fields{list[index][key]}
for arrays
Official Podman Support thanks to @L-Schwarz (#21)
- You can now run LoggiFly with Podman, including rootless setups using quadlets. Full examples are in the new docs.
→ Documentation
Fixes & Improvements
- Fixed: Docker Swarm error:
no keywords configured
. - Improved: handling of restarted containers
- Podman: Added workaround for timeout issues when no logs are available.
- Various other small improvements
📚 Documentation
📘 New documentation site:
Includes a lot of improvements and the following new sections that were not previously in the README:
-
Settings Overview:
Tables showing which settings apply globally, per container, or per keyword -
Podman Support:
With full examples for podman run, quadlet + systemd