# Include{groups} portals: open: # Include{portalLink} questions: # Include{global} # Include{controller} # Include{replicas} # Include{replica1} # Include{controllerExpertExtraArgs} - 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 # Include{containerConfig} # Include{serviceRoot} - variable: main label: Main Service description: The Primary service on which the healthcheck runs, often the webUI schema: additional_attrs: true type: dict attrs: # Include{serviceSelectorLoadBalancer} # Include{serviceSelectorExtras} - 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: # Include{serviceSelectorLoadBalancer} # Include{serviceSelectorExtras} - 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 # Include{serviceExpertRoot} default: false # Include{serviceExpert} # Include{serviceList} # Include{persistenceRoot} - variable: media label: App Media description: Stores the Application Media schema: additional_attrs: true type: dict attrs: # Include{persistenceBasic} - variable: db label: App DB description: Stores the Application DB schema: additional_attrs: true type: dict attrs: # Include{persistenceBasic} # Include{persistenceList} # Include{ingressRoot} - variable: main label: Main Ingress schema: additional_attrs: true type: dict attrs: # Include{ingressDefault} # Include{ingressTLS} # Include{ingressTraefik} # Include{ingressList} # Include{security} # Include{securityContextAdvancedRoot} - 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 # Include{podSecurityContextRoot} - 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 # Include{podSecurityContextAdvanced} # Include{resources} # Include{advanced} # Include{addons} # Include{codeserver} # Include{vpn} # Include{documentation}