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 default: 1883 - variable: topic_prefix label: Topic Prefix description: Must be unique if you are running multiple instances schema: type: string default: "" - variable: client_id label: Client ID description: Must be unique if you are running multiple instances schema: type: string default: "" - variable: stats_interval label: Stats Interval description: Interval in seconds for publishing stats schema: type: int "null": 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: "" 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 "null": true show_if: [["type", "=", "cpu"]] - 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: width label: Width schema: type: int required: true default: 320 - variable: height label: Height schema: type: int required: true default: 320 - variable: path label: Path schema: type: string default: "" - variable: labelmap_path label: Label Map Path schema: type: string default: "" - variable: labelmap label: Label Map Configuration schema: type: list default: [] items: - variable: labelmap_entry label: "" schema: additional_attrs: true type: dict attrs: - variable: model label: Model schema: type: string required: true default: "" - variable: name label: Name schema: type: string required: true 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: "" 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 "null": true - variable: height label: Height description: Height of the output resolution schema: type: int "null": true - 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 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 default: "" enum: - value: "" description: Inherit - 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 default: "" - variable: hwaccel_args label: HW Acceleration Args description: See hardware acceleration docs for your specific device schema: type: string default: "" - variable: input_args label: Input Args schema: type: string default: "" - variable: output_args label: Output Args schema: additional_attrs: true type: dict attrs: - variable: detect label: Detect schema: type: string default: "" - variable: record label: Record schema: type: string default: "" - variable: rtmp label: RTMP schema: type: string default: "" - 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 "null": true - variable: height label: Height description: Height of the frame for the input with the detect role schema: type: int "null": true - 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 "null": true - variable: max_disappeared label: Max Disappeared description: Number of frames without a detection before frigate considers an object to be gone. schema: type: int "null": true - 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 "null": true - variable: threshold label: Threshold description: Number of frames without a position change for an object to be considered stationary schema: type: int "null": true - 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 "null": true - 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 "null": true - 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 "null": true - 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 "null": true - variable: retain label: Record > 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 "null": true - 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]] default: "" enum: - value: "" description: Inherit - value: all description: All - value: motion description: Motion - value: active_objects description: Active Objects - variable: events label: Record > Events description: Event recording settings 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: pre_capture label: Pre Capture description: Number of seconds before the event to include schema: type: int "null": true - variable: post_capture label: Post Capture description: Number of seconds after the event to include schema: type: int "null": true - variable: objects label: Objects description: Objects to save recordings for. Defaults to all objects. schema: type: list default: [] items: - variable: object_entry label: "" 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: "" schema: type: string required: true default: "" - variable: retain label: Record > Events > 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 default: "" enum: - value: "" description: Inherit - 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: "" 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: Snapshots > Retain description: Retention settings for snapshots 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 "null": true - 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 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 default: "" enum: - value: "" description: Inherit - 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 schema: type: string default: "" - variable: color label: Timestamp Style > Color 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: 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 "null": true - variable: effect label: Effect description: | Effect of lettering Inherit - Inherit from default configuration None - No effect Solid - Solid background in inverse color of font Shadow - Shadow for font schema: type: string default: "" enum: - value: "" description: Inherit - 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: "" 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: "" 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: Stream specific global args schema: type: string default: "" - variable: hwaccel_args label: HW Acceleration Args description: Stream specific hwaccel args schema: type: string default: "" - variable: input_args label: Input Args description: Stream specific input args schema: type: string default: "" - variable: output_args label: Output Args schema: additional_attrs: true type: dict attrs: - variable: detect label: Detect schema: type: string default: "" - variable: record label: Record schema: type: string default: "" - variable: rtmp label: RTMP schema: type: string default: "" - 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 schema: additional_attrs: true type: dict attrs: - variable: detect label: Detect schema: type: string default: "" - variable: record label: Record schema: type: string default: "" - variable: rtmp label: RTMP 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 "null": true - variable: zones label: Zones description: Zones for this camera schema: type: list default: [] items: - variable: zone_entry label: "" 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: "" 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///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 "null": true - variable: quality label: Quality description: JPEG encode quality schema: type: int "null": true - 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: clusterIssuer label: clusterIssuer description: 'add the name of your cert-manager clusterIssuer here for automatic tls certificates. Cannot be used combined with tls option below' schema: type: string default: "" - variable: tls label: TLS-Settings schema: type: list show_if: [["clusterIssuer", "=", ""]] 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: clusterIssuer label: Use Cert-Manager clusterIssuer description: 'add the name of your cert-manager clusterIssuer here for automatic tls certificates.' schema: type: string default: "" - variable: scaleCert label: Use TrueNAS SCALE Certificate (Deprecated) schema: show_if: [["clusterIssuer", "=", ""]] type: int $ref: - "definitions/certificate" - variable: secretName label: Use Custom Secret (Advanced) schema: show_if: [["clusterIssuer", "=", ""]] type: string default: "" - 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: clusterIssuer label: clusterIssuer description: 'add the name of your cert-manager clusterIssuer here for automatic tls certificates. Cannot be used combined with tls option below' schema: type: string default: "" - variable: tls label: TLS-Settings schema: type: list default: [] show_if: [["clusterIssuer", "=", ""]] 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: clusterIssuer label: Use Cert-Manager clusterIssuer description: 'add the name of your Cert-Manager clusterIssuer here for automatic tls certificates.' schema: type: string default: "" - variable: scaleCert label: Use TrueNAS SCALE Certificate (Deprecated) schema: show_if: [["clusterIssuer", "=", ""]] type: int $ref: - "definitions/certificate" - variable: secretName label: Use Custom Secret (Advanced) schema: type: string show_if: [["clusterIssuer", "=", ""]] default: "" - 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
https://truecharts.org 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
https://truecharts.org/sponsor schema: additional_attrs: true type: dict attrs: - variable: confirmDonate label: I have considered donating schema: type: boolean default: true hidden: true