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" 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 while true
do do

View File

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

View File

@ -27,7 +27,8 @@ except FileNotFoundError:
config: dict[str, Any] = {} config: dict[str, Any] = {}
tls_config: dict[str, any] = config.get("tls", {"enabled": True}) 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 = { output = {
"tls": tls_config, "tls": tls_config,

View File

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