Skip to content

Config Schema ​

This page contains the full config schema for LoggiFly.

The content of this page is dynamically generatated from the pydantic models that make up the config.yaml structure.

Top-level Config

FieldTypeDefaultRequiredDescription
versioninteger2–Config schema version. Must be `2`.
containersContainerSourceConfignull–Configuration for Docker container monitoring.
swarmSwarmSourceConfignull–Configuration for Docker Swarm service monitoring.
notificationsNotificationsConfigNotificationsConfig–Notification service configuration (ntfy, apprise, webhook).
globalGlobalConfigGlobalConfig––
settingsSettingsConfigSettingsConfig–Application-wide settings.
containers ContainerSourceConfig
FieldTypeDefaultRequiredDescription
container_eventsContainerEventConfig[]null–Events to monitor on containers. Triggers when the specified Docker lifecycle event occurs.
keywordsKeywordItem[] | RegexItem[] | AllOf[]null–List of keywords, regexes, or `all_of` groups to match in log lines.
scopeScopeConfignull–Restrict container monitoring to specific Docker hosts.
never_monitorContainerMatchCriterianull–Containers that should never be monitored, regardless of other rules.
defaultsModularDefaultsConfignull–Default settings applied to all container rules.
rulesContainerRule[]null–List of container monitoring rules.
groupsContainerGroupConfig[]null–Groups of rules sharing common config (scope, defaults, keywords).

container_events[]

ContainerEventConfig
FieldTypeDefaultRequiredDescription
trigger_onTriggerOnConfignull–Only trigger after a keyword matches a set number of times within a timeframe.
container_actionstringnull–Action to perform on the container when this keyword is matched. One of `restart`, `stop`, `start`. Use 'action@container_name' to perform the action on a different container (this is always limited to the same host).
olivetin_actionsOliveTinAction[]null–List of OliveTin actions to trigger when this keyword is matched.
eventstring–✅Docker container event to monitor. One of: start, stop, die, crash, destroy, healthy, unhealthy, starting, oom, kill, create, restart.
+ 30 overridable fields inherited from Shared Overridable Fields
FieldTypeDefaultDescription
ntfy_tagsstringnullComma-separated Ntfy tags or emoji shortcodes to include in the notification header.
ntfy_topicstringnullNtfy topic to publish notifications to.
ntfy_prioritystring | integernullNotification priority. One of `min`, `low`, `default`, `high`, `max` (or 1–5).
ntfy_urlstringnullBase URL of the Ntfy server (e.g. `https://ntfy.sh`).
ntfy_tokenstringnullAuthentication token for Ntfy.
ntfy_usernamestringnullUsername for Ntfy basic authentication.
ntfy_passwordstringnullPassword for Ntfy basic authentication.
ntfy_iconstringnullURL of an icon to display with the notification.
ntfy_clickstringnullURL to open when the notification is clicked.
ntfy_markdownbooleannullRender the notification body as Markdown.
ntfy_actionsNtfyViewAction[] | NtfyHttpAction[] | NtfyBroadcastAction[]nullList of Ntfy action buttons to attach to the notification.
ntfy_headersobjectnullCustom HTTP headers to include in the Ntfy request.
apprise_urlstringnullApprise-compatible notification URL (supports 100+ services).
webhook_urlstringnullHTTP endpoint to POST notification payloads to.
webhook_headersobjectnullCustom HTTP headers for webhook requests.
ignore_keywordsSimpleKeyword[] | SimpleRegex[]nullKeywords or regexes to suppress — matching log lines will not trigger notifications.
title_templatestringnullJinja2 template for the notification title. Use `{{ variable }}` placeholders (e.g. `{{ container_name }}`, `{{ keyword }}`).
message_templatestringnullJinja2 template for the notification message body. Use `{{ variable }}` placeholders (e.g. `{{ log_entry }}`, `{{ keyword }}`).
olivetin_urlstringnullBase URL of the OliveTin instance to trigger actions on.
olivetin_usernamestringnullUsername for OliveTin authentication.
olivetin_passwordstringnullPassword for OliveTin authentication.
attach_logfilebooleannullAttach recent log lines as a file to the notification.
trigger_cooldownintegernullMinimum seconds between repeated triggers for the same keyword on the same target. `0` disables cooldown.
container_action_cooldownintegernullMinimum seconds between repeated container actions (restart/stop) on the same target.
attachment_linesintegernullNumber of log lines to include in the log attachment.
hide_full_regexbooleannullIn notifications, hide the full regex match and only show named capturing groups.
regex_case_sensitivebooleannullWhether regex patterns are case-sensitive.
disable_trigger_notificationsbooleannullSuppress all trigger notifications. Useful when only container actions or OliveTin actions are needed.
merge_matchesbooleannullCombine multiple keyword matches from the same log entry into a single notification.
bufferBufferConfignullDefine buffering conditions to capture subsequent log lines

trigger_on

TriggerOnConfig
FieldTypeDefaultRequiredDescription
countinteger–✅Number of matches required within the timeframe to trigger.
timeframeinteger–✅Time window in seconds within which `count` matches must occur.

olivetin_actions[]

OliveTinAction
FieldTypeDefaultRequiredDescription
idstring–✅ID of the OliveTin action to trigger.
argumentsOliveTinArgument[]null–List of named arguments to pass to the OliveTin action.
arguments[]
OliveTinArgument
FieldTypeDefaultRequiredDescription
namestring–✅Argument name.
valuestring–✅Argument value.

scope

ScopeConfig
FieldTypeDefaultRequiredDescription
hostsstring[]null–Restrict monitoring to specific Docker hosts by hostname.

never_monitor

ContainerMatchCriteria
FieldTypeDefaultRequiredDescription
container_namesstring[]–✅List of glob patterns for container names to match (e.g. `my-container*`).

rules[]

ContainerRule
FieldTypeDefaultRequiredDescription
container_eventsContainerEventConfig[]null–Events to monitor on containers. Triggers when the specified Docker lifecycle event occurs.
keywordsKeywordItem[] | RegexItem[] | AllOf[]null–List of keywords, regexes, or `all_of` groups to match in log lines.
idstringnull–Unique identifier for this rule. Auto-generated if not provided.
enabledbooleantrue–Whether this rule is active.
scopeScopeConfignull–Restrict this rule to specific Docker hosts.
container_namestringnull–Shorthand for `match.include.container_names`. Accepts a single glob pattern for a container name (e.g. `my-container*`).
matchContainerMatch–✅Criteria for matching the containers this rule applies to.
+ 30 overridable fields inherited from Shared Overridable Fields
FieldTypeDefaultDescription
ntfy_tagsstringnullComma-separated Ntfy tags or emoji shortcodes to include in the notification header.
ntfy_topicstringnullNtfy topic to publish notifications to.
ntfy_prioritystring | integernullNotification priority. One of `min`, `low`, `default`, `high`, `max` (or 1–5).
ntfy_urlstringnullBase URL of the Ntfy server (e.g. `https://ntfy.sh`).
ntfy_tokenstringnullAuthentication token for Ntfy.
ntfy_usernamestringnullUsername for Ntfy basic authentication.
ntfy_passwordstringnullPassword for Ntfy basic authentication.
ntfy_iconstringnullURL of an icon to display with the notification.
ntfy_clickstringnullURL to open when the notification is clicked.
ntfy_markdownbooleannullRender the notification body as Markdown.
ntfy_actionsNtfyViewAction[] | NtfyHttpAction[] | NtfyBroadcastAction[]nullList of Ntfy action buttons to attach to the notification.
ntfy_headersobjectnullCustom HTTP headers to include in the Ntfy request.
apprise_urlstringnullApprise-compatible notification URL (supports 100+ services).
webhook_urlstringnullHTTP endpoint to POST notification payloads to.
webhook_headersobjectnullCustom HTTP headers for webhook requests.
ignore_keywordsSimpleKeyword[] | SimpleRegex[]nullKeywords or regexes to suppress — matching log lines will not trigger notifications.
title_templatestringnullJinja2 template for the notification title. Use `{{ variable }}` placeholders (e.g. `{{ container_name }}`, `{{ keyword }}`).
message_templatestringnullJinja2 template for the notification message body. Use `{{ variable }}` placeholders (e.g. `{{ log_entry }}`, `{{ keyword }}`).
olivetin_urlstringnullBase URL of the OliveTin instance to trigger actions on.
olivetin_usernamestringnullUsername for OliveTin authentication.
olivetin_passwordstringnullPassword for OliveTin authentication.
attach_logfilebooleannullAttach recent log lines as a file to the notification.
trigger_cooldownintegernullMinimum seconds between repeated triggers for the same keyword on the same target. `0` disables cooldown.
container_action_cooldownintegernullMinimum seconds between repeated container actions (restart/stop) on the same target.
attachment_linesintegernullNumber of log lines to include in the log attachment.
hide_full_regexbooleannullIn notifications, hide the full regex match and only show named capturing groups.
regex_case_sensitivebooleannullWhether regex patterns are case-sensitive.
disable_trigger_notificationsbooleannullSuppress all trigger notifications. Useful when only container actions or OliveTin actions are needed.
merge_matchesbooleannullCombine multiple keyword matches from the same log entry into a single notification.
bufferBufferConfignullDefine buffering conditions to capture subsequent log lines

match

ContainerMatch
FieldTypeDefaultRequiredDescription
includeContainerMatchCriteria–✅Containers that must match.
excludeContainerMatchCriterianull–Containers to exclude even if they match `include`.

groups[]

ContainerGroupConfig
FieldTypeDefaultRequiredDescription
container_eventsContainerEventConfig[]null–Events to monitor on containers. Triggers when the specified Docker lifecycle event occurs.
keywordsKeywordItem[] | RegexItem[] | AllOf[]null–List of keywords, regexes, or `all_of` groups to match in log lines.
scopeScopeConfignull–Restrict this group to specific Docker hosts. AND-combined with source-level scope.
never_monitorContainerMatchCriterianull–Containers excluded from monitoring within this group only.
defaultsModularDefaultsConfignull–Default settings applied to all rules in this group.
rulesContainerRule[]–✅Rules within this group. At least one rule is required.
swarm SwarmSourceConfig
FieldTypeDefaultRequiredDescription
container_eventsContainerEventConfig[]null–Events to monitor on containers. Triggers when the specified Docker lifecycle event occurs.
keywordsKeywordItem[] | RegexItem[] | AllOf[]null–List of keywords, regexes, or `all_of` groups to match in log lines.
scopeScopeConfignull–Restrict Swarm monitoring to specific Docker hosts.
never_monitorSwarmMatchCriterianull–Swarm services that should never be monitored, regardless of other rules.
defaultsModularDefaultsConfignull–Default settings applied to all Swarm rules.
rulesSwarmRule[]null–List of Swarm service monitoring rules.
groupsSwarmGroupConfig[]null–Groups of rules sharing common config (scope, defaults, keywords).

never_monitor

SwarmMatchCriteria
FieldTypeDefaultRequiredDescription
stack_namesstring[]null–List of glob patterns for Swarm stack names to match (e.g. `my-stack*`).
service_namesstring[]null–List of glob patterns for Swarm service names to match (e.g. `my-service*`).

rules[]

SwarmRule
FieldTypeDefaultRequiredDescription
container_eventsContainerEventConfig[]null–Events to monitor on containers. Triggers when the specified Docker lifecycle event occurs.
keywordsKeywordItem[] | RegexItem[] | AllOf[]null–List of keywords, regexes, or `all_of` groups to match in log lines.
idstringnull–Unique identifier for this rule. Auto-generated if not provided.
enabledbooleantrue–Whether this rule is active.
scopeScopeConfignull–Restrict this rule to specific Docker hosts.
stack_namestringnull–Shorthand for `match.include.stack_names`. Accepts a single glob pattern for a stack name (e.g. `my-stack*`).
service_namestringnull–Shorthand for `match.include.service_names`. Accepts a single glob pattern for a service name (e.g. `my-service*`).
matchSwarmMatch–✅Criteria for matching the Swarm services this rule applies to.
+ 30 overridable fields inherited from Shared Overridable Fields
FieldTypeDefaultDescription
ntfy_tagsstringnullComma-separated Ntfy tags or emoji shortcodes to include in the notification header.
ntfy_topicstringnullNtfy topic to publish notifications to.
ntfy_prioritystring | integernullNotification priority. One of `min`, `low`, `default`, `high`, `max` (or 1–5).
ntfy_urlstringnullBase URL of the Ntfy server (e.g. `https://ntfy.sh`).
ntfy_tokenstringnullAuthentication token for Ntfy.
ntfy_usernamestringnullUsername for Ntfy basic authentication.
ntfy_passwordstringnullPassword for Ntfy basic authentication.
ntfy_iconstringnullURL of an icon to display with the notification.
ntfy_clickstringnullURL to open when the notification is clicked.
ntfy_markdownbooleannullRender the notification body as Markdown.
ntfy_actionsNtfyViewAction[] | NtfyHttpAction[] | NtfyBroadcastAction[]nullList of Ntfy action buttons to attach to the notification.
ntfy_headersobjectnullCustom HTTP headers to include in the Ntfy request.
apprise_urlstringnullApprise-compatible notification URL (supports 100+ services).
webhook_urlstringnullHTTP endpoint to POST notification payloads to.
webhook_headersobjectnullCustom HTTP headers for webhook requests.
ignore_keywordsSimpleKeyword[] | SimpleRegex[]nullKeywords or regexes to suppress — matching log lines will not trigger notifications.
title_templatestringnullJinja2 template for the notification title. Use `{{ variable }}` placeholders (e.g. `{{ container_name }}`, `{{ keyword }}`).
message_templatestringnullJinja2 template for the notification message body. Use `{{ variable }}` placeholders (e.g. `{{ log_entry }}`, `{{ keyword }}`).
olivetin_urlstringnullBase URL of the OliveTin instance to trigger actions on.
olivetin_usernamestringnullUsername for OliveTin authentication.
olivetin_passwordstringnullPassword for OliveTin authentication.
attach_logfilebooleannullAttach recent log lines as a file to the notification.
trigger_cooldownintegernullMinimum seconds between repeated triggers for the same keyword on the same target. `0` disables cooldown.
container_action_cooldownintegernullMinimum seconds between repeated container actions (restart/stop) on the same target.
attachment_linesintegernullNumber of log lines to include in the log attachment.
hide_full_regexbooleannullIn notifications, hide the full regex match and only show named capturing groups.
regex_case_sensitivebooleannullWhether regex patterns are case-sensitive.
disable_trigger_notificationsbooleannullSuppress all trigger notifications. Useful when only container actions or OliveTin actions are needed.
merge_matchesbooleannullCombine multiple keyword matches from the same log entry into a single notification.
bufferBufferConfignullDefine buffering conditions to capture subsequent log lines

match

SwarmMatch
FieldTypeDefaultRequiredDescription
includeSwarmMatchCriteria–✅Swarm services that must match.
excludeSwarmMatchCriterianull–Swarm services to exclude even if they match `include`.

groups[]

SwarmGroupConfig
FieldTypeDefaultRequiredDescription
container_eventsContainerEventConfig[]null–Events to monitor on containers. Triggers when the specified Docker lifecycle event occurs.
keywordsKeywordItem[] | RegexItem[] | AllOf[]null–List of keywords, regexes, or `all_of` groups to match in log lines.
scopeScopeConfignull–Restrict this group to specific Docker hosts. AND-combined with source-level scope.
never_monitorSwarmMatchCriterianull–Swarm services excluded from monitoring within this group only.
defaultsModularDefaultsConfignull–Default settings applied to all rules in this group.
rulesSwarmRule[]–✅Rules within this group. At least one rule is required.
notifications NotificationsConfig
FieldTypeDefaultRequiredDescription
ntfyNtfyConfignull–Ntfy push notification service configuration.
appriseAppriseConfignull–Apprise multi-service notification configuration.
webhookWebhookConfignull–Webhook notification configuration.

ntfy

NtfyConfig
FieldTypeDefaultRequiredDescription
urlstring–✅Base URL of the Ntfy server (e.g. `https://ntfy.sh`).
topicstring–✅Ntfy topic to publish notifications to.
tokenstringnull–Authentication token for Ntfy.
usernamestringnull–Username for Ntfy basic authentication.
passwordstringnull–Password for Ntfy basic authentication.
prioritystring | integer3–Notification priority. One of `min`, `low`, `default`, `high`, `max` (or 1–5).
tagsstringkite,mag–Comma-separated Ntfy tags or emoji shortcodes to include in the notification header.
iconstringnull–URL of an icon to display with the notification.
clickstringnull–URL to open when the notification is clicked.
markdownbooleannull–Render the notification body as Markdown.
actionsNtfyViewAction[] | NtfyHttpAction[] | NtfyBroadcastAction[]null–List of Ntfy action buttons to attach to the notification.
headersobjectnull–Custom HTTP headers to include in the Ntfy request.

apprise

AppriseConfig
FieldTypeDefaultRequiredDescription
urlstring–✅Apprise-compatible notification URL (supports 100+ services).

webhook

WebhookConfig
FieldTypeDefaultRequiredDescription
urlstring–✅HTTP endpoint to POST notification payloads to.
headersobjectnull–Custom HTTP headers for webhook requests.
global GlobalConfig
FieldTypeDefaultRequiredDescription
keywordsKeywordItem[] | RegexItem[] | AllOf[]null–List of keywords, regexes, or `all_of` groups to match in log lines.
defaultsRootDefaultsConfigRootDefaultsConfig–Global default settings applied to all rules unless overridden.

defaults

RootDefaultsConfig
FieldTypeDefaultRequiredDescription
ntfy_tagsstringnull–Comma-separated Ntfy tags or emoji shortcodes to include in the notification header.
ntfy_topicstringnull–Ntfy topic to publish notifications to.
ntfy_prioritystring | integernull–Notification priority. One of `min`, `low`, `default`, `high`, `max` (or 1–5).
ntfy_urlstringnull–Base URL of the Ntfy server (e.g. `https://ntfy.sh`).
ntfy_tokenstringnull–Authentication token for Ntfy.
ntfy_usernamestringnull–Username for Ntfy basic authentication.
ntfy_passwordstringnull–Password for Ntfy basic authentication.
ntfy_iconstringnull–URL of an icon to display with the notification.
ntfy_clickstringnull–URL to open when the notification is clicked.
ntfy_markdownbooleannull–Render the notification body as Markdown.
ntfy_actionsNtfyViewAction[] | NtfyHttpAction[] | NtfyBroadcastAction[]null–List of Ntfy action buttons to attach to the notification.
ntfy_headersobjectnull–Custom HTTP headers to include in the Ntfy request.
apprise_urlstringnull–Apprise-compatible notification URL (supports 100+ services).
webhook_urlstringnull–HTTP endpoint to POST notification payloads to.
webhook_headersobjectnull–Custom HTTP headers for webhook requests.
ignore_keywordsSimpleKeyword[] | SimpleRegex[]null–Keywords or regexes to suppress — matching log lines will not trigger notifications.
title_templatestringnull–Jinja2 template for the notification title. Use `{{ variable }}` placeholders (e.g. `{{ container_name }}`, `{{ keyword }}`).
message_templatestringnull–Jinja2 template for the notification message body. Use `{{ variable }}` placeholders (e.g. `{{ log_entry }}`, `{{ keyword }}`).
olivetin_urlstringnull–Base URL of the OliveTin instance to trigger actions on.
olivetin_usernamestringnull–Username for OliveTin authentication.
olivetin_passwordstringnull–Password for OliveTin authentication.
attach_logfilebooleanfalse–Attach recent log lines as a file to the notification.
trigger_cooldowninteger0–Minimum seconds between repeated triggers for the same keyword on the same target. `0` disables cooldown.
container_action_cooldowninteger60–Minimum seconds between repeated container actions (restart/stop) on the same target.
attachment_linesinteger20–Number of log lines to include in the log attachment.
hide_full_regexbooleanfalse–In notifications, hide the full regex match and only show named capturing groups.
regex_case_sensitivebooleantrue–Whether regex patterns are case-sensitive.
disable_trigger_notificationsbooleanfalse–Suppress all trigger notifications. Useful when only container actions or OliveTin actions are needed.
merge_matchesbooleanfalse–Combine multiple keyword matches from the same log entry into a single notification.
bufferBufferConfignull–Define buffering conditions to capture subsequent log lines

buffer

BufferConfig
FieldTypeDefaultRequiredDescription
secondsinteger–✅Number of seconds to buffer subsequent log lines.
modestringmatching–'matching' only captures matching log lines (default). 'all' captures all subsequent log lines
max_linesintegernull–Maximum number of lines to capture
settings SettingsConfig
FieldTypeDefaultRequiredDescription
log_levelstringINFO–Log verbosity level. One of `DEBUG`, `INFO`, `WARNING`, `ERROR`.
multi_line_entriesbooleantrue–Catch log entries that span multiple lines instead of going line by line.
compact_summary_messagebooleanfalse–Get a comma-separated list of monitored targets instead of a multi-line list in startup and config reload notifications.
reload_configbooleantrue–Automatically reload configuration when the config file changes.
max_message_lengthinteger20000–Maximum notification body length in characters, including any shortening marker. Applies to all notification services. Set to 0 to disable. Titles, attachments and extra webhook fields are not limited.
system_notificationsSystemNotifications | booleanSystemNotifications–System notifications settings. Can be set to a boolean to enable or disable all notifications or to a SystemNotifications object to enable or disable specific notifications.

system_notifications

SystemNotifications
FieldTypeDefaultRequiredDescription
startbooleantrue–Enable the notification sent when LoggiFly starts.
shutdownbooleantrue–Enable the notification sent when LoggiFly shuts down.
config_reloadbooleantrue–Enable the notification sent when the config file is reloaded.
monitor_eventbooleantrue–Enable the notification sent when a container starts or stops being monitored.

Appendix

Shared Overridable Fields

These fields can be set at multiple levels: under defaults, per rule, and per keyword/regex item. A value set at a deeper level overrides the parent.

FieldTypeDefaultRequiredDescription
ntfy_tagsstringnull–Comma-separated Ntfy tags or emoji shortcodes to include in the notification header.
ntfy_topicstringnull–Ntfy topic to publish notifications to.
ntfy_prioritystring | integernull–Notification priority. One of `min`, `low`, `default`, `high`, `max` (or 1–5).
ntfy_urlstringnull–Base URL of the Ntfy server (e.g. `https://ntfy.sh`).
ntfy_tokenstringnull–Authentication token for Ntfy.
ntfy_usernamestringnull–Username for Ntfy basic authentication.
ntfy_passwordstringnull–Password for Ntfy basic authentication.
ntfy_iconstringnull–URL of an icon to display with the notification.
ntfy_clickstringnull–URL to open when the notification is clicked.
ntfy_markdownbooleannull–Render the notification body as Markdown.
ntfy_actionsNtfyViewAction[] | NtfyHttpAction[] | NtfyBroadcastAction[]null–List of Ntfy action buttons to attach to the notification.
ntfy_headersobjectnull–Custom HTTP headers to include in the Ntfy request.
apprise_urlstringnull–Apprise-compatible notification URL (supports 100+ services).
webhook_urlstringnull–HTTP endpoint to POST notification payloads to.
webhook_headersobjectnull–Custom HTTP headers for webhook requests.
ignore_keywordsSimpleKeyword[] | SimpleRegex[]null–Keywords or regexes to suppress — matching log lines will not trigger notifications.
title_templatestringnull–Jinja2 template for the notification title. Use `{{ variable }}` placeholders (e.g. `{{ container_name }}`, `{{ keyword }}`).
message_templatestringnull–Jinja2 template for the notification message body. Use `{{ variable }}` placeholders (e.g. `{{ log_entry }}`, `{{ keyword }}`).
olivetin_urlstringnull–Base URL of the OliveTin instance to trigger actions on.
olivetin_usernamestringnull–Username for OliveTin authentication.
olivetin_passwordstringnull–Password for OliveTin authentication.
attach_logfilebooleannull–Attach recent log lines as a file to the notification.
trigger_cooldownintegernull–Minimum seconds between repeated triggers for the same keyword on the same target. `0` disables cooldown.
container_action_cooldownintegernull–Minimum seconds between repeated container actions (restart/stop) on the same target.
attachment_linesintegernull–Number of log lines to include in the log attachment.
hide_full_regexbooleannull–In notifications, hide the full regex match and only show named capturing groups.
regex_case_sensitivebooleannull–Whether regex patterns are case-sensitive.
disable_trigger_notificationsbooleannull–Suppress all trigger notifications. Useful when only container actions or OliveTin actions are needed.
merge_matchesbooleannull–Combine multiple keyword matches from the same log entry into a single notification.
bufferBufferConfignull–Define buffering conditions to capture subsequent log lines

Union Types

These types appear as list items in discriminated-union array fields throughout the config. They are documented here separately because they may appear in multiple places.

NtfyViewAction

FieldTypeDefaultRequiredDescription
actionstringview–Action type. Must be `view`.
labelstring–✅Button label shown in the notification.
urlstring–✅URL to open when the action button is tapped.
clearbooleanfalse–Clear the notification after the action is triggered.

NtfyHttpAction

FieldTypeDefaultRequiredDescription
actionstringhttp–Action type. Must be `http`.
labelstring–✅Button label shown in the notification.
urlstring–✅URL called by the HTTP action.
clearbooleanfalse–Clear the notification after the action is triggered.
methodstringnull–HTTP method for the request (e.g. `GET`, `POST`).
headersobjectnull–Custom HTTP headers to include in the request.
bodystringnull–Request body for the HTTP action.

NtfyBroadcastAction

FieldTypeDefaultRequiredDescription
actionstringbroadcast–Action type. Must be `broadcast`.
labelstring–✅Button label shown in the notification.
clearbooleanfalse–Clear the notification after the action is triggered.
intentstringnull–Android intent for the broadcast action.
extrasobjectnull–Extra key-value pairs for the Android intent.

SimpleKeyword

FieldTypeDefaultRequiredDescription
keywordstring–✅Plain text string to search for in log lines.

SimpleRegex

FieldTypeDefaultRequiredDescription
regexstring–✅Regular expression to match against log lines.

KeywordItem

FieldTypeDefaultRequiredDescription
trigger_onTriggerOnConfignull–Only trigger after a keyword matches a set number of times within a timeframe.
container_actionstringnull–Action to perform on the container when this keyword is matched. One of `restart`, `stop`, `start`. Use 'action@container_name' to perform the action on a different container (this is always limited to the same host).
olivetin_actionsOliveTinAction[]null–List of OliveTin actions to trigger when this keyword is matched.
keywordstring–✅Plain text string to search for in log lines.
+ 30 overridable fields inherited from Shared Overridable Fields
FieldTypeDefaultDescription
ntfy_tagsstringnullComma-separated Ntfy tags or emoji shortcodes to include in the notification header.
ntfy_topicstringnullNtfy topic to publish notifications to.
ntfy_prioritystring | integernullNotification priority. One of `min`, `low`, `default`, `high`, `max` (or 1–5).
ntfy_urlstringnullBase URL of the Ntfy server (e.g. `https://ntfy.sh`).
ntfy_tokenstringnullAuthentication token for Ntfy.
ntfy_usernamestringnullUsername for Ntfy basic authentication.
ntfy_passwordstringnullPassword for Ntfy basic authentication.
ntfy_iconstringnullURL of an icon to display with the notification.
ntfy_clickstringnullURL to open when the notification is clicked.
ntfy_markdownbooleannullRender the notification body as Markdown.
ntfy_actionsNtfyViewAction[] | NtfyHttpAction[] | NtfyBroadcastAction[]nullList of Ntfy action buttons to attach to the notification.
ntfy_headersobjectnullCustom HTTP headers to include in the Ntfy request.
apprise_urlstringnullApprise-compatible notification URL (supports 100+ services).
webhook_urlstringnullHTTP endpoint to POST notification payloads to.
webhook_headersobjectnullCustom HTTP headers for webhook requests.
ignore_keywordsSimpleKeyword[] | SimpleRegex[]nullKeywords or regexes to suppress — matching log lines will not trigger notifications.
title_templatestringnullJinja2 template for the notification title. Use `{{ variable }}` placeholders (e.g. `{{ container_name }}`, `{{ keyword }}`).
message_templatestringnullJinja2 template for the notification message body. Use `{{ variable }}` placeholders (e.g. `{{ log_entry }}`, `{{ keyword }}`).
olivetin_urlstringnullBase URL of the OliveTin instance to trigger actions on.
olivetin_usernamestringnullUsername for OliveTin authentication.
olivetin_passwordstringnullPassword for OliveTin authentication.
attach_logfilebooleannullAttach recent log lines as a file to the notification.
trigger_cooldownintegernullMinimum seconds between repeated triggers for the same keyword on the same target. `0` disables cooldown.
container_action_cooldownintegernullMinimum seconds between repeated container actions (restart/stop) on the same target.
attachment_linesintegernullNumber of log lines to include in the log attachment.
hide_full_regexbooleannullIn notifications, hide the full regex match and only show named capturing groups.
regex_case_sensitivebooleannullWhether regex patterns are case-sensitive.
disable_trigger_notificationsbooleannullSuppress all trigger notifications. Useful when only container actions or OliveTin actions are needed.
merge_matchesbooleannullCombine multiple keyword matches from the same log entry into a single notification.
bufferBufferConfignullDefine buffering conditions to capture subsequent log lines

RegexItem

FieldTypeDefaultRequiredDescription
trigger_onTriggerOnConfignull–Only trigger after a keyword matches a set number of times within a timeframe.
container_actionstringnull–Action to perform on the container when this keyword is matched. One of `restart`, `stop`, `start`. Use 'action@container_name' to perform the action on a different container (this is always limited to the same host).
olivetin_actionsOliveTinAction[]null–List of OliveTin actions to trigger when this keyword is matched.
regexstring–✅Regular expression to match against log lines. Named capturing groups can be used in notification templates.
+ 30 overridable fields inherited from Shared Overridable Fields
FieldTypeDefaultDescription
ntfy_tagsstringnullComma-separated Ntfy tags or emoji shortcodes to include in the notification header.
ntfy_topicstringnullNtfy topic to publish notifications to.
ntfy_prioritystring | integernullNotification priority. One of `min`, `low`, `default`, `high`, `max` (or 1–5).
ntfy_urlstringnullBase URL of the Ntfy server (e.g. `https://ntfy.sh`).
ntfy_tokenstringnullAuthentication token for Ntfy.
ntfy_usernamestringnullUsername for Ntfy basic authentication.
ntfy_passwordstringnullPassword for Ntfy basic authentication.
ntfy_iconstringnullURL of an icon to display with the notification.
ntfy_clickstringnullURL to open when the notification is clicked.
ntfy_markdownbooleannullRender the notification body as Markdown.
ntfy_actionsNtfyViewAction[] | NtfyHttpAction[] | NtfyBroadcastAction[]nullList of Ntfy action buttons to attach to the notification.
ntfy_headersobjectnullCustom HTTP headers to include in the Ntfy request.
apprise_urlstringnullApprise-compatible notification URL (supports 100+ services).
webhook_urlstringnullHTTP endpoint to POST notification payloads to.
webhook_headersobjectnullCustom HTTP headers for webhook requests.
ignore_keywordsSimpleKeyword[] | SimpleRegex[]nullKeywords or regexes to suppress — matching log lines will not trigger notifications.
title_templatestringnullJinja2 template for the notification title. Use `{{ variable }}` placeholders (e.g. `{{ container_name }}`, `{{ keyword }}`).
message_templatestringnullJinja2 template for the notification message body. Use `{{ variable }}` placeholders (e.g. `{{ log_entry }}`, `{{ keyword }}`).
olivetin_urlstringnullBase URL of the OliveTin instance to trigger actions on.
olivetin_usernamestringnullUsername for OliveTin authentication.
olivetin_passwordstringnullPassword for OliveTin authentication.
attach_logfilebooleannullAttach recent log lines as a file to the notification.
trigger_cooldownintegernullMinimum seconds between repeated triggers for the same keyword on the same target. `0` disables cooldown.
container_action_cooldownintegernullMinimum seconds between repeated container actions (restart/stop) on the same target.
attachment_linesintegernullNumber of log lines to include in the log attachment.
hide_full_regexbooleannullIn notifications, hide the full regex match and only show named capturing groups.
regex_case_sensitivebooleannullWhether regex patterns are case-sensitive.
disable_trigger_notificationsbooleannullSuppress all trigger notifications. Useful when only container actions or OliveTin actions are needed.
merge_matchesbooleannullCombine multiple keyword matches from the same log entry into a single notification.
bufferBufferConfignullDefine buffering conditions to capture subsequent log lines

AllOf

FieldTypeDefaultRequiredDescription
trigger_onTriggerOnConfignull–Only trigger after a keyword matches a set number of times within a timeframe.
container_actionstringnull–Action to perform on the container when this keyword is matched. One of `restart`, `stop`, `start`. Use 'action@container_name' to perform the action on a different container (this is always limited to the same host).
olivetin_actionsOliveTinAction[]null–List of OliveTin actions to trigger when this keyword is matched.
all_ofSimpleKeyword[] | SimpleRegex[]–✅List of keywords/regexes that must all be present in a log entry to trigger.
+ 30 overridable fields inherited from Shared Overridable Fields
FieldTypeDefaultDescription
ntfy_tagsstringnullComma-separated Ntfy tags or emoji shortcodes to include in the notification header.
ntfy_topicstringnullNtfy topic to publish notifications to.
ntfy_prioritystring | integernullNotification priority. One of `min`, `low`, `default`, `high`, `max` (or 1–5).
ntfy_urlstringnullBase URL of the Ntfy server (e.g. `https://ntfy.sh`).
ntfy_tokenstringnullAuthentication token for Ntfy.
ntfy_usernamestringnullUsername for Ntfy basic authentication.
ntfy_passwordstringnullPassword for Ntfy basic authentication.
ntfy_iconstringnullURL of an icon to display with the notification.
ntfy_clickstringnullURL to open when the notification is clicked.
ntfy_markdownbooleannullRender the notification body as Markdown.
ntfy_actionsNtfyViewAction[] | NtfyHttpAction[] | NtfyBroadcastAction[]nullList of Ntfy action buttons to attach to the notification.
ntfy_headersobjectnullCustom HTTP headers to include in the Ntfy request.
apprise_urlstringnullApprise-compatible notification URL (supports 100+ services).
webhook_urlstringnullHTTP endpoint to POST notification payloads to.
webhook_headersobjectnullCustom HTTP headers for webhook requests.
ignore_keywordsSimpleKeyword[] | SimpleRegex[]nullKeywords or regexes to suppress — matching log lines will not trigger notifications.
title_templatestringnullJinja2 template for the notification title. Use `{{ variable }}` placeholders (e.g. `{{ container_name }}`, `{{ keyword }}`).
message_templatestringnullJinja2 template for the notification message body. Use `{{ variable }}` placeholders (e.g. `{{ log_entry }}`, `{{ keyword }}`).
olivetin_urlstringnullBase URL of the OliveTin instance to trigger actions on.
olivetin_usernamestringnullUsername for OliveTin authentication.
olivetin_passwordstringnullPassword for OliveTin authentication.
attach_logfilebooleannullAttach recent log lines as a file to the notification.
trigger_cooldownintegernullMinimum seconds between repeated triggers for the same keyword on the same target. `0` disables cooldown.
container_action_cooldownintegernullMinimum seconds between repeated container actions (restart/stop) on the same target.
attachment_linesintegernullNumber of log lines to include in the log attachment.
hide_full_regexbooleannullIn notifications, hide the full regex match and only show named capturing groups.
regex_case_sensitivebooleannullWhether regex patterns are case-sensitive.
disable_trigger_notificationsbooleannullSuppress all trigger notifications. Useful when only container actions or OliveTin actions are needed.
merge_matchesbooleannullCombine multiple keyword matches from the same log entry into a single notification.
bufferBufferConfignullDefine buffering conditions to capture subsequent log lines