diff --git a/frigate/app.py b/frigate/app.py index 3c173a37a..d0d5b76c7 100644 --- a/frigate/app.py +++ b/frigate/app.py @@ -62,6 +62,7 @@ from frigate.stats.util import stats_init from frigate.storage import StorageMaintainer from frigate.timeline import TimelineProcessor from frigate.types import CameraMetricsTypes, PTZMetricsTypes +from frigate.util.builtin import save_default_config from frigate.util.object import get_camera_regions_grid from frigate.version import VERSION from frigate.video import capture_camera, track_camera @@ -120,6 +121,11 @@ class FrigateApp: if os.path.isfile(config_file_yaml): config_file = config_file_yaml + if not os.path.isfile(config_file): + print("No config file found, saving default config") + config_file = config_file_yaml + save_default_config(config_file) + user_config = FrigateConfig.parse_file(config_file) self.config = user_config.runtime_config(self.plus_api) diff --git a/frigate/util/builtin.py b/frigate/util/builtin.py index 556b91ede..be91421f9 100644 --- a/frigate/util/builtin.py +++ b/frigate/util/builtin.py @@ -281,6 +281,32 @@ def find_by_key(dictionary, target_key): return None +def save_default_config(location: str): + try: + with open(location, "w") as f: + f.write( + """ +mqtt: + enabled: False + +cameras: + name_of_your_camera: # <------ Name the camera + enabled: True + ffmpeg: + inputs: + - path: rtsp://10.0.10.10:554/rtsp # <----- The stream you want to use for detection + roles: + - detect + detect: + enabled: False # <---- disable detection until you have a working camera feed + width: 1280 + height: 720 + """ + ) + except PermissionError: + logger.error("Unable to write default config to /config") + + def get_tomorrow_at_time(hour: int) -> datetime.datetime: """Returns the datetime of the following day at 2am.""" try: