From f573d2fc28bd4ac397522882af29339feb36ddde Mon Sep 17 00:00:00 2001 From: Blake Blackshear Date: Wed, 1 Nov 2023 07:32:50 -0500 Subject: [PATCH] check for directory first --- docker/main/rootfs/usr/local/go2rtc/create_config.py | 11 ++++++----- frigate/config.py | 11 ++++++----- frigate/plus.py | 4 +++- 3 files changed, 15 insertions(+), 11 deletions(-) diff --git a/docker/main/rootfs/usr/local/go2rtc/create_config.py b/docker/main/rootfs/usr/local/go2rtc/create_config.py index 82656e695..a7ffaf2da 100644 --- a/docker/main/rootfs/usr/local/go2rtc/create_config.py +++ b/docker/main/rootfs/usr/local/go2rtc/create_config.py @@ -18,11 +18,12 @@ sys.path.remove("/opt/frigate") FRIGATE_ENV_VARS = {k: v for k, v in os.environ.items() if k.startswith("FRIGATE_")} # read docker secret files as env vars too -for secret_file in os.listdir("/run/secrets"): - if secret_file.startswith("FRIGATE_"): - FRIGATE_ENV_VARS[secret_file] = Path( - os.path.join("/run/secrets", secret_file) - ).read_text() +if os.path.isdir("/run/secrets"): + for secret_file in os.listdir("/run/secrets"): + if secret_file.startswith("FRIGATE_"): + FRIGATE_ENV_VARS[secret_file] = Path( + os.path.join("/run/secrets", secret_file) + ).read_text() config_file = os.environ.get("CONFIG_FILE", "/config/config.yml") diff --git a/frigate/config.py b/frigate/config.py index f014fd501..8cd286fa1 100644 --- a/frigate/config.py +++ b/frigate/config.py @@ -49,11 +49,12 @@ DEFAULT_TIME_FORMAT = "%m/%d/%Y %H:%M:%S" FRIGATE_ENV_VARS = {k: v for k, v in os.environ.items() if k.startswith("FRIGATE_")} # read docker secret files as env vars too -for secret_file in os.listdir("/run/secrets"): - if secret_file.startswith("FRIGATE_"): - FRIGATE_ENV_VARS[secret_file] = Path( - os.path.join("/run/secrets", secret_file) - ).read_text() +if os.path.isdir("/run/secrets"): + for secret_file in os.listdir("/run/secrets"): + if secret_file.startswith("FRIGATE_"): + FRIGATE_ENV_VARS[secret_file] = Path( + os.path.join("/run/secrets", secret_file) + ).read_text() DEFAULT_TRACKED_OBJECTS = ["person"] DEFAULT_LISTEN_AUDIO = ["bark", "fire_alarm", "scream", "speech", "yell"] diff --git a/frigate/plus.py b/frigate/plus.py index f6f65fc1f..88e025596 100644 --- a/frigate/plus.py +++ b/frigate/plus.py @@ -37,7 +37,9 @@ class PlusApi: self.key = None if PLUS_ENV_VAR in os.environ: self.key = os.environ.get(PLUS_ENV_VAR) - elif PLUS_ENV_VAR in os.listdir("/run/secrets"): + elif os.path.isdir("/run/secrets") and PLUS_ENV_VAR in os.listdir( + "/run/secrets" + ): self.key = Path(os.path.join("/run/secrets", PLUS_ENV_VAR)).read_text() # check for the addon options file elif os.path.isfile("/data/options.json"):