From 6c2e2d7b6d36124a1560a0d55bc40e0dffbb0a12 Mon Sep 17 00:00:00 2001 From: Pierre Belanger Date: Sat, 7 Jan 2023 16:35:50 -0500 Subject: [PATCH] Support for dynamic MQTT user configuration #4883 --- docs/docs/configuration/index.md | 3 +++ frigate/config.py | 3 +++ 2 files changed, 6 insertions(+) diff --git a/docs/docs/configuration/index.md b/docs/docs/configuration/index.md index 0489da3aa..246445575 100644 --- a/docs/docs/configuration/index.md +++ b/docs/docs/configuration/index.md @@ -53,6 +53,9 @@ mqtt: client_id: frigate # Optional: user user: mqtt_user + # NOTE: MQTT user can be specified with an environment variables that must begin with 'FRIGATE_'. + # e.g. user: '{FRIGATE_MQTT_USER}' + password: password # Optional: password # NOTE: MQTT password can be specified with an environment variables that must begin with 'FRIGATE_'. # e.g. password: '{FRIGATE_MQTT_PASSWORD}' diff --git a/frigate/config.py b/frigate/config.py index 6e6c120be..059858fbc 100644 --- a/frigate/config.py +++ b/frigate/config.py @@ -866,6 +866,9 @@ class FrigateConfig(FrigateBaseModel): # MQTT password substitution if config.mqtt.password: config.mqtt.password = config.mqtt.password.format(**FRIGATE_ENV_VARS) + # MQTT user substitution + if config.mqtt.user: + config.mqtt.user = config.mqtt.user.format(**FRIGATE_ENV_VARS) # Global config to propagate down to camera level global_config = config.dict(