Skip to content

Environment Variables

While you can configure a lot of settings via Environment Variables, you can not create multiple rules or apply settings on different levels like you can do in the config.yaml.

Settings

Maps to the settings: section in the config.yaml.

VariableTypeDefaultDescriptionMaps to
LOG_LEVELstringINFOLog verbosity level. One of DEBUG, INFO, WARNING, ERROR.settings.log_level
MULTI_LINE_ENTRIESbooltrueGroup multi-line log entries before keyword matching. LoggiFly automatically detects the log format.settings.multi_line_entries
SYSTEM_NOTIFICATIONS_STARTbooltrueWhether to send a notification when LoggiFly starts.settings.system_notifications.start
SYSTEM_NOTIFICATIONS_SHUTDOWNbooltrueWhether to send a notification when LoggiFly shuts down.settings.system_notifications.shutdown
SYSTEM_NOTIFICATIONS_CONFIG_RELOADbooltrueWhether to send a notification when the config file is reloaded.settings.system_notifications.config_reload
SYSTEM_NOTIFICATIONS_MONITOR_EVENTbooltrueWhether to send a notification when a container starts or stops being monitored.settings.system_notifications.monitor_event
SYSTEM_NOTIFICATIONSbooltrueShortcut to enable or disable all system notifications.settings.system_notifications
COMPACT_SUMMARY_MESSAGEboolfalseSend a shorter summary notification instead of a full message.settings.compact_summary_message
RELOAD_CONFIGbooltrueAutomatically reload configuration when the config file changes.settings.reload_config

Global Keywords

Maps to the global.keywords: section in the config.yaml.

VariableTypeDefaultDescriptionMaps to
GLOBAL_KEYWORDSstring (comma-separated)Keywords to watch for across all monitored containers.global.keywords

Global Defaults

Maps to the global.defaults: section in the config.yaml.

VariableTypeDefaultDescriptionMaps to
IGNORE_KEYWORDSstring (comma-separated)Keywords to suppress. Matching log lines will not trigger notifications (or anything else like actions).global.defaults.ignore_keywords
TITLE_TEMPLATEstringTemplate for the notification title. Use {{ variable }} placeholders (e.g. {{ container_name }}, {{ keyword }}).global.defaults.title_template
MESSAGE_TEMPLATEstringTemplate for the notification message body. Use {{ variable }} placeholders (e.g.{{ log_entry }}, {{ keyword }}).global.defaults.message_template
OLIVETIN_URLstringBase URL of the OliveTin instance to trigger actions on.global.defaults.olivetin_url
OLIVETIN_USERNAMEstringUsername for OliveTin authentication.global.defaults.olivetin_username
OLIVETIN_PASSWORDstringPassword for OliveTin authentication.global.defaults.olivetin_password
ATTACH_LOGFILEboolfalseAttach recent log lines as a file to the notification.defaults.attach_logfile
TRIGGER_COOLDOWNint0Minimum seconds between repeated triggers for the same keyword on the same target. 0 disables cooldown.global.defaults.trigger_cooldown
CONTAINER_ACTION_COOLDOWNint60Minimum seconds between repeated container actions (restart/stop) on the same target.global.defaults.container_action_cooldown
ATTACHMENT_LINESint20Number of log lines to include in the log attachment.global.defaults.attachment_lines
HIDE_FULL_REGEXboolfalseIn notifications, hide the full regex match and only show named capturing groups.global.defaults.hide_full_regex
REGEX_CASE_SENSITIVEbooltrueWhether regex patterns are case-sensitive.global.defaults.regex_case_sensitive
DISABLE_TRIGGER_NOTIFICATIONSboolfalseSuppress all notifications. Useful when only container actions or OliveTin actions are needed.global.defaults.disable_trigger_notifications
MERGE_MATCHESboolfalseCombine multiple keyword matches from the same log entry into a single notification.global.defaults.merge_matches

Notifications

Maps to the notifications: section in the config.yaml.

VariableTypeDefaultDescriptionMaps to
NTFY_TAGSstringComma-separated Ntfy tags or emoji shortcodes to include in the notification header.notifications.ntfy.tags
NTFY_TOPICstringNtfy topic to publish notifications to.notifications.ntfy.topic
NTFY_PRIORITYstring / intNotification priority. One of min, low, default, high, max (or 1–5).notifications.ntfy.priority
NTFY_URLstringBase URL of the Ntfy server (e.g. https://ntfy.sh).notifications.ntfy.url
NTFY_TOKENstringAuthentication token for Ntfy.notifications.ntfy.token
NTFY_USERNAMEstringUsername for Ntfy basic authentication.notifications.ntfy.username
NTFY_PASSWORDstringPassword for Ntfy basic authentication.notifications.ntfy.password
NTFY_ICONstringURL of an icon to display with the notification.notifications.ntfy.icon
NTFY_CLICKstringURL to open when the notification is clicked.notifications.ntfy.click
NTFY_MARKDOWNboolRender the notification body as Markdown.notifications.ntfy.markdown
APPRISE_URLstringApprise-compatible notification URL (supports 100+ services).notifications.apprise.url
WEBHOOK_URLstringHTTP endpoint to POST notification payloads to.notifications.webhook.url

Containers

Shortcuts to configure container monitoring without a config file. Maps into the containers: section.

VariableTypeDefaultDescriptionMaps to
CONTAINERSstring (comma-separated)Container names to monitor with default keyword settings.containers.rules.0.match.include.container_names
CONTAINERS_KEYWORDSstring (comma-separated)Keywords to watch for across all monitored containers.containers.keywords
CONTAINERS_CONTAINER_EVENTSstring (comma-separated)Docker container events to monitor (e.g. start,stop,die).containers.container_events
CONTAINERS_SCOPE_HOSTSstring (comma-separated)Docker hosts to restrict container monitoring to.containers.scope.hosts
CONTAINERS_NEVER_MONITORstring (comma-separated)Container names to never monitor.containers.never_monitor.container_names

Swarm

Shortcuts to configure Docker Swarm service monitoring without a config file. Maps into the swarm: section.

VariableTypeDefaultDescriptionMaps to
SWARM_SERVICESstring (comma-separated)Swarm service names to monitor with default keyword settings.swarm.rules.0.match.include.service_names
SWARM_STACKSstring (comma-separated)Swarm stack names to monitor with default keyword settings.swarm.rules.1.match.include.stack_names
SWARM_KEYWORDSstring (comma-separated)Keywords to watch for across all monitored Swarm services.swarm.keywords
SWARM_CONTAINER_EVENTSstring (comma-separated)Docker events to monitor for Swarm services.swarm.container_events
SWARM_SCOPE_HOSTSstring (comma-separated)Docker hosts to restrict Swarm monitoring to.swarm.scope.hosts
SWARM_SERVICES_NEVER_MONITORstring (comma-separated)Swarm service names to never monitor.swarm.never_monitor.service_names
SWARM_STACKS_NEVER_MONITORstring (comma-separated)Swarm stack names to never monitor.swarm.never_monitor.stack_names

Advanced

VariableTypeDefaultDescription
CONFIG_PATHstring/config/config.yamlPath to the YAML config file inside the container.
DOCKER_HOSTstringDocker socket or TCP address to connect to (e.g. tcp://remote-host:2375). Defaults to the local socket.
LOGGIFLY_MODEstringSet to swarm to get additional context in notifications about which node the container that has triggered a notification is running on.
STRICT_CONFIGbooltrueMake unknown config fields raise an error instead of a warning.
DEBUG_TARGET_CONFIGboolfalseEnable detailed logging showing the effective target config for each target (debug logging needs to be enabled)
ENABLE_HEALTHCHECKboolfalseEnable the file-based healthcheck heartbeat.
HEARTBEAT_PATHstring/dev/shm/loggifly-heartbeatPath to the heartbeat file written by the healthcheck mechanism.
HEARTBEAT_INTERVALint60Interval in seconds between heartbeat file writes.
MAX_TRIGGER_WORKERSint8Maximum number of concurrent worker threads for processing triggers.
CLEANUP_THRESHOLD_HOURS_CONFIGUREDint168Hours of inactivity before a configured but stale container monitor is cleaned up.
CLEANUP_THRESHOLD_HOURS_UNCONFIGUREDint24Hours of inactivity before an unconfigured container monitor is cleaned up.
CLEANUP_INTERVAL_MINUTESint60How often (in minutes) the stale monitor cleanup task runs.