diff --git a/docker/rootfs/usr/local/go2rtc/create_config.py b/docker/rootfs/usr/local/go2rtc/create_config.py new file mode 100644 index 000000000..ceb24247d --- /dev/null +++ b/docker/rootfs/usr/local/go2rtc/create_config.py @@ -0,0 +1,31 @@ +"""Creates a go2rtc config file.""" + +import json +import os +import yaml + +config_file = os.environ.get("CONFIG_FILE", "/config/config.yml") + +# Check if we can use .yaml instead of .yml +config_file_yaml = config_file.replace(".yml", ".yaml") +if os.path.isfile(config_file_yaml): + config_file = config_file_yaml + +with open(config_file) as f: + raw_config = f.read() + +if config_file.endswith((".yaml", ".yml")): + config = yaml.safe_load(raw_config) +elif config_file.endswith(".json"): + config = json.loads(raw_config) + +go2rtc_config: dict[str, any] = config["restream"] + +if not go2rtc_config.get("log", {}).get("format"): + go2rtc_config["log"] = {"format": "text"} + +if not go2rtc_config.get("webrtc", {}).get("candidates", []): + go2rtc_config["webrtc"] = {"candidates", ["stun:8555"]} + +with open('/usr/local/go2rtc/bin/config.yaml', 'w') as yaml_file: + yaml.dump(go2rtc_config, yaml_file) \ No newline at end of file diff --git a/docker/rootfs/usr/local/go2rtc/go2rtc.yaml b/docker/rootfs/usr/local/go2rtc/go2rtc.yaml deleted file mode 100644 index a2f8d6077..000000000 --- a/docker/rootfs/usr/local/go2rtc/go2rtc.yaml +++ /dev/null @@ -1,6 +0,0 @@ -log: - format: text - -webrtc: - candidates: - - stun:8555