2026-01-28 06:27:46 -08:00
from typing import Union
2025-08-18 16:39:12 -07:00
from pydantic import Field
from .base import FrigateBaseModel
2026-01-28 06:27:46 -08:00
__all__ = [ "IPv6Config" , "ListenConfig" , "NetworkingConfig" ]
2025-08-18 16:39:12 -07:00
class IPv6Config ( FrigateBaseModel ):
2026-02-27 09:55:36 -06:00
enabled : bool = Field (
default = False ,
title = "Enable IPv6" ,
description = "Enable IPv6 support for Frigate services (API and UI) where applicable." ,
)
2025-08-18 16:39:12 -07:00
2026-01-28 06:27:46 -08:00
class ListenConfig ( FrigateBaseModel ):
internal : Union [ int , str ] = Field (
2026-02-27 09:55:36 -06:00
default = 5000 ,
title = "Internal port" ,
description = "Internal listening port for Frigate (default 5000)." ,
2026-01-28 06:27:46 -08:00
)
external : Union [ int , str ] = Field (
2026-02-27 09:55:36 -06:00
default = 8971 ,
title = "External port" ,
description = "External listening port for Frigate (default 8971)." ,
2026-01-28 06:27:46 -08:00
)
2025-08-18 16:39:12 -07:00
class NetworkingConfig ( FrigateBaseModel ):
2026-02-27 09:55:36 -06:00
ipv6 : IPv6Config = Field (
default_factory = IPv6Config ,
title = "IPv6 configuration" ,
description = "IPv6-specific settings for Frigate network services." ,
)
2026-01-28 06:27:46 -08:00
listen : ListenConfig = Field (
2026-02-27 09:55:36 -06:00
default_factory = ListenConfig ,
title = "Listening ports configuration" ,
description = "Configuration for internal and external listening ports. This is for advanced users. For the majority of use cases it's recommended to change the ports section of your Docker compose file." ,
2026-01-28 06:27:46 -08:00
)