catalog/incubator/frigate/5.0.14/questions.yaml

3324 lines
149 KiB
YAML

groups:
- name: Container Image
description: Image to be used for container
- name: General Settings
description: General Deployment Settings
- name: App Configuration
description: App Specific Config Options
- name: Networking and Services
description: Configure Network and Services for Container
- name: Storage and Persistence
description: Persist and Share Data that is Separate from the Container
- name: Ingress
description: Ingress Configuration
- name: Security and Permissions
description: Configure Security Context and Permissions
- name: Resources and Devices
description: "Specify Resources/Devices to be Allocated to Workload"
- name: Middlewares
description: Traefik Middlewares
- name: Metrics
description: Metrics
- name: VPN
description: VPN
- name: Addons
description: Addon Configuration
- name: Advanced
description: Advanced Configuration
- name: Documentation
description: Documentation
portals:
open:
protocols:
- "$kubernetes-resource_configmap_portal_protocol"
host:
- "$kubernetes-resource_configmap_portal_host"
ports:
- "$kubernetes-resource_configmap_portal_port"
questions:
- variable: global
label: Global Settings
group: "General Settings"
schema:
type: dict
hidden: true
attrs:
- variable: isSCALE
label: Flag this is SCALE
schema:
type: boolean
default: true
hidden: true
- variable: controller
group: "General Settings"
label: ""
schema:
additional_attrs: true
type: dict
attrs:
- variable: replicas
description: Number of desired pod replicas
label: Desired Replicas
schema:
type: int
required: true
default: 1
- variable: customextraargs
group: "General Settings"
label: "Extra Args"
description: "Do not click this unless you know what you are doing"
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: extraArgs
label: Extra Args
schema:
type: list
default: []
items:
- variable: arg
label: Arg
schema:
type: string
- variable: frigate
group: App Configuration
label: Frigate Configuration
schema:
additional_attrs: true
type: dict
attrs:
- variable: mqtt
label: MQTT
schema:
additional_attrs: true
type: dict
attrs:
- variable: host
label: Host
schema:
type: string
required: true
default: ""
- variable: port
label: Port
schema:
type: int
required: true
default: 1883
- variable: topic_prefix
label: Topic Prefix
description: Must be unique if you are running multiple instances
schema:
type: string
required: true
default: frigate
- variable: topic_prefix
label: Client ID
description: Must be unique if you are running multiple instances
schema:
type: string
required: true
default: frigate
- variable: stats_interval
label: Stats Interval
description: Interval in seconds for publishing stats
schema:
type: int
required: true
default: 60
- variable: user
label: Username
schema:
type: string
default: ""
- variable: password
label: Password
schema:
type: string
private: true
default: ""
- variable: detectors
label: Detectors
schema:
additional_attrs: true
type: dict
attrs:
- variable: render_config
label: Render Configuration
description: Enable it to add the configuration in the config file
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: config
label: Detectors Configuration
schema:
type: list
default: []
items:
- variable: detector_entry
label: Detector Entry
schema:
additional_attrs: true
type: dict
attrs:
- variable: name
label: Name
description: Name of the detector
schema:
type: string
required: true
default: ""
- variable: type
label: Type
description: Name of the detector
schema:
type: string
required: true
default: cpu
enum:
- value: cpu
description: CPU
- value: edgetpu
description: Edge TPU
- variable: device
label: Device
description: Device name as defined here - https://coral.ai/docs/edgetpu/multiple-edgetpu/#using-the-tensorflow-lite-python-api
schema:
type: string
default: ""
- variable: num_threads
label: Number of Threads
description: This value is only used for CPU types
schema:
type: int
show_if: [["type", "=", "cpu"]]
default: 3
- variable: model
label: Model
schema:
additional_attrs: true
type: dict
attrs:
- variable: render_config
label: Render Configuration
description: Enable it to add the configuration in the config file
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: path
label: Path
schema:
type: string
default: /edgetpu_model.tflite
- variable: labelmap_path
label: Label Map Path
schema:
type: string
default: /labelmap.txt
- variable: width
label: Width
schema:
type: int
default: 320
- variable: height
label: Height
schema:
type: int
default: 320
- variable: labelmap
label: LabelMap Configuration
schema:
type: list
default: []
items:
- variable: labelmap_entry
label: LabelMap Entry
schema:
additional_attrs: true
type: dict
attrs:
- variable: model
label: Model
schema:
type: string
default: ""
- variable: name
label: Name
schema:
type: string
default: ""
- variable: logger
label: Logger
schema:
additional_attrs: true
type: dict
attrs:
- variable: render_config
label: Render Configuration
description: Enable it to add the configuration in the config file
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: default
label: Default Log Verbosity
schema:
type: string
required: true
default: info
enum:
- value: info
description: Info
- value: debug
description: Debug
- value: warning
description: Warning
- value: error
description: Error
- value: critical
description: Critical
- variable: logs
label: Component Specific Logs
schema:
type: list
default: []
items:
- variable: component_entry
label: Component Specific Log Entry
schema:
additional_attrs: true
type: dict
attrs:
- variable: component
label: Component
description: Find out the available components here https://docs.frigate.video/configuration/advanced/#logger
schema:
type: string
required: true
default: ""
- variable: verbosity
label: Default Log Verbosity
schema:
type: string
required: true
default: info
enum:
- value: info
description: Info
- value: debug
description: Debug
- value: warning
description: Warning
- value: error
description: Error
- value: critical
description: Critical
- variable: birdseye
label: Birds Eye
schema:
additional_attrs: true
type: dict
attrs:
- variable: render_config
label: Render Configuration
description: Enable it to add the configuration in the config file
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: enabled
label: Enabled
description: Enables the birdseye
schema:
type: boolean
default: true
- variable: width
label: Width
description: Width of the output resolution
schema:
type: int
required: true
default: 1280
- variable: height
label: Height
description: Height of the output resolution
schema:
type: int
required: true
default: 720
- variable: quality
label: Quality
description: Encoding quality of the mpeg1 feed. Where 1 is the highest quality, and 31 is the lowest. Lower quality feeds utilize less CPU resources.
schema:
type: int
min: 1
max: 31
required: true
default: 8
- variable: mode
label: Mode
description: |
Mode of the view.
Objects - Cameras are included if they have had a tracked object within the last 30 seconds.
Motion - Cameras are included if motion was detected in the last 30 seconds.
Continuous - All cameras are included always.
schema:
type: string
required: true
default: objects
enum:
- value: objects
description: Objects
- value: motion
description: Motion
- value: continuous
description: Continuous
- variable: ffmpeg
label: ffmpeg
schema:
additional_attrs: true
type: dict
attrs:
- variable: render_config
label: Render Configuration
description: Enable it to add the configuration in the config file
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: global_args
label: Global Args
schema:
type: string
required: true
default: -hide_banner -loglevel warning
- variable: input_args
label: Input Args
schema:
type: string
required: true
default: -avoid_negative_ts make_zero -fflags +genpts+discardcorrupt -rtsp_transport tcp -timeout 5000000 -use_wallclock_as_timestamps 1
- variable: hwaccel_args
label: HW Acceleration Args
description: See hardware acceleration docs for your specific device
schema:
type: string
default: ""
- variable: output_args
label: Output Args
schema:
additional_attrs: true
type: dict
attrs:
- variable: detect
label: Detect
schema:
type: string
required: true
default: -f rawvideo -pix_fmt yuv420p
- variable: record
label: Record
schema:
type: string
required: true
default: -f segment -segment_time 10 -segment_format mp4 -reset_timestamps 1 -strftime 1 -c copy -an
- variable: rtmp
label: RTMP
schema:
type: string
required: true
default: -c copy -f flv
- variable: detect
label: Detect
schema:
additional_attrs: true
type: dict
attrs:
- variable: render_config
label: Render Configuration
description: Enable it to add the configuration in the config file
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: enabled
label: Enabled
description: Enables detection for the cameras
schema:
type: boolean
default: true
- variable: width
label: Width
description: Width of the frame for the input with the detect role
schema:
type: int
required: true
default: 1280
- variable: height
label: Height
description: Height of the frame for the input with the detect role
schema:
type: int
required: true
default: 720
- variable: fps
label: FPS
description: Desired fps for your camera for the input with the detect role. Recommended value of 5. Ideally, try and reduce your FPS on the camera.
schema:
type: int
required: true
default: 5
- variable: max_disappeared
label: Max Disappeared
description: Number of frames without a detection before frigate considers an object to be gone.
schema:
type: int
required: true
default: 25
- variable: stationary
label: Stationary
schema:
additional_attrs: true
type: dict
attrs:
- variable: interval
label: Interval
description: |
Frequency for confirming stationary objects
When set to 0, object detection will not confirm stationary objects until movement is detected.
If set to 10, object detection will run to confirm the object still exists on every 10th frame.
schema:
type: int
required: true
default: 0
- variable: threshold
label: Threshold
description: Number of frames without a position change for an object to be considered stationary
schema:
type: int
required: true
default: 50
- variable: set_max_frames
label: Set Max Frames
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: max_frames
label: Max Frames
schema:
additional_attrs: true
type: dict
attrs:
- variable: default
label: Default
description: Default for all object types
schema:
type: int
"null": true
- variable: objects
label: Objects
schema:
type: list
default: []
items:
- variable: object_entry
label: Object Entry
schema:
additional_attrs: true
type: dict
attrs:
- variable: object
label: Object
schema:
type: string
required: true
default: ""
- variable: frames
label: Frames
schema:
type: int
required: true
- variable: objects
label: Objects
schema:
additional_attrs: true
type: dict
attrs:
- variable: render_config
label: Render Configuration
description: Enable it to add the configuration in the config file
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: track
label: Track
description: Objects to track from labelmap.txt
schema:
type: list
default: []
items:
- variable: track_entry
label: Track Object Entry
schema:
type: string
required: true
default: ""
- variable: mask
label: Mask
description: |
Mask to prevent all object types from being detected in certain areas
Checks based on the bottom center of the bounding box of the object.
This mask is COMBINED with the object type specific mask below
schema:
type: string
default: ""
- variable: filters
label: Filters
description: Filters to reduce false positives for specific object types
schema:
type: list
default: []
items:
- variable: filter_entry
label: Filter Entry
schema:
additional_attrs: true
type: dict
attrs:
- variable: object
label: Object
description: For example person
schema:
type: string
required: true
default: ""
- variable: min_area
label: Min Area
description: Minimum width*height of the bounding box for the detected object
schema:
type: int
"null": true
- variable: max_area
label: Max Area
description: Maximum width*height of the bounding box for the detected object
schema:
type: int
"null": true
- variable: min_ratio
label: Min Ratio
description: Minimum width/height of the bounding box for the detected object
schema:
type: string
default: ""
valid_chars: '^[0-9]+(\.[0-9]*)?$'
- variable: max_ratio
label: Max Ratio
description: Maximum width/height of the bounding box for the detected object
schema:
type: string
default: ""
valid_chars: '^[0-9]+(\.[0-9]*)?$'
- variable: min_score
label: Min Score
description: Minimum score for the object to initiate tracking
schema:
type: string
default: ""
valid_chars: '^[0-9]+(\.[0-9]*)?$'
- variable: threshold
label: Threshold
description: Minimum decimal percentage for tracked object's computed score to be considered a true positive
schema:
type: string
default: ""
valid_chars: '^[0-9]+(\.[0-9]*)?$'
- variable: mask
label: Mask
description: |
Mask to prevent this object type from being detected in certain areas
Checks based on the bottom center of the bounding box of the object
schema:
type: string
default: ""
- variable: motion
label: Motion
schema:
additional_attrs: true
type: dict
attrs:
- variable: render_config
label: Render Configuration
description: Enable it to add the configuration in the config file
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: threshold
label: Threshold
description: |
The threshold passed to cv2.threshold to determine if a pixel is different enough to be counted as motion.
Increasing this value will make motion detection less sensitive and decreasing it will make motion detection more sensitive.
schema:
type: int
min: 1
max: 255
default: 25
- variable: contour_area
label: Contour Area
description: |
Minimum size in pixels in the resized motion image that counts as motion
Increasing this value will prevent smaller areas of motion from being detected. Decreasing will
make motion detection more sensitive to smaller moving objects.
As a rule of thumb:
15 - high sensitivity
30 - medium sensitivity
50 - low sensitivity
schema:
type: int
default: 30
- variable: delta_alpha
label: Delta Alpha
description: |
Alpha value passed to cv2.accumulateWeighted when averaging the motion delta across multiple frames
Higher values mean the current frame impacts the delta a lot, and a single raindrop may register as motion.
Too low and a fast moving person wont be detected as motion.
schema:
type: string
default: ""
valid_chars: '^[0-9]+(\.[0-9]*)?$'
- variable: frame_alpha
label: Frame Alpha
description: |
Alpha value passed to cv2.accumulateWeighted when averaging frames to determine the background
Higher values mean the current frame impacts the average a lot, and a new object will be averaged into the background faster.
Low values will cause things like moving shadows to be detected as motion for longer.
https://www.geeksforgeeks.org/background-subtraction-in-an-image-using-concept-of-running-average
schema:
type: string
default: ""
valid_chars: '^[0-9]+(\.[0-9]*)?$'
- variable: frame_height
label: Frame Height
description: |
Height of the resized motion frame
This operates as an efficient blur alternative. Higher values will result in more granular motion detection at the expense
of higher CPU usage. Lower values result in less CPU, but small changes may not register as motion.
schema:
type: int
default: 50
- variable: mask
label: Mask
description: See docs for more detailed info on creating masks
schema:
type: string
default: ""
- variable: improve_contrast
label: Improve Contrast
description: Improve contrast. Enables dynamic contrast improvement. This should help improve night detections at the cost of making motion detection more sensitive for daytime.
schema:
type: boolean
default: false
- variable: mqtt_off_delay
label: MQTT Off Delay
description: Delay when updating camera motion through MQTT from ON -> OFF
schema:
type: int
default: 30
- variable: record
label: Record
schema:
additional_attrs: true
type: dict
attrs:
- variable: render_config
label: Render Configuration
description: Enable it to add the configuration in the config file
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: enabled
label: Enabled
description: |
Enable recording
WARNING: If recording is disabled in the config, turning it on via the UI or MQTT later will have no effect.
WARNING: Frigate does not currently support limiting recordings based on available disk space automatically.
If using recordings,you must specify retention settings for a number of days that will fit within the available disk space of your drive or Frigate will crash.
schema:
type: boolean
default: true
- variable: expire_interval
label: Expire Interval
description: Number of minutes to wait between cleanup runs
schema:
type: int
required: true
default: 60
- variable: retain
label: Retain
description: Retention settings for recording
schema:
additional_attrs: true
type: dict
attrs:
- variable: render_config
label: Render Retain Config
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: days
label: Days
description: |
Number of days to retain recordings regardless of events
NOTE: This should be set to 0 and retention should be defined in events section below if you only want to retain recordings of events.
schema:
type: int
required: true
default: 0
- variable: mode
label: Mode
description: |
Mode for retention.
All - save all recording segments regardless of activity
Motion - save all recordings segments with any detected motion
Active Objects - save all recording segments with active/moving objects
NOTE: This mode only applies when the days setting above is greater than 0
schema:
type: string
show_if: [["days", "!=", 0]]
required: true
default: all
enum:
- value: all
description: All
- value: motion
description: Motion
- value: active_objects
description: Active Objects
- variable: events
label: Events
description: Event recording settings
schema:
additional_attrs: true
type: dict
attrs:
- variable: pre_capture
label: Pre Capture
description: Number of seconds before the event to include
schema:
type: int
required: true
default: 5
- variable: post_capture
label: Post Capture
description: Number of seconds after the event to include
schema:
type: int
required: true
default: 5
- variable: objects
label: Objects
description: Objects to save recordings for. Defaults to all objects.
schema:
type: list
default: []
items:
- variable: object_entry
label: Object Entry
schema:
type: string
required: true
default: ""
- variable: required_zones
label: Required Zones
description: Restrict recordings to objects that entered any of the listed zones
schema:
type: list
default: []
items:
- variable: zone_entry
label: Zone Entry
schema:
type: string
required: true
default: ""
- variable: retain
label: Retain
description: Retention settings for recordings of events
schema:
additional_attrs: true
type: dict
attrs:
- variable: render_config
label: Render Retain Config
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: default
label: Default
description: Default retention days
schema:
type: int
required: true
default: 10
- variable: mode
label: Mode
description: |
Mode for retention.
All - save all recording segments for events regardless of activity
Motion - save all recordings segments for events with any detected motion
Active Objects - save all recording segments for event with active/moving objects
schema:
type: string
required: true
default: motion
enum:
- value: all
description: All
- value: motion
description: Motion
- value: active_objects
description: Active Objects
- variable: objects
label: Objects
description: Per object retention days
schema:
type: list
default: []
items:
- variable: objects_entry
label: Objects Entry
schema:
additional_attrs: true
type: dict
attrs:
- variable: object
label: Object
description: For example Person
schema:
type: string
required: true
default: ""
- variable: days
label: Retention Days
description: Retention days for the object
schema:
type: int
required: true
default: 15
- variable: snapshots
label: Snapshots
schema:
additional_attrs: true
type: dict
attrs:
- variable: render_config
label: Render Configuration
description: Enable it to add the configuration in the config file
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: enabled
label: Enabled
description: |
Optional: Enable writing jpg snapshot to /media/frigate/clips
This value can be set via MQTT and will be updated in startup based on retained value
schema:
type: boolean
default: true
- variable: clean_copy
label: Clean Copy
description: Save a clean PNG copy of the snapshot image
schema:
type: boolean
default: true
- variable: timestamp
label: Timestamp
description: Print a timestamp on the snapshots
schema:
type: boolean
default: false
- variable: bounding_box
label: Bounding Box
description: Draw bounding box on the snapshots
schema:
type: boolean
default: false
- variable: crop
label: Crop
description: Crop the snapshot
schema:
type: boolean
default: false
- variable: height
label: Height
description: Height to resize the snapshot to
schema:
type: int
"null": true
- variable: required_zones
label: Required Zones
description: Restrict recordings to objects that entered any of the listed zones
schema:
type: list
default: []
items:
- variable: zone_entry
label: Zone Entry
schema:
type: string
required: true
default: ""
- variable: retain
label: Retain
description: Retention settings for recordings of events
schema:
additional_attrs: true
type: dict
attrs:
- variable: render_config
label: Render Retain Config
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: default
label: Default
description: Default retention days
schema:
type: int
required: true
default: 10
- variable: objects
label: Objects
description: Per object retention days
schema:
type: list
default: []
items:
- variable: objects_entry
label: Objects Entry
schema:
additional_attrs: true
type: dict
attrs:
- variable: object
label: Object
description: For example Person
schema:
type: string
required: true
default: ""
- variable: days
label: Retention Days
description: Retention days for the object
schema:
type: int
required: true
default: 15
- variable: rtmp
label: RTMP
schema:
additional_attrs: true
type: dict
attrs:
- variable: render_config
label: Render Configuration
description: Enable it to add the configuration in the config file
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: enabled
label: Enabled
description: Enable the RTMP stream
schema:
type: boolean
default: true
- variable: live
label: Live
schema:
additional_attrs: true
type: dict
attrs:
- variable: render_config
label: Render Configuration
description: Enable it to add the configuration in the config file
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: height
label: Height
description: |
Set the height of the live stream.
This must be less than or equal to the height of the detect stream. Lower resolutions
reduce bandwidth required for viewing the live stream. Width is computed to match known aspect ratio.
schema:
type: int
required: true
default: 720
- variable: quality
label: Quality
description: |
Set the encode quality of the live stream
1 is the highest quality, and 31 is the lowest. Lower quality feeds utilize less CPU resources.
schema:
type: int
required: true
min: 1
max: 31
default: 8
- variable: timestamp_style
label: Timestamp Style
schema:
additional_attrs: true
type: dict
attrs:
- variable: render_config
label: Render Configuration
description: Enable it to add the configuration in the config file
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: position
label: Position
description: Position of the timestamp
schema:
type: string
required: true
default: tl
enum:
- value: tl
description: Top Left
- value: tr
description: Top Right
- value: bl
description: Bottom Left
- value: br
description: Bottom Right
- variable: format
label: Format
description: Format specifier conform to the Python package "datetime"
schema:
type: string
required: true
default: "%m/%d/%Y %H:%M:%S"
- variable: color
label: Color
schema:
additional_attrs: true
type: dict
attrs:
- variable: red
label: Red
schema:
type: int
default: 255
required: true
- variable: green
label: Green
schema:
type: int
required: true
default: 255
- variable: blue
label: Blue
schema:
type: int
required: true
default: 255
- variable: thickness
label: Thickness
description: Line thickness of font
schema:
type: int
required: true
default: 2
- variable: effect
label: Effect
description: |
Effect of lettering
None - No effect
Solid - Solid background in inverse color of font
Shadow - Shadow for font
schema:
type: string
required: true
default: None
enum:
- value: None
description: None
- value: solid
description: Solid
- value: shadow
description: Shadow
- variable: cameras
label: Cameras
schema:
type: list
default: []
items:
- variable: camera_entry
label: Camera Entry
schema:
additional_attrs: true
type: dict
attrs:
- variable: camera_name
label: Camera Name
schema:
type: string
required: true
default: ""
- variable: ffmpeg
label: ffmpeg
description: ffmpeg Settings for the camera
schema:
additional_attrs: true
type: dict
attrs:
- variable: inputs
label: Inputs
description: A list of input streams for the camera. See documentation for more information.
schema:
type: list
required: true
default: []
items:
- variable: input_entry
label: Input Entry
schema:
additional_attrs: true
type: dict
attrs:
- variable: path
label: Path
description: The path to the stream
schema:
type: string
required: true
default: ""
- variable: roles
label: Roles
schema:
type: list
required: true
default: []
items:
- variable: role_entry
label: Role Entry
schema:
type: string
required: true
default: ""
enum:
- value: detect
description: Detect
- value: rtmp
description: RTMP
- value: record
description: Record
- variable: global_args
label: Global Args
description: Camera specific global args
schema:
type: string
default: ""
- variable: hwaccel_args
label: HW Acceleration Args
description: Camera specific hwaccel args
schema:
type: string
default: ""
- variable: input_args
label: Input Args
description: Camera specific input args
schema:
type: string
default: ""
- variable: output_args
label: Output Args
description: Camera specific output args
schema:
type: string
default: ""
- variable: best_image_timeout
label: Best Image Timeout
description: Timeout for highest scoring image before allowing it to be replaced by a newer image.
schema:
type: int
required: true
default: 60
- variable: zones
label: Zones
description: Zones for this camera
schema:
type: list
default: []
items:
- variable: zone_entry
label: Zone Entry
schema:
additional_attrs: true
type: dict
attrs:
- variable: name
label: Zone Name
schema:
type: string
required: true
default: ""
- variable: coordinates
label: Coordinates
description: List of x,y coordinates to define the polygon of the zone.
schema:
type: string
required: true
default: ""
- variable: objects
label: Objects
schema:
type: list
default: []
items:
- variable: object_entry
label: Object Entry
description: For example person
schema:
type: string
required: true
default: ""
- variable: filters
label: Filters
description: Zone level object filters
schema:
type: list
default: []
items:
- variable: filter_entry
label: Filter Entry
description: For example person
schema:
additional_attrs: true
type: dict
attrs:
- variable: object
label: Object
description: For example person
schema:
type: string
required: true
default: ""
- variable: min_area
label: Min Area
description: Minimum width*height of the bounding box for the detected object
schema:
type: int
"null": true
- variable: max_area
label: Max Area
description: Maximum width*height of the bounding box for the detected object
schema:
type: int
"null": true
- variable: threshold
label: Threshold
description: Minimum decimal percentage for tracked object's computed score to be considered a true positive
schema:
type: string
default: ""
valid_chars: '^[0-9]+(\.[0-9]*)?$'
- variable: mqtt
label: MQTT
description: MQTT Configuration for jpg snapshots published for this camera
schema:
additional_attrs: true
type: dict
attrs:
- variable: render_config
label: Render Configuration
description: Enable it to add the configuration in the config file
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: enabled
label: Enabled
description: |
Enable publishing snapshot via mqtt for camera
NOTE: Only applies to publishing image data to MQTT via 'frigate/<camera_name>/<object_name>/snapshot'.
All other messages will still be published.
schema:
type: boolean
default: true
- variable: timestamp
label: Timestamp
description: Print a timestamp on the snapshots
schema:
type: boolean
default: true
- variable: bounding_box
label: Bounding Box
description: Draw bounding box on the snapshots
schema:
type: boolean
default: true
- variable: crop
label: Crop
description: Crop the snapshot
schema:
type: boolean
default: true
- variable: height
label: Height
description: Height to resize the snapshot to
schema:
type: int
required: true
default: 720
- variable: quality
label: Quality
description: JPEG encode quality
schema:
type: int
required: true
default: 70
- variable: required_zones
label: Required Zones
description: Restrict mqtt messages to objects that entered any of the listed zones
schema:
type: list
default: []
items:
- variable: required_zone
label: Required Zone
schema:
type: string
required: true
default: ""
- variable: ui
label: UI
description: Configuration for how camera is handled in the GUI.
schema:
additional_attrs: true
type: dict
attrs:
- variable: render_config
label: Render Configuration
description: Enable it to add the configuration in the config file
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: order
label: order
description: Adjust sort order of cameras in the UI. Larger numbers come later By default the cameras are sorted alphabetically.
schema:
"null": true
type: int
- variable: dashboard
label: Dashboard
description: Whether or not to show the camera in the Frigate UI
schema:
type: boolean
default: true
- variable: TZ
label: Timezone
group: "General Settings"
schema:
type: string
default: "Etc/UTC"
$ref:
- "definitions/timezone"
- variable: envList
label: Extra Environment Variables
description: "Please be aware that some variables are set in the background, adding duplicates here might cause issues or prevent the app from starting..."
group: "General Settings"
schema:
type: list
default: []
items:
- variable: envItem
label: Environment Variable
schema:
additional_attrs: true
type: dict
attrs:
- variable: name
label: Name
schema:
type: string
- variable: value
label: Value
schema:
type: string
- variable: service
group: Networking and Services
label: Configure Service(s)
schema:
additional_attrs: true
type: dict
attrs:
- variable: main
label: Main Service
description: The Primary service on which the healthcheck runs, often the webUI
schema:
additional_attrs: true
type: dict
attrs:
- variable: enabled
label: Enable the Service
schema:
type: boolean
default: true
hidden: true
- variable: type
label: Service Type
description: "ClusterIP's are only internally available and Loadbalancer exposes the service using the system loadbalancer"
schema:
type: string
default: LoadBalancer
enum:
- value: LoadBalancer
description: LoadBalancer (Expose Ports)
- value: ClusterIP
description: ClusterIP (Do Not Expose Ports)
- value: Simple
description: Deprecated CHANGE THIS
- variable: loadBalancerIP
label: LoadBalancer IP
description: "MetalLB Only: Selects the Loadbalancer IP to expose on. Required when using PortalButton with MetalLB"
schema:
show_if: [["type", "=", "LoadBalancer"]]
type: string
default: ""
- variable: ports
label: "Service's Port(s) Configuration"
schema:
additional_attrs: true
type: dict
attrs:
- variable: main
label: Main Service Port Configuration
schema:
additional_attrs: true
type: dict
attrs:
- variable: port
label: Port
description: This port exposes the container port on the service
schema:
type: int
default: 10500
editable: true
required: true
- variable: rtmp
label: RTMP Service
description: The service on which nodes connect to.
schema:
additional_attrs: true
type: dict
attrs:
- variable: enabled
label: Enable the Service
schema:
type: boolean
default: true
hidden: true
- variable: type
label: Service Type
description: "ClusterIP's are only internally available and Loadbalancer exposes the service using the system loadbalancer"
schema:
type: string
default: LoadBalancer
enum:
- value: LoadBalancer
description: LoadBalancer (Expose Ports)
- value: ClusterIP
description: ClusterIP (Do Not Expose Ports)
- value: Simple
description: Deprecated CHANGE THIS
- variable: loadBalancerIP
label: LoadBalancer IP
description: "MetalLB Only: Selects the Loadbalancer IP to expose on. Required when using PortalButton with MetalLB"
schema:
show_if: [["type", "=", "LoadBalancer"]]
type: string
default: ""
- variable: ports
label: "Service's Port(s) Configuration"
schema:
additional_attrs: true
type: dict
attrs:
- variable: rtmp
label: RTMP Service Port Configuration
schema:
additional_attrs: true
type: dict
attrs:
- variable: port
label: Port
description: This port exposes the container port on the service
schema:
type: int
default: 1935
editable: true
required: true
- variable: serviceexpert
group: Networking and Services
label: Show Expert Config
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: hostNetwork
group: Networking and Services
label: Host-Networking (Complicated)
schema:
type: boolean
default: false
- variable: externalInterfaces
description: Add External Interfaces
label: Add external Interfaces
group: Networking
schema:
type: list
items:
- variable: interfaceConfiguration
description: Interface Configuration
label: Interface Configuration
schema:
type: dict
$ref:
- "normalize/interfaceConfiguration"
attrs:
- variable: hostInterface
description: Please Specify Host Interface
label: Host Interface
schema:
type: string
required: true
$ref:
- "definitions/interface"
- variable: ipam
description: Define how IP Address will be managed
label: IP Address Management
schema:
type: dict
required: true
attrs:
- variable: type
description: Specify type for IPAM
label: IPAM Type
schema:
type: string
required: true
enum:
- value: dhcp
description: Use DHCP
- value: static
description: Use Static IP
show_subquestions_if: static
subquestions:
- variable: staticIPConfigurations
label: Static IP Addresses
schema:
type: list
items:
- variable: staticIP
label: Static IP
schema:
type: ipaddr
cidr: true
- variable: staticRoutes
label: Static Routes
schema:
type: list
items:
- variable: staticRouteConfiguration
label: Static Route Configuration
schema:
additional_attrs: true
type: dict
attrs:
- variable: destination
label: Destination
schema:
type: ipaddr
cidr: true
required: true
- variable: gateway
label: Gateway
schema:
type: ipaddr
cidr: false
required: true
- variable: serviceList
label: Add Manual Custom Services
group: Networking and Services
schema:
type: list
default: []
items:
- variable: serviceListEntry
label: Custom Service
schema:
additional_attrs: true
type: dict
attrs:
- variable: enabled
label: Enable the service
schema:
type: boolean
default: true
hidden: true
- variable: name
label: Name
schema:
type: string
default: ""
- variable: type
label: Service Type
description: "ClusterIP's are only internally available and Loadbalancer exposes the service using the system loadbalancer"
schema:
type: string
default: LoadBalancer
enum:
- value: LoadBalancer
description: LoadBalancer (Expose Ports)
- value: ClusterIP
description: ClusterIP (Do Not Expose Ports)
- value: Simple
description: Deprecated CHANGE THIS
- variable: loadBalancerIP
label: LoadBalancer IP
description: "MetalLB Only: Selects the Loadbalancer IP to expose on. Required when using PortalButton with MetalLB"
schema:
show_if: [["type", "=", "LoadBalancer"]]
type: string
default: ""
- variable: advancedsvcset
label: Show Advanced Service Settings
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: externalIPs
label: "External IP's"
description: "External IP's"
schema:
type: list
default: []
items:
- variable: externalIP
label: External IP
schema:
type: string
- variable: ipFamilyPolicy
label: IP Family Policy
description: Specify the IP Policy
schema:
type: string
default: SingleStack
enum:
- value: SingleStack
description: SingleStack
- value: PreferDualStack
description: PreferDualStack
- value: RequireDualStack
description: RequireDualStack
- variable: ipFamilies
label: IP Families
description: (Advanced) The IP Families that should be used
schema:
type: list
default: []
items:
- variable: ipFamily
label: IP Family
schema:
type: string
- variable: portsList
label: Additional Service Ports
schema:
type: list
default: []
items:
- variable: portsListEntry
label: Custom ports
schema:
additional_attrs: true
type: dict
attrs:
- variable: enabled
label: Enable the Port
schema:
type: boolean
default: true
hidden: true
- variable: name
label: Port Name
schema:
type: string
default: ""
- variable: protocol
label: Port Type
schema:
type: string
default: TCP
enum:
- value: HTTP
description: HTTP
- value: HTTPS
description: HTTPS
- value: TCP
description: TCP
- value: UDP
description: UDP
- variable: targetPort
label: Target Port
description: This port exposes the container port on the service
schema:
type: int
required: true
- variable: port
label: Container Port
schema:
type: int
required: true
- variable: persistence
label: Integrated Persistent Storage
description: Integrated Persistent Storage
group: Storage and Persistence
schema:
additional_attrs: true
type: dict
attrs:
- variable: media
label: App Media
description: Stores the Application Media
schema:
additional_attrs: true
type: dict
attrs:
- variable: type
label: Type of Storage
description: Sets the persistence type, Anything other than PVC could break rollback!
schema:
type: string
default: pvc
enum:
- value: pvc
description: PVC
- value: hostPath
description: Host Path
- value: emptyDir
description: emptyDir
- value: nfs
description: NFS Share
- variable: server
label: NFS Server
schema:
show_if: [["type", "=", "nfs"]]
type: string
default: ""
- variable: path
label: Path on NFS Server
schema:
show_if: [["type", "=", "nfs"]]
type: string
default: ""
- variable: setPermissions
label: Automatic Permissions
description: Automatically set permissions on install
schema:
show_if: [["type", "=", "hostPath"]]
type: boolean
default: false
- variable: readOnly
label: Read Only
schema:
type: boolean
default: false
- variable: hostPath
label: Host Path
description: Path inside the container the storage is mounted
schema:
show_if: [["type", "=", "hostPath"]]
type: hostpath
- variable: medium
label: EmptyDir Medium
schema:
show_if: [["type", "=", "emptyDir"]]
type: string
default: ""
enum:
- value: ""
description: Default
- value: Memory
description: Memory
- variable: size
label: Size quotum of Storage (Do NOT REDUCE after installation)
description: This value can ONLY be INCREASED after the installation
schema:
show_if: [["type", "=", "pvc"]]
type: string
default: 256Gi
- variable: db
label: App DB
description: Stores the Application DB
schema:
additional_attrs: true
type: dict
attrs:
- variable: type
label: Type of Storage
description: Sets the persistence type, Anything other than PVC could break rollback!
schema:
type: string
default: pvc
enum:
- value: pvc
description: PVC
- value: hostPath
description: Host Path
- value: emptyDir
description: emptyDir
- value: nfs
description: NFS Share
- variable: server
label: NFS Server
schema:
show_if: [["type", "=", "nfs"]]
type: string
default: ""
- variable: path
label: Path on NFS Server
schema:
show_if: [["type", "=", "nfs"]]
type: string
default: ""
- variable: setPermissions
label: Automatic Permissions
description: Automatically set permissions on install
schema:
show_if: [["type", "=", "hostPath"]]
type: boolean
default: false
- variable: readOnly
label: Read Only
schema:
type: boolean
default: false
- variable: hostPath
label: Host Path
description: Path inside the container the storage is mounted
schema:
show_if: [["type", "=", "hostPath"]]
type: hostpath
- variable: medium
label: EmptyDir Medium
schema:
show_if: [["type", "=", "emptyDir"]]
type: string
default: ""
enum:
- value: ""
description: Default
- value: Memory
description: Memory
- variable: size
label: Size quotum of Storage (Do NOT REDUCE after installation)
description: This value can ONLY be INCREASED after the installation
schema:
show_if: [["type", "=", "pvc"]]
type: string
default: 256Gi
- variable: persistenceList
label: Additional App Storage
group: Storage and Persistence
schema:
type: list
default: []
items:
- variable: persistenceListEntry
label: Custom Storage
schema:
additional_attrs: true
type: dict
attrs:
- variable: enabled
label: Enable the storage
schema:
type: boolean
default: true
hidden: true
- variable: type
label: Type of Storage
description: Sets the persistence type, Anything other than PVC could break rollback!
schema:
type: string
default: hostPath
enum:
- value: pvc
description: PVC
- value: hostPath
description: Host Path
- value: emptyDir
description: emptyDir
- value: nfs
description: NFS Share
- variable: server
label: NFS Server
schema:
show_if: [["type", "=", "nfs"]]
type: string
default: ""
- variable: path
label: Path on NFS Server
schema:
show_if: [["type", "=", "nfs"]]
type: string
default: ""
- variable: setPermissions
label: Automatic Permissions
description: Automatically set permissions on install
schema:
show_if: [["type", "=", "hostPath"]]
type: boolean
default: false
- variable: readOnly
label: Read Only
schema:
type: boolean
default: false
- variable: hostPath
label: Host Path
description: Path inside the container the storage is mounted
schema:
show_if: [["type", "=", "hostPath"]]
type: hostpath
- variable: mountPath
label: Mount Path
description: Path inside the container the storage is mounted
schema:
type: string
default: ""
required: true
valid_chars: '^\/([a-zA-Z0-9._-]+(\s?[a-zA-Z0-9._-]+|\/?))+$'
- variable: medium
label: EmptyDir Medium
schema:
show_if: [["type", "=", "emptyDir"]]
type: string
default: ""
enum:
- value: ""
description: Default
- value: Memory
description: Memory
- variable: size
label: Size Quotum of Storage
schema:
show_if: [["type", "=", "pvc"]]
type: string
default: 256Gi
- variable: ingress
label: ""
group: Ingress
schema:
additional_attrs: true
type: dict
attrs:
- variable: main
label: Main Ingress
schema:
additional_attrs: true
type: dict
attrs:
- variable: enabled
label: Enable Ingress
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: hosts
label: Hosts
schema:
type: list
default: []
items:
- variable: hostEntry
label: Host
schema:
additional_attrs: true
type: dict
attrs:
- variable: host
label: HostName
schema:
type: string
default: ""
required: true
- variable: paths
label: Paths
schema:
type: list
default: []
items:
- variable: pathEntry
label: Host
schema:
additional_attrs: true
type: dict
attrs:
- variable: path
label: Path
schema:
type: string
required: true
default: "/"
- variable: pathType
label: Path Type
schema:
type: string
required: true
default: Prefix
- variable: tls
label: TLS-Settings
schema:
type: list
default: []
items:
- variable: tlsEntry
label: Host
schema:
additional_attrs: true
type: dict
attrs:
- variable: hosts
label: Certificate Hosts
schema:
type: list
default: []
items:
- variable: host
label: Host
schema:
type: string
default: ""
required: true
- variable: scaleCert
label: Select TrueNAS SCALE Certificate
schema:
type: int
$ref:
- "definitions/certificate"
- variable: entrypoint
label: (Advanced) Traefik Entrypoint
description: Entrypoint used by Traefik when using Traefik as Ingress Provider
schema:
type: string
default: websecure
required: true
- variable: ingressClassName
label: (Advanced/Optional) IngressClass Name
schema:
type: string
default: ""
- variable: middlewares
label: Traefik Middlewares
description: Add previously created Traefik Middlewares to this Ingress
schema:
type: list
default: []
items:
- variable: name
label: Name
schema:
type: string
default: ""
required: true
- variable: ingressList
label: Add Manual Custom Ingresses
group: Ingress
schema:
type: list
default: []
items:
- variable: ingressListEntry
label: Custom Ingress
schema:
additional_attrs: true
type: dict
attrs:
- variable: enabled
label: Enable Ingress
schema:
type: boolean
default: true
hidden: true
- variable: name
label: Name
schema:
type: string
default: ""
- variable: ingressClassName
label: IngressClass Name
schema:
type: string
default: ""
- variable: hosts
label: Hosts
schema:
type: list
default: []
items:
- variable: hostEntry
label: Host
schema:
additional_attrs: true
type: dict
attrs:
- variable: host
label: HostName
schema:
type: string
default: ""
required: true
- variable: paths
label: Paths
schema:
type: list
default: []
items:
- variable: pathEntry
label: Host
schema:
additional_attrs: true
type: dict
attrs:
- variable: path
label: Path
schema:
type: string
required: true
default: "/"
- variable: pathType
label: Path Type
schema:
type: string
required: true
default: Prefix
- variable: service
label: Linked Service
schema:
additional_attrs: true
type: dict
attrs:
- variable: name
label: Service Name
schema:
type: string
default: ""
- variable: port
label: Service Port
schema:
type: int
- variable: tls
label: TLS-Settings
schema:
type: list
default: []
items:
- variable: tlsEntry
label: Host
schema:
additional_attrs: true
type: dict
attrs:
- variable: hosts
label: Certificate Hosts
schema:
type: list
default: []
items:
- variable: host
label: Host
schema:
type: string
default: ""
required: true
- variable: scaleCert
label: Select TrueNAS SCALE Certificate
schema:
type: int
$ref:
- "definitions/certificate"
- variable: entrypoint
label: Traefik Entrypoint
description: Entrypoint used by Traefik when using Traefik as Ingress Provider
schema:
type: string
default: websecure
required: true
- variable: middlewares
label: Traefik Middlewares
description: Add previously created Traefik Middlewares to this Ingress
schema:
type: list
default: []
items:
- variable: name
label: Name
schema:
type: string
default: ""
required: true
- variable: security
label: Container Security Settings
group: Security and Permissions
schema:
type: dict
additional_attrs: true
attrs:
- variable: editsecurity
label: Change PUID / UMASK values
description: By enabling this you override default set values.
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: PUID
label: Process User ID - PUID
description: When supported by the container, this sets the User ID running the Application Process. Not supported by all Apps
schema:
type: int
default: 568
- variable: UMASK
label: UMASK
description: When supported by the container, this sets the UMASK for the App. Not supported by all Apps
schema:
type: string
default: "002"
- variable: advancedSecurity
label: Show Advanced Security Settings
group: Security and Permissions
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: securityContext
label: Security Context
schema:
additional_attrs: true
type: dict
attrs:
- variable: privileged
label: Privileged mode
schema:
type: boolean
default: false
- variable: readOnlyRootFilesystem
label: ReadOnly Root Filesystem
schema:
type: boolean
default: false
- variable: allowPrivilegeEscalation
label: Allow Privilege Escalation
schema:
type: boolean
default: false
- variable: runAsNonRoot
label: runAsNonRoot
schema:
type: boolean
default: false
- variable: podSecurityContext
group: Security and Permissions
label: Pod Security Context
schema:
additional_attrs: true
type: dict
attrs:
- variable: runAsUser
label: runAsUser
description: The UserID of the user running the application
schema:
type: int
default: 0
- variable: runAsGroup
label: runAsGroup
description: The groupID this App of the user running the application
schema:
type: int
default: 0
- variable: fsGroup
label: fsGroup
description: The group that should own ALL storage.
schema:
type: int
default: 568
- variable: fsGroupChangePolicy
label: "When should we take ownership?"
schema:
type: string
default: OnRootMismatch
enum:
- value: OnRootMismatch
description: OnRootMismatch
- value: Always
description: Always
- variable: supplementalGroups
label: Supplemental Groups
schema:
type: list
default: []
items:
- variable: supplementalGroupsEntry
label: Supplemental Group
schema:
type: int
- variable: resources
group: Resources and Devices
label: "Resource Limits"
schema:
additional_attrs: true
type: dict
attrs:
- variable: limits
label: Advanced Limit Resource Consumption
schema:
additional_attrs: true
type: dict
attrs:
- variable: cpu
label: CPU
description: "1000m means 1 hyperthread. Detailed info: https://truecharts.org/docs/manual/SCALE%20Apps/indepth/validation"
schema:
type: string
default: 4000m
valid_chars: '^(?!^0(\.0|m|)$)([0-9]+)(\.[0-9]|m?)$'
- variable: memory
label: RAM
description: "1Gi means 1 Gibibyte RAM. Detailed info: https://truecharts.org/docs/manual/SCALE%20Apps/indepth/validation"
schema:
type: string
default: 8Gi
valid_chars: '^(?!^0(e[0-9]|[EPTGMK]i?|)$)([0-9]+)(|[EPTGMK]i?|e[0-9]+)$'
- variable: requests
label: "Minimum Resources Required (request)"
schema:
additional_attrs: true
type: dict
hidden: true
attrs:
- variable: cpu
label: CPU
description: "1000m means 1 hyperthread. Detailed info: https://truecharts.org/docs/manual/SCALE%20Apps/indepth/validation"
schema:
type: string
default: 10m
hidden: true
valid_chars: '^(?!^0(\.0|m|)$)([0-9]+)(\.[0-9]|m?)$'
- variable: memory
label: "RAM"
description: "1Gi means 1 Gibibyte RAM. Detailed info: https://truecharts.org/docs/manual/SCALE%20Apps/indepth/validation"
schema:
type: string
default: 50Mi
hidden: true
valid_chars: '^(?!^0(e[0-9]|[EPTGMK]i?|)$)([0-9]+)(|[EPTGMK]i?|e[0-9]+)$'
- variable: deviceList
label: Mount USB Devices
group: Resources and Devices
schema:
type: list
default: []
items:
- variable: deviceListEntry
label: Device
schema:
additional_attrs: true
type: dict
attrs:
- variable: enabled
label: Enable the Storage
schema:
type: boolean
default: true
- variable: type
label: (Advanced) Type of Storage
description: Sets the persistence type
schema:
type: string
default: hostPath
hidden: true
- variable: readOnly
label: readOnly
schema:
type: boolean
default: false
- variable: hostPath
label: Host Device Path
description: Path to the device on the host system
schema:
type: path
- variable: mountPath
label: Container Device Path
description: Path inside the container the device is mounted
schema:
type: string
default: "/dev/ttyACM0"
# Specify GPU configuration
- variable: scaleGPU
label: GPU Configuration
group: Resources and Devices
schema:
type: dict
$ref:
- "definitions/gpuConfiguration"
attrs: []
- variable: horizontalPodAutoscaler
group: Advanced
label: (Advanced) Horizontal Pod Autoscaler
schema:
type: list
default: []
items:
- variable: hpaEntry
label: HPA Entry
schema:
additional_attrs: true
type: dict
attrs:
- variable: name
label: Name
schema:
type: string
required: true
default: ""
- variable: enabled
label: Enabled
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: target
label: Target
description: Deployment name, Defaults to Main Deployment
schema:
type: string
default: ""
- variable: minReplicas
label: Minimum Replicas
schema:
type: int
default: 1
- variable: maxReplicas
label: Maximum Replicas
schema:
type: int
default: 5
- variable: targetCPUUtilizationPercentage
label: Target CPU Utilization Percentage
schema:
type: int
default: 80
- variable: targetMemoryUtilizationPercentage
label: Target Memory Utilization Percentage
schema:
type: int
default: 80
- variable: networkPolicy
group: Advanced
label: (Advanced) Network Policy
schema:
type: list
default: []
items:
- variable: netPolicyEntry
label: Network Policy Entry
schema:
additional_attrs: true
type: dict
attrs:
- variable: name
label: Name
schema:
type: string
required: true
default: ""
- variable: enabled
label: Enabled
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: policyType
label: Policy Type
schema:
type: string
default: ""
enum:
- value: ""
description: Default
- value: ingress
description: Ingress
- value: egress
description: Egress
- value: ingress-egress
description: Ingress and Egress
- variable: egress
label: Egress
schema:
type: list
default: []
items:
- variable: egressEntry
label: ""
schema:
additional_attrs: true
type: dict
attrs:
- variable: to
label: To
schema:
type: list
default: []
items:
- variable: toEntry
label: ""
schema:
additional_attrs: true
type: dict
attrs:
- variable: ipBlock
label: IP Block
schema:
additional_attrs: true
type: dict
attrs:
- variable: cidr
label: CIDR
schema:
type: string
default: ""
- variable: except
label: Except
schema:
type: list
default: []
items:
- variable: exceptint
label: ""
schema:
type: string
- variable: namespaceSelector
label: Namespace Selector
schema:
additional_attrs: true
type: dict
attrs:
- variable: matchExpressions
label: Match Expressions
schema:
type: list
default: []
items:
- variable: expressionEntry
label: ""
schema:
additional_attrs: true
type: dict
attrs:
- variable: key
label: Key
schema:
type: string
- variable: operator
label: Operator
schema:
type: string
default: TCP
enum:
- value: In
description: In
- value: NotIn
description: NotIn
- value: Exists
description: Exists
- value: DoesNotExist
description: DoesNotExist
- variable: values
label: Values
schema:
type: list
default: []
items:
- variable: value
label: ""
schema:
type: string
- variable: podSelector
label: ""
schema:
additional_attrs: true
type: dict
attrs:
- variable: matchExpressions
label: Match Expressions
schema:
type: list
default: []
items:
- variable: expressionEntry
label: ""
schema:
additional_attrs: true
type: dict
attrs:
- variable: key
label: Key
schema:
type: string
- variable: operator
label: Operator
schema:
type: string
default: TCP
enum:
- value: In
description: In
- value: NotIn
description: NotIn
- value: Exists
description: Exists
- value: DoesNotExist
description: DoesNotExist
- variable: values
label: Values
schema:
type: list
default: []
items:
- variable: value
label: ""
schema:
type: string
- variable: ports
label: Ports
schema:
type: list
default: []
items:
- variable: portsEntry
label: ""
schema:
additional_attrs: true
type: dict
attrs:
- variable: port
label: Port
schema:
type: int
- variable: endPort
label: End Port
schema:
type: int
- variable: protocol
label: Protocol
schema:
type: string
default: TCP
enum:
- value: TCP
description: TCP
- value: UDP
description: UDP
- value: SCTP
description: SCTP
- variable: ingress
label: Ingress
schema:
type: list
default: []
items:
- variable: ingressEntry
label: ""
schema:
additional_attrs: true
type: dict
attrs:
- variable: from
label: From
schema:
type: list
default: []
items:
- variable: fromEntry
label: ""
schema:
additional_attrs: true
type: dict
attrs:
- variable: ipBlock
label: IP Block
schema:
additional_attrs: true
type: dict
attrs:
- variable: cidr
label: CIDR
schema:
type: string
default: ""
- variable: except
label: Except
schema:
type: list
default: []
items:
- variable: exceptint
label: ""
schema:
type: string
- variable: namespaceSelector
label: Namespace Selector
schema:
additional_attrs: true
type: dict
attrs:
- variable: matchExpressions
label: Match Expressions
schema:
type: list
default: []
items:
- variable: expressionEntry
label: ""
schema:
additional_attrs: true
type: dict
attrs:
- variable: key
label: Key
schema:
type: string
- variable: operator
label: Operator
schema:
type: string
default: TCP
enum:
- value: In
description: In
- value: NotIn
description: NotIn
- value: Exists
description: Exists
- value: DoesNotExist
description: DoesNotExist
- variable: values
label: Values
schema:
type: list
default: []
items:
- variable: value
label: ""
schema:
type: string
- variable: podSelector
label: ""
schema:
additional_attrs: true
type: dict
attrs:
- variable: matchExpressions
label: Match Expressions
schema:
type: list
default: []
items:
- variable: expressionEntry
label: ""
schema:
additional_attrs: true
type: dict
attrs:
- variable: key
label: Key
schema:
type: string
- variable: operator
label: Operator
schema:
type: string
default: TCP
enum:
- value: In
description: In
- value: NotIn
description: NotIn
- value: Exists
description: Exists
- value: DoesNotExist
description: DoesNotExist
- variable: values
label: Values
schema:
type: list
default: []
items:
- variable: value
label: ""
schema:
type: string
- variable: ports
label: Ports
schema:
type: list
default: []
items:
- variable: portsEntry
label: ""
schema:
additional_attrs: true
type: dict
attrs:
- variable: port
label: Port
schema:
type: int
- variable: endPort
label: End Port
schema:
type: int
- variable: protocol
label: Protocol
schema:
type: string
default: TCP
enum:
- value: TCP
description: TCP
- value: UDP
description: UDP
- value: SCTP
description: SCTP
- variable: addons
group: Addons
label: ""
schema:
additional_attrs: true
type: dict
attrs:
- variable: codeserver
label: Codeserver
schema:
additional_attrs: true
type: dict
attrs:
- variable: enabled
label: Enabled
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: git
label: Git Settings
schema:
additional_attrs: true
type: dict
attrs:
- variable: deployKey
description: Raw SSH Private Key
label: Deploy Key
schema:
type: string
- variable: deployKeyBase64
description: Base64-encoded SSH private key. When both variables are set, the raw SSH key takes precedence
label: Deploy Key Base64
schema:
type: string
- variable: service
label: ""
schema:
additional_attrs: true
type: dict
attrs:
- variable: type
label: Service Type
description: "ClusterIP's are only internally available and Loadbalancer exposes the service using the system loadbalancer"
schema:
type: string
default: LoadBalancer
enum:
- value: NodePort
description: Deprecated CHANGE THIS
- value: ClusterIP
description: ClusterIP
- value: LoadBalancer
description: LoadBalancer
- variable: loadBalancerIP
label: LoadBalancer IP
description: "MetalLB Only: Selects the Loadbalancer IP to expose on. Required when using PortalButton with MetalLB"
schema:
show_if: [["type", "=", "LoadBalancer"]]
type: string
default: ""
- variable: advancedsvcset
label: Show Advanced Service Settings
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: externalIPs
label: "External IP's"
description: "External IP's"
schema:
type: list
default: []
items:
- variable: externalIP
label: External IP
schema:
type: string
- variable: ipFamilyPolicy
label: IP Family Policy
description: Specify the IP Policy
schema:
type: string
default: SingleStack
enum:
- value: SingleStack
description: SingleStack
- value: PreferDualStack
description: PreferDualStack
- value: RequireDualStack
description: RequireDualStack
- variable: ipFamilies
label: IP Families
description: (Advanced) The IP Families that should be used
schema:
type: list
default: []
items:
- variable: ipFamily
label: IP Family
schema:
type: string
- variable: ports
label: ""
schema:
additional_attrs: true
type: dict
attrs:
- variable: codeserver
label: ""
schema:
additional_attrs: true
type: dict
attrs:
- variable: port
label: Port
schema:
type: int
default: 36107
- variable: nodePort
description: Leave Empty to Disable
label: nodePort DEPRECATED
schema:
type: int
default: 36107
- variable: envList
label: Codeserver Environment Variables
schema:
type: list
show_if: [["type", "!=", "disabled"]]
default: []
items:
- variable: envItem
label: Environment Variable
schema:
additional_attrs: true
type: dict
attrs:
- variable: name
label: Name
schema:
type: string
required: true
- variable: value
label: Value
schema:
type: string
required: true
- variable: vpn
label: VPN
schema:
additional_attrs: true
type: dict
attrs:
- variable: type
label: Type
schema:
type: string
default: disabled
enum:
- value: disabled
description: disabled
- value: openvpn
description: OpenVPN
- value: wireguard
description: Wireguard
- value: tailscale
description: Tailscale
- variable: openvpn
label: OpenVPN Settings
schema:
type: dict
show_if: [["type", "=", "openvpn"]]
attrs:
- variable: username
label: Authentication Username (Optional)
description: Authentication Username, Optional
schema:
type: string
default: ""
- variable: password
label: Authentication Password
description: Authentication Credentials
schema:
type: string
default: ""
required: true
- variable: tailscale
label: Tailscale Settings
schema:
type: dict
show_if: [["type", "=", "tailscale"]]
attrs:
- variable: authkey
label: Authentication Key
description: Provide an auth key to automatically authenticate the node as your user account.
schema:
type: string
private: true
default: ""
- variable: auth_once
label: Auth Once
description: Only attempt to log in if not already logged in.
schema:
type: boolean
default: true
- variable: accept_dns
label: Accept DNS
description: Accept DNS configuration from the admin console.
schema:
type: boolean
default: false
- variable: userspace
label: Userspace
description: Userspace Networking mode allows running Tailscale where you do not have access to create a VPN tunnel device.
schema:
type: boolean
default: false
- variable: routes
label: Routes
description: Expose physical subnet routes to your entire Tailscale network.
schema:
type: string
default: ""
- variable: dest_ip
label: Destination IP
description: Tells the DNAT mechanism which Destination IP to set in the IP header, and where to send packets that are matched.
schema:
type: string
default: ""
- variable: sock5_server
label: Sock5 Server
description: The address on which to listen for SOCKS5 proxying into the tailscale net.
schema:
type: string
default: ""
- variable: outbound_http_proxy_listen
label: Outbound HTTP Proxy Listen
description: The address on which to listen for HTTP proxying into the tailscale net.
schema:
type: string
default: ""
- variable: extra_args
label: Extra Args
description: Extra Args
schema:
type: string
default: ""
- variable: daemon_extra_args
label: Tailscale Daemon Extra Args
description: Tailscale Daemon Extra Args
schema:
type: string
default: ""
- variable: killSwitch
label: Enable Killswitch
schema:
type: boolean
show_if: [["type", "!=", "disabled"]]
default: true
- variable: excludedNetworks_IPv4
label: Killswitch Excluded IPv4 networks
description: List of Killswitch Excluded IPv4 Addresses
schema:
type: list
show_if: [["type", "!=", "disabled"]]
default: []
items:
- variable: networkv4
label: IPv4 Network
schema:
type: string
required: true
- variable: excludedNetworks_IPv6
label: Killswitch Excluded IPv6 networks
description: "List of Killswitch Excluded IPv6 Addresses"
schema:
type: list
show_if: [["type", "!=", "disabled"]]
default: []
items:
- variable: networkv6
label: IPv6 Network
schema:
type: string
required: true
- variable: configFile
label: VPN Config File Location
schema:
type: dict
show_if: [["type", "!=", "disabled"]]
attrs:
- variable: enabled
label: Enabled
schema:
type: boolean
default: true
hidden: true
- variable: type
label: Type
schema:
type: string
default: hostPath
hidden: true
- variable: hostPathType
label: hostPathType
schema:
type: string
default: File
hidden: true
- variable: noMount
label: noMount
schema:
type: boolean
default: true
hidden: true
- variable: hostPath
label: Full Path to File
description: "Path to your local VPN config file for example: /mnt/tank/vpn.conf or /mnt/tank/vpn.ovpn"
schema:
type: string
default: ""
- variable: envList
label: VPN Environment Variables
schema:
type: list
show_if: [["type", "!=", "disabled"]]
default: []
items:
- variable: envItem
label: Environment Variable
schema:
additional_attrs: true
type: dict
attrs:
- variable: name
label: Name
schema:
type: string
required: true
- variable: value
label: Value
schema:
type: string
required: true
- variable: docs
group: Documentation
label: Please read the documentation at https://truecharts.org
description: Please read the documentation at
<br /><a href="https://truecharts.org">https://truecharts.org</a>
schema:
additional_attrs: true
type: dict
attrs:
- variable: confirmDocs
label: I have checked the documentation
schema:
type: boolean
default: true
- variable: donateNag
group: Documentation
label: Please consider supporting TrueCharts, see https://truecharts.org/sponsor
description: Please consider supporting TrueCharts, see
<br /><a href="https://truecharts.org/sponsor">https://truecharts.org/sponsor</a>
schema:
additional_attrs: true
type: dict
attrs:
- variable: confirmDonate
label: I have considered donating
schema:
type: boolean
default: true
hidden: true