refactor listen settings to add ipv6

This commit is contained in:
scyto 2025-08-18 11:03:59 -07:00
parent 3455cc580f
commit 912c69cd6c
6 changed files with 19 additions and 13 deletions

View File

@ -10,7 +10,7 @@ echo "[INFO] Starting certsync..."
lefile="/etc/letsencrypt/live/frigate/fullchain.pem"
tls_enabled=`python3 /usr/local/nginx/get_tls_settings.py | jq -r .enabled`
tls_enabled=`python3 /usr/local/nginx/get_listen_settings.py | jq -r .enabled`
while true
do

View File

@ -85,7 +85,7 @@ python3 /usr/local/nginx/get_base_path.py | \
-out /usr/local/nginx/conf/base_path.conf
# build templates for optional TLS support
python3 /usr/local/nginx/get_tls_settings.py | \
python3 /usr/local/nginx/get_listen_settings.py | \
tempio -template /usr/local/nginx/templates/listen.gotmpl \
-out /usr/local/nginx/conf/listen.conf

View File

@ -27,7 +27,8 @@ except FileNotFoundError:
config: dict[str, Any] = {}
tls_config: dict[str, any] = config.get("tls", {"enabled": True})
ipv6_config: dict[str, any] = config.get("ipv6", {"enabled": False})
networking_config = config.get("networking", {})
ipv6_config = networking_config.get("ipv6", {"enabled": False})
output = {
"tls": tls_config,

View File

@ -61,7 +61,7 @@ from .classification import (
)
from .database import DatabaseConfig
from .env import EnvVars
from .ipv6 import IPv6Config
from .network import IPv6Config
from .logger import LoggerConfig
from .mqtt import MqttConfig
from .proxy import ProxyConfig
@ -361,6 +361,9 @@ class FrigateConfig(FrigateBaseModel):
notifications: NotificationConfig = Field(
default_factory=NotificationConfig, title="Global notification configuration."
)
networking: NetworkingConfig = Field(
default_factory=NetworkingConfig, title="Networking configuration"
)
proxy: ProxyConfig = Field(
default_factory=ProxyConfig, title="Proxy configuration."
)

View File

@ -1,9 +0,0 @@
from pydantic import Field
from .base import FrigateBaseModel
__all__ = ["IPv6Config"]
class IPv6Config(FrigateBaseModel):
enabled: bool = Field(default=False, title="Enable IPv6 for port 5000 and /or 8971")

11
frigate/config/network.py Normal file
View File

@ -0,0 +1,11 @@
from pydantic import Field
from .base import FrigateBaseModel
__all__ = ["IPv6Config", "NetworkingConfig"]
class NetworkingConfig(FrigateBaseModel):
ipv6: IPv6Config = Field(default_factory=IPv6Config, title="IPv6 configuration")
class IPv6Config(FrigateBaseModel):
enabled: bool = Field(default=False, title="Enable IPv6 for port 5000 and/or 8971")