TrueNAS Apps Market

Expand your system’s capabilities quickly and easily by adding third-party software.

Download TrueNAS
TrueNAS UI and Apps screens

Community App Tutorial Template

Work in Progress
We are actively developing and improving this template. Check back for updates!

How to Use this Template

Click Edit Page above or locate the Markdown template at /content/getting-started/contributing-to-apps/template.md in the TrueNAS Apps Market Repository.

Read full post gdoc_arrow_right_alt

Contributing to Apps

We welcome community user contributions, issue reporting, and suggestions for new features and apps to create the best possible TrueNAS app user experience!

App Updates and Releases

Application maintenance is independent of TrueNAS version release cycles. App version information, features, configuration options, and installation behavior during access might vary from those in documented tutorials.

Read full post gdoc_arrow_right_alt

Custom Applications

iX App
Get Started with Apps!
Requires TrueNAS: 24.10.2.2 or newer
App Version: 1.2.5
Train: Stable
Home Page: https://www.truenas.com/
iX App Details
Added: 2024-09-10
Last Updated: 2025-09-02

An application for deploying simple containers.


App Metadata (Raw File)
{
    "1.2.8": {
        "healthy": true,
        "supported": true,
        "healthy_error": null,
        "location": "/__w/apps/apps/trains/stable/ix-app/1.2.8",
        "last_update": "2025-09-02 11:33:24",
        "required_features": [],
        "human_version": "1.2.5_1.2.8",
        "version": "1.2.8",
        "app_metadata": {
            "annotations": {
                "min_scale_version": "24.10.2.2"
            },
            "app_version": "1.2.5",
            "capabilities": [],
            "categories": [
                "custom"
            ],
            "date_added": "2024-09-10",
            "description": "An application for deploying simple containers.",
            "home": "https://www.truenas.com/",
            "host_mounts": [],
            "icon": "https://media.sys.truenas.net/apps/ix-app/icons/icon.webp",
            "keywords": [],
            "lib_version": "2.1.49",
            "lib_version_hash": "e71e6b0122c9446fa5ea6fb07e7eb01b11fb42d549a19845426bbd7e21a42634",
            "maintainers": [
                {
                    "email": "dev@ixsystems.com",
                    "name": "truenas",
                    "url": "https://www.truenas.com/"
                }
            ],
            "name": "ix-app",
            "run_as_context": [],
            "screenshots": [],
            "sources": [],
            "title": "iX App",
            "train": "stable",
            "version": "1.2.8"
        },
        "schema": {
            "groups": [
                {
                    "name": "General",
                    "description": "General Configuration"
                },
                {
                    "name": "Image Configuration",
                    "description": "Configure the image"
                },
                {
                    "name": "Container Configuration",
                    "description": "Configure the container"
                },
                {
                    "name": "Security Context Configuration",
                    "description": "Configure Security Context for the container"
                },
                {
                    "name": "Network Configuration",
                    "description": "Configure Network for the container"
                },
                {
                    "name": "Portal Configuration",
                    "description": "Configure Portals"
                },
                {
                    "name": "Storage Configuration",
                    "description": "Configure Storage for the container"
                },
                {
                    "name": "Labels Configuration",
                    "description": "Configure Labels for the container"
                },
                {
                    "name": "Resources Configuration",
                    "description": "Configure Resources for the container"
                }
            ],
            "questions": [
                {
                    "variable": "notes",
                    "label": "Notes",
                    "group": "General",
                    "description": "Notes about the application, this will be shown in the Notes card. </br>\nYou can use markdown here. This have no effect on the application.\n",
                    "schema": {
                        "type": "text"
                    }
                },
                {
                    "variable": "image",
                    "label": "Image",
                    "group": "Image Configuration",
                    "description": "The image to use for the container.",
                    "schema": {
                        "type": "dict",
                        "attrs": [
                            {
                                "variable": "repository",
                                "label": "Repository",
                                "description": "The repository of the image.",
                                "schema": {
                                    "type": "string",
                                    "required": true
                                }
                            },
                            {
                                "variable": "tag",
                                "label": "Tag",
                                "description": "The tag of the image.",
                                "schema": {
                                    "type": "string",
                                    "default": "latest"
                                }
                            },
                            {
                                "variable": "pull_policy",
                                "label": "Pull Policy",
                                "description": "The pull policy for the image.",
                                "schema": {
                                    "type": "string",
                                    "default": "missing",
                                    "required": true,
                                    "enum": [
                                        {
                                            "value": "missing",
                                            "description": "Pull the image if it is not already present on the host."
                                        },
                                        {
                                            "value": "always",
                                            "description": "Always pull an image even if it is present on the host."
                                        },
                                        {
                                            "value": "never",
                                            "description": "Never pull an image even if it is not present on the host."
                                        }
                                    ]
                                }
                            }
                        ]
                    }
                },
                {
                    "variable": "hostname",
                    "label": "Hostname",
                    "group": "Container Configuration",
                    "description": "The hostname to use for the container.",
                    "schema": {
                        "type": "string",
                        "default": ""
                    }
                },
                {
                    "variable": "entrypoint",
                    "label": "Entrypoint",
                    "group": "Container Configuration",
                    "description": "Entrypoint to use for the container. </br>\nOverrides the default ENTRYPOINT of the image.\n",
                    "schema": {
                        "type": "list",
                        "default": [],
                        "items": [
                            {
                                "variable": "entrypoint_item",
                                "label": "",
                                "schema": {
                                    "type": "string",
                                    "required": true
                                }
                            }
                        ]
                    }
                },
                {
                    "variable": "command",
                    "label": "Command",
                    "group": "Container Configuration",
                    "description": "Command to use for the container. </br>\nOverrides the default CMD of the image.\n",
                    "schema": {
                        "type": "list",
                        "default": [],
                        "items": [
                            {
                                "variable": "command_item",
                                "label": "",
                                "schema": {
                                    "type": "string",
                                    "required": true
                                }
                            }
                        ]
                    }
                },
                {
                    "variable": "TZ",
                    "label": "Timezone",
                    "group": "Container Configuration",
                    "description": "Timezone setting for the container.",
                    "schema": {
                        "type": "string",
                        "default": "Etc/UTC",
                        "required": true,
                        "$ref": [
                            "definitions/timezone"
                        ]
                    }
                },
                {
                    "variable": "envs",
                    "label": "Environment Variables",
                    "group": "Container Configuration",
                    "description": "Configure environment variables.",
                    "schema": {
                        "type": "list",
                        "default": [],
                        "items": [
                            {
                                "variable": "env",
                                "label": "Environment Variable",
                                "schema": {
                                    "type": "dict",
                                    "attrs": [
                                        {
                                            "variable": "name",
                                            "label": "Name",
                                            "schema": {
                                                "type": "string",
                                                "required": true
                                            }
                                        },
                                        {
                                            "variable": "value",
                                            "label": "Value",
                                            "schema": {
                                                "type": "string",
                                                "required": true
                                            }
                                        }
                                    ]
                                }
                            }
                        ]
                    }
                },
                {
                    "variable": "restart_policy",
                    "label": "Restart Policy",
                    "group": "Container Configuration",
                    "description": "The restart policy to use for the container.",
                    "schema": {
                        "type": "string",
                        "default": "no",
                        "required": true,
                        "enum": [
                            {
                                "value": "no",
                                "description": "No - Does not restart the container under any circumstances."
                            },
                            {
                                "value": "unless-stopped",
                                "description": "Unless Stopped - Restarts the container irrespective of the exit code but stops restarting when the service is stopped or removed."
                            },
                            {
                                "value": "on-failure",
                                "description": "On Failure - Restarts the container if the exit code indicates an error."
                            },
                            {
                                "value": "always",
                                "description": "Always - Restarts the container until its removal."
                            }
                        ]
                    }
                },
                {
                    "variable": "max_retry_count",
                    "label": "Maximum Retry Count",
                    "group": "Container Configuration",
                    "description": "Maximum number of retries allowed for a container to exit with a code indicating an error. </br>\nSetting this to zero, will keep restarting the container if it exits with a code indicating an error.\n",
                    "schema": {
                        "type": "int",
                        "required": true,
                        "default": 0,
                        "show_if": [
                            [
                                "restart_policy",
                                "=",
                                "on-failure"
                            ]
                        ]
                    }
                },
                {
                    "variable": "disable_builtin_healthcheck",
                    "label": "Disable Builtin Healthcheck",
                    "group": "Container Configuration",
                    "description": "Disable the built-in HEALTHCHECK defined in the image.\n",
                    "schema": {
                        "type": "boolean",
                        "default": false
                    }
                },
                {
                    "variable": "tty",
                    "label": "TTY",
                    "group": "Container Configuration",
                    "description": "Allocate a pseudo-TTY.</br>\nNote, that due to a bug in the underlying library</br>\nusing this option will cause the logs to not display properly</br>\non the TrueNAS WebUI.</br>\nYou can still view logs using 'docker logs ...'.</br>\nBug: https://github.com/docker/docker-py/issues/1394\n",
                    "schema": {
                        "type": "boolean",
                        "default": false
                    }
                },
                {
                    "variable": "stdin",
                    "label": "Stdin",
                    "group": "Container Configuration",
                    "description": "Keep stdin open on the container.",
                    "schema": {
                        "type": "boolean",
                        "default": false
                    }
                },
                {
                    "variable": "devices",
                    "label": "Devices",
                    "group": "Container Configuration",
                    "description": "Devices to use for the container. </br>\nEg: Host Device: /dev/ttyUSB0, Container Device: /dev/ttyACM0\n",
                    "schema": {
                        "type": "list",
                        "default": [],
                        "items": [
                            {
                                "variable": "device",
                                "label": "Device",
                                "schema": {
                                    "type": "dict",
                                    "attrs": [
                                        {
                                            "variable": "host_device",
                                            "label": "Host Device",
                                            "schema": {
                                                "type": "string",
                                                "required": true
                                            }
                                        },
                                        {
                                            "variable": "container_device",
                                            "label": "Container Device",
                                            "schema": {
                                                "type": "string",
                                                "required": true
                                            }
                                        }
                                    ]
                                }
                            }
                        ]
                    }
                },
                {
                    "variable": "privileged",
                    "label": "Privileged",
                    "group": "Security Context Configuration",
                    "description": "Run the container in privileged mode.",
                    "schema": {
                        "type": "boolean",
                        "default": false
                    }
                },
                {
                    "variable": "capabilities",
                    "label": "Capabilities",
                    "group": "Security Context Configuration",
                    "description": "Add Linux capabilities to the container.",
                    "schema": {
                        "type": "dict",
                        "attrs": [
                            {
                                "variable": "add",
                                "label": "Add",
                                "schema": {
                                    "type": "list",
                                    "items": [
                                        {
                                            "variable": "capability",
                                            "label": "Capability",
                                            "schema": {
                                                "type": "string",
                                                "required": true
                                            }
                                        }
                                    ]
                                }
                            }
                        ]
                    }
                },
                {
                    "variable": "run_as_custom_user",
                    "label": "Custom User",
                    "group": "Security Context Configuration",
                    "description": "Run the container as a custom user.",
                    "schema": {
                        "type": "boolean",
                        "default": false
                    }
                },
                {
                    "variable": "run_as",
                    "label": "",
                    "group": "Security Context Configuration",
                    "schema": {
                        "type": "dict",
                        "show_if": [
                            [
                                "run_as_custom_user",
                                "=",
                                true
                            ]
                        ],
                        "attrs": [
                            {
                                "variable": "user",
                                "label": "User ID",
                                "description": "The user id that container will run as.",
                                "schema": {
                                    "type": "int",
                                    "default": 568,
                                    "required": true
                                }
                            },
                            {
                                "variable": "group",
                                "label": "Group ID",
                                "description": "The group id that container will run as.",
                                "schema": {
                                    "type": "int",
                                    "default": 568,
                                    "required": true
                                }
                            }
                        ]
                    }
                },
                {
                    "variable": "host_network",
                    "label": "Host Network",
                    "group": "Network Configuration",
                    "description": "Bind to the host network.",
                    "schema": {
                        "type": "boolean",
                        "default": false
                    }
                },
                {
                    "variable": "ports",
                    "label": "Ports",
                    "group": "Network Configuration",
                    "description": "Configure ports for the container.",
                    "schema": {
                        "type": "list",
                        "show_if": [
                            [
                                "host_network",
                                "=",
                                false
                            ]
                        ],
                        "default": [],
                        "items": [
                            {
                                "variable": "port",
                                "label": "Port",
                                "schema": {
                                    "type": "dict",
                                    "attrs": [
                                        {
                                            "variable": "bind_mode",
                                            "label": "Port Bind Mode",
                                            "description": "The port bind mode.</br>\n- Publish: The port will be published on the host for external access.</br>\n- Expose: The port will be exposed for inter-container communication.</br>\n",
                                            "schema": {
                                                "type": "string",
                                                "default": "published",
                                                "enum": [
                                                    {
                                                        "value": "published",
                                                        "description": "Publish port on the host for external access"
                                                    },
                                                    {
                                                        "value": "exposed",
                                                        "description": "Expose port for inter-container communication"
                                                    }
                                                ]
                                            }
                                        },
                                        {
                                            "variable": "port_number",
                                            "label": "Host Port",
                                            "schema": {
                                                "type": "int",
                                                "min": 1,
                                                "max": 65535,
                                                "required": true
                                            }
                                        },
                                        {
                                            "variable": "container_port",
                                            "label": "Container Port",
                                            "schema": {
                                                "type": "int",
                                                "min": 1,
                                                "max": 65535,
                                                "required": true
                                            }
                                        },
                                        {
                                            "variable": "protocol",
                                            "label": "Protocol",
                                            "schema": {
                                                "type": "string",
                                                "required": true,
                                                "default": "tcp",
                                                "enum": [
                                                    {
                                                        "value": "tcp",
                                                        "description": "TCP"
                                                    },
                                                    {
                                                        "value": "udp",
                                                        "description": "UDP"
                                                    }
                                                ]
                                            }
                                        },
                                        {
                                            "variable": "host_ips",
                                            "label": "Host IPs",
                                            "description": "IPs on the host to bind this port",
                                            "schema": {
                                                "type": "list",
                                                "show_if": [
                                                    [
                                                        "bind_mode",
                                                        "=",
                                                        "published"
                                                    ]
                                                ],
                                                "default": [],
                                                "items": [
                                                    {
                                                        "variable": "host_ip",
                                                        "label": "Host IP",
                                                        "schema": {
                                                            "type": "string",
                                                            "required": true,
                                                            "$ref": [
                                                                "definitions/node_bind_ip"
                                                            ]
                                                        }
                                                    }
                                                ]
                                            }
                                        }
                                    ]
                                }
                            }
                        ]
                    }
                },
                {
                    "variable": "dns_config",
                    "label": "Custom DNS Setup",
                    "group": "Network Configuration",
                    "description": "Configure custom DNS settings for the container.\n",
                    "schema": {
                        "type": "dict",
                        "attrs": [
                            {
                                "variable": "nameservers",
                                "label": "Nameservers",
                                "description": "The DNS nameservers to use.",
                                "schema": {
                                    "type": "list",
                                    "items": [
                                        {
                                            "variable": "nameserver",
                                            "label": "Nameserver",
                                            "schema": {
                                                "type": "string",
                                                "required": true
                                            }
                                        }
                                    ]
                                }
                            },
                            {
                                "variable": "searches",
                                "label": "Search Domains",
                                "description": "The DNS search domains to use.",
                                "schema": {
                                    "type": "list",
                                    "items": [
                                        {
                                            "variable": "search",
                                            "label": "Search Domain",
                                            "schema": {
                                                "type": "string",
                                                "required": true
                                            }
                                        }
                                    ]
                                }
                            },
                            {
                                "variable": "options",
                                "label": "DNS Options",
                                "description": "The DNS options to use.",
                                "schema": {
                                    "type": "list",
                                    "items": [
                                        {
                                            "variable": "option",
                                            "label": "Option",
                                            "schema": {
                                                "type": "string",
                                                "required": true
                                            }
                                        }
                                    ]
                                }
                            }
                        ]
                    }
                },
                {
                    "variable": "portals",
                    "label": "",
                    "group": "Portal Configuration",
                    "schema": {
                        "type": "list",
                        "items": [
                            {
                                "variable": "portal",
                                "label": "Portal",
                                "schema": {
                                    "type": "dict",
                                    "attrs": [
                                        {
                                            "variable": "name",
                                            "label": "Name",
                                            "description": "The name of the portal",
                                            "schema": {
                                                "type": "string",
                                                "default": "Web UI",
                                                "required": true
                                            }
                                        },
                                        {
                                            "variable": "scheme",
                                            "label": "Protocol",
                                            "description": "The protocol for the portal",
                                            "schema": {
                                                "type": "string",
                                                "default": "http",
                                                "required": true,
                                                "enum": [
                                                    {
                                                        "value": "http",
                                                        "description": "HTTP"
                                                    },
                                                    {
                                                        "value": "https",
                                                        "description": "HTTPS"
                                                    }
                                                ]
                                            }
                                        },
                                        {
                                            "variable": "use_node_ip",
                                            "label": "Use Node IP",
                                            "description": "Use the node IP for the portal",
                                            "schema": {
                                                "type": "boolean",
                                                "default": true,
                                                "required": true
                                            }
                                        },
                                        {
                                            "variable": "host",
                                            "label": "Host",
                                            "description": "The host for the portal",
                                            "schema": {
                                                "type": "string",
                                                "default": "",
                                                "show_if": [
                                                    [
                                                        "use_node_ip",
                                                        "=",
                                                        false
                                                    ]
                                                ],
                                                "required": true
                                            }
                                        },
                                        {
                                            "variable": "port",
                                            "label": "Port",
                                            "description": "The port for the portal",
                                            "schema": {
                                                "type": "int",
                                                "default": 15000,
                                                "required": true
                                            }
                                        },
                                        {
                                            "variable": "path",
                                            "label": "Path",
                                            "description": "The path for the portal",
                                            "schema": {
                                                "type": "string",
                                                "default": "/",
                                                "required": true
                                            }
                                        }
                                    ]
                                }
                            }
                        ]
                    }
                },
                {
                    "variable": "storage",
                    "label": "Storage",
                    "group": "Storage Configuration",
                    "description": "Storage for the container.",
                    "schema": {
                        "type": "list",
                        "default": [],
                        "items": [
                            {
                                "variable": "storageEntry",
                                "label": "Storage Entry",
                                "schema": {
                                    "type": "dict",
                                    "attrs": [
                                        {
                                            "variable": "type",
                                            "label": "Type",
                                            "description": "ixVolume: Is dataset created automatically by the system.</br>\nHost Path: Is a path that already exists on the system.</br>\nSMB Share: Is a SMB share that is mounted to as a volume.</br>\ntmpfs: Is a temporary directory that will be created on the RAM.</br>\n",
                                            "schema": {
                                                "type": "string",
                                                "required": true,
                                                "default": "ix_volume",
                                                "enum": [
                                                    {
                                                        "value": "host_path",
                                                        "description": "Host Path (Path that already exists on the system)"
                                                    },
                                                    {
                                                        "value": "ix_volume",
                                                        "description": "ixVolume (Dataset created automatically by the system)"
                                                    },
                                                    {
                                                        "value": "cifs",
                                                        "description": "SMB/CIFS Share (Mounts a volume to a SMB share)"
                                                    },
                                                    {
                                                        "value": "tmpfs",
                                                        "description": "Tmpfs (Temporary directory created on the RAM)"
                                                    }
                                                ]
                                            }
                                        },
                                        {
                                            "variable": "read_only",
                                            "label": "Read Only",
                                            "description": "Mount the volume as read only.",
                                            "schema": {
                                                "type": "boolean",
                                                "default": false
                                            }
                                        },
                                        {
                                            "variable": "mount_path",
                                            "label": "Mount Path",
                                            "description": "The path inside the container to mount the storage.",
                                            "schema": {
                                                "type": "path",
                                                "required": true
                                            }
                                        },
                                        {
                                            "variable": "host_path_config",
                                            "label": "Host Path Configuration",
                                            "schema": {
                                                "type": "dict",
                                                "show_if": [
                                                    [
                                                        "type",
                                                        "=",
                                                        "host_path"
                                                    ]
                                                ],
                                                "attrs": [
                                                    {
                                                        "variable": "acl_enable",
                                                        "label": "Enable ACL",
                                                        "description": "Enable ACL for the storage.",
                                                        "schema": {
                                                            "type": "boolean",
                                                            "default": false
                                                        }
                                                    },
                                                    {
                                                        "variable": "acl",
                                                        "label": "ACL Configuration",
                                                        "schema": {
                                                            "type": "dict",
                                                            "show_if": [
                                                                [
                                                                    "acl_enable",
                                                                    "=",
                                                                    true
                                                                ]
                                                            ],
                                                            "attrs": [],
                                                            "$ref": [
                                                                "normalize/acl"
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "path",
                                                        "label": "Host Path",
                                                        "description": "The host path to use for storage.",
                                                        "schema": {
                                                            "type": "hostpath",
                                                            "show_if": [
                                                                [
                                                                    "acl_enable",
                                                                    "=",
                                                                    false
                                                                ]
                                                            ],
                                                            "required": true
                                                        }
                                                    }
                                                ]
                                            }
                                        },
                                        {
                                            "variable": "ix_volume_config",
                                            "label": "ixVolume Configuration",
                                            "description": "The configuration for the ixVolume dataset.",
                                            "schema": {
                                                "type": "dict",
                                                "show_if": [
                                                    [
                                                        "type",
                                                        "=",
                                                        "ix_volume"
                                                    ]
                                                ],
                                                "$ref": [
                                                    "normalize/ix_volume"
                                                ],
                                                "attrs": [
                                                    {
                                                        "variable": "acl_enable",
                                                        "label": "Enable ACL",
                                                        "description": "Enable ACL for the storage.",
                                                        "schema": {
                                                            "type": "boolean",
                                                            "default": false
                                                        }
                                                    },
                                                    {
                                                        "variable": "dataset_name",
                                                        "label": "Dataset Name",
                                                        "description": "The name of the dataset to use for storage.",
                                                        "schema": {
                                                            "type": "string",
                                                            "required": true,
                                                            "default": "storage_entry"
                                                        }
                                                    },
                                                    {
                                                        "variable": "acl_entries",
                                                        "label": "ACL Configuration",
                                                        "schema": {
                                                            "type": "dict",
                                                            "show_if": [
                                                                [
                                                                    "acl_enable",
                                                                    "=",
                                                                    true
                                                                ]
                                                            ],
                                                            "attrs": [],
                                                            "$ref": [
                                                                "normalize/acl"
                                                            ]
                                                        }
                                                    }
                                                ]
                                            }
                                        },
                                        {
                                            "variable": "cifs_config",
                                            "label": "SMB Configuration",
                                            "description": "The configuration for the SMB dataset.",
                                            "schema": {
                                                "type": "dict",
                                                "show_if": [
                                                    [
                                                        "type",
                                                        "=",
                                                        "cifs"
                                                    ]
                                                ],
                                                "attrs": [
                                                    {
                                                        "variable": "server",
                                                        "label": "Server",
                                                        "description": "The server to mount the SMB share.",
                                                        "schema": {
                                                            "type": "string",
                                                            "required": true
                                                        }
                                                    },
                                                    {
                                                        "variable": "path",
                                                        "label": "Path",
                                                        "description": "The path to mount the SMB share.",
                                                        "schema": {
                                                            "type": "string",
                                                            "required": true
                                                        }
                                                    },
                                                    {
                                                        "variable": "username",
                                                        "label": "Username",
                                                        "description": "The username to use for the SMB share.",
                                                        "schema": {
                                                            "type": "string",
                                                            "required": true
                                                        }
                                                    },
                                                    {
                                                        "variable": "password",
                                                        "label": "Password",
                                                        "description": "The password to use for the SMB share.",
                                                        "schema": {
                                                            "type": "string",
                                                            "required": true,
                                                            "private": true
                                                        }
                                                    },
                                                    {
                                                        "variable": "domain",
                                                        "label": "Domain",
                                                        "description": "The domain to use for the SMB share.",
                                                        "schema": {
                                                            "type": "string"
                                                        }
                                                    }
                                                ]
                                            }
                                        },
                                        {
                                            "variable": "tmpfs_config",
                                            "label": "Tmpfs Configuration",
                                            "description": "The configuration for the tmpfs dataset.",
                                            "schema": {
                                                "type": "dict",
                                                "show_if": [
                                                    [
                                                        "type",
                                                        "=",
                                                        "tmpfs"
                                                    ]
                                                ],
                                                "attrs": [
                                                    {
                                                        "variable": "size",
                                                        "label": "Tmpfs Size Limit (in Mi)",
                                                        "description": "The maximum size (in Mi) of the temporary directory.</br>\nFor example: 500\n",
                                                        "schema": {
                                                            "type": "int",
                                                            "default": 500,
                                                            "required": true
                                                        }
                                                    }
                                                ]
                                            }
                                        }
                                    ]
                                }
                            }
                        ]
                    }
                },
                {
                    "variable": "labels",
                    "label": "",
                    "group": "Labels Configuration",
                    "schema": {
                        "type": "list",
                        "default": [],
                        "items": [
                            {
                                "variable": "label",
                                "label": "Label",
                                "schema": {
                                    "type": "dict",
                                    "attrs": [
                                        {
                                            "variable": "key",
                                            "label": "Key",
                                            "schema": {
                                                "type": "string",
                                                "required": true
                                            }
                                        },
                                        {
                                            "variable": "value",
                                            "label": "Value",
                                            "schema": {
                                                "type": "string",
                                                "required": true
                                            }
                                        }
                                    ]
                                }
                            }
                        ]
                    }
                },
                {
                    "variable": "resources",
                    "label": "",
                    "group": "Resources Configuration",
                    "schema": {
                        "type": "dict",
                        "attrs": [
                            {
                                "variable": "enable_resource_limits",
                                "label": "Enable Resource Limits",
                                "group": "Resources Configuration",
                                "description": "Enable resource limits for the container.",
                                "schema": {
                                    "type": "boolean",
                                    "default": false
                                }
                            },
                            {
                                "variable": "limits",
                                "label": "Limits",
                                "schema": {
                                    "type": "dict",
                                    "show_if": [
                                        [
                                            "enable_resource_limits",
                                            "=",
                                            true
                                        ]
                                    ],
                                    "attrs": [
                                        {
                                            "variable": "cpus",
                                            "label": "CPUs",
                                            "description": "CPUs limit for the container.",
                                            "schema": {
                                                "type": "int",
                                                "default": 2,
                                                "required": true
                                            }
                                        },
                                        {
                                            "variable": "memory",
                                            "label": "Memory (in MB)",
                                            "description": "Memory limit for the container.",
                                            "schema": {
                                                "type": "int",
                                                "default": 4096,
                                                "required": true
                                            }
                                        }
                                    ]
                                }
                            },
                            {
                                "variable": "gpus",
                                "group": "Resources Configuration",
                                "label": "GPU Configuration",
                                "schema": {
                                    "type": "dict",
                                    "$ref": [
                                        "definitions/gpu_configuration"
                                    ],
                                    "attrs": []
                                }
                            }
                        ]
                    }
                }
            ]
        },
        "readme": "<h1>iX App</h1> <p>iX App is designed to let user deploy a docker image in TrueNAS SCALE with a simple wizard.</p>",
        "changelog": null,
        "chart_metadata": {
            "annotations": {
                "min_scale_version": "24.10.2.2"
            },
            "app_version": "1.2.5",
            "capabilities": [],
            "categories": [
                "custom"
            ],
            "date_added": "2024-09-10",
            "description": "An application for deploying simple containers.",
            "home": "https://www.truenas.com/",
            "host_mounts": [],
            "icon": "https://media.sys.truenas.net/apps/ix-app/icons/icon.webp",
            "keywords": [],
            "lib_version": "2.1.49",
            "lib_version_hash": "e71e6b0122c9446fa5ea6fb07e7eb01b11fb42d549a19845426bbd7e21a42634",
            "maintainers": [
                {
                    "email": "dev@ixsystems.com",
                    "name": "truenas",
                    "url": "https://www.truenas.com/"
                }
            ],
            "name": "ix-app",
            "run_as_context": [],
            "screenshots": [],
            "sources": [],
            "title": "iX App",
            "train": "stable",
            "version": "1.2.8"
        }
    }
}


Resources

Read full post gdoc_arrow_right_alt

Dashy

Dashy
Get Started with Apps!
Requires TrueNAS: 24.10.2.2 or newer
App Version: 3.1.0 (Changelog)
Keywords: dashboard
Train: Community
Home Page: https://dashy.to/
Dashy Details
Added: 2024-08-01
Last Updated: 2025-09-02

Dashy is a self-hostable personal dashboard built for you.

Run as Context
  • Dashy runs as root user.
    Group: 0 / root
    User: 0 / root

Screenshots
Screenshot 1 Screenshot 2

App Metadata (Raw File)
{
    "1.2.6": {
        "healthy": true,
        "supported": true,
        "healthy_error": null,
        "location": "/__w/apps/apps/trains/community/dashy/1.2.6",
        "last_update": "2025-09-02 11:33:24",
        "required_features": [],
        "human_version": "3.1.0_1.2.6",
        "version": "1.2.6",
        "app_metadata": {
            "annotations": {
                "min_scale_version": "24.10.2.2"
            },
            "app_version": "3.1.0",
            "capabilities": [],
            "categories": [
                "productivity"
            ],
            "changelog_url": "https://github.com/Lissy93/dashy/releases",
            "date_added": "2024-08-01",
            "description": "Dashy is a self-hostable personal dashboard built for you.",
            "home": "https://dashy.to/",
            "host_mounts": [],
            "icon": "https://media.sys.truenas.net/apps/dashy/icons/icon.png",
            "keywords": [
                "dashboard"
            ],
            "lib_version": "2.1.49",
            "lib_version_hash": "e71e6b0122c9446fa5ea6fb07e7eb01b11fb42d549a19845426bbd7e21a42634",
            "maintainers": [
                {
                    "email": "dev@ixsystems.com",
                    "name": "truenas",
                    "url": "https://www.truenas.com/"
                }
            ],
            "name": "dashy",
            "run_as_context": [
                {
                    "description": "Dashy runs as root user.",
                    "gid": 0,
                    "group_name": "root",
                    "uid": 0,
                    "user_name": "root"
                }
            ],
            "screenshots": [
                "https://media.sys.truenas.net/apps/dashy/screenshots/screenshot1.gif",
                "https://media.sys.truenas.net/apps/dashy/screenshots/screenshot2.gif"
            ],
            "sources": [
                "https://dashy.to/",
                "https://github.com/lissy93/dashy"
            ],
            "title": "Dashy",
            "train": "community",
            "version": "1.2.6"
        },
        "schema": {
            "groups": [
                {
                    "name": "Dashy Configuration",
                    "description": "Configure Dashy"
                },
                {
                    "name": "Network Configuration",
                    "description": "Configure Network for Dashy"
                },
                {
                    "name": "Storage Configuration",
                    "description": "Configure Storage for Dashy"
                },
                {
                    "name": "Labels Configuration",
                    "description": "Configure Labels for Dashy"
                },
                {
                    "name": "Resources Configuration",
                    "description": "Configure Resources for Dashy"
                }
            ],
            "questions": [
                {
                    "variable": "dashy",
                    "label": "",
                    "group": "Dashy Configuration",
                    "schema": {
                        "type": "dict",
                        "attrs": [
                            {
                                "variable": "additional_envs",
                                "label": "Additional Environment Variables",
                                "schema": {
                                    "type": "list",
                                    "default": [],
                                    "items": [
                                        {
                                            "variable": "env",
                                            "label": "Environment Variable",
                                            "schema": {
                                                "type": "dict",
                                                "attrs": [
                                                    {
                                                        "variable": "name",
                                                        "label": "Name",
                                                        "schema": {
                                                            "type": "string",
                                                            "required": true
                                                        }
                                                    },
                                                    {
                                                        "variable": "value",
                                                        "label": "Value",
                                                        "schema": {
                                                            "type": "string"
                                                        }
                                                    }
                                                ]
                                            }
                                        }
                                    ]
                                }
                            }
                        ]
                    }
                },
                {
                    "variable": "network",
                    "label": "",
                    "group": "Network Configuration",
                    "schema": {
                        "type": "dict",
                        "attrs": [
                            {
                                "variable": "web_port",
                                "label": "WebUI Port",
                                "schema": {
                                    "type": "dict",
                                    "attrs": [
                                        {
                                            "variable": "bind_mode",
                                            "label": "Port Bind Mode",
                                            "description": "The port bind mode.</br>\n- Publish: The port will be published on the host for external access.</br>\n- Expose: The port will be exposed for inter-container communication.</br>\n- None: The port will not be exposed or published.</br>\nNote: If the Dockerfile defines an EXPOSE directive,\nthe port will still be exposed for inter-container communication regardless of this setting.\n",
                                            "schema": {
                                                "type": "string",
                                                "default": "published",
                                                "enum": [
                                                    {
                                                        "value": "published",
                                                        "description": "Publish port on the host for external access"
                                                    },
                                                    {
                                                        "value": "exposed",
                                                        "description": "Expose port for inter-container communication"
                                                    },
                                                    {
                                                        "value": "",
                                                        "description": "None"
                                                    }
                                                ]
                                            }
                                        },
                                        {
                                            "variable": "port_number",
                                            "label": "Port Number",
                                            "schema": {
                                                "type": "int",
                                                "default": 31003,
                                                "min": 1,
                                                "max": 65535,
                                                "required": true
                                            }
                                        },
                                        {
                                            "variable": "host_ips",
                                            "label": "Host IPs",
                                            "description": "IPs on the host to bind this port",
                                            "schema": {
                                                "type": "list",
                                                "show_if": [
                                                    [
                                                        "bind_mode",
                                                        "=",
                                                        "published"
                                                    ]
                                                ],
                                                "default": [],
                                                "items": [
                                                    {
                                                        "variable": "host_ip",
                                                        "label": "Host IP",
                                                        "schema": {
                                                            "type": "string",
                                                            "required": true,
                                                            "$ref": [
                                                                "definitions/node_bind_ip"
                                                            ]
                                                        }
                                                    }
                                                ]
                                            }
                                        }
                                    ]
                                }
                            },
                            {
                                "variable": "host_network",
                                "label": "Host Network",
                                "description": "Bind to the host network. It's recommended to keep this disabled.\n",
                                "schema": {
                                    "type": "boolean",
                                    "default": false
                                }
                            },
                            {
                                "variable": "certificate_id",
                                "label": "Certificate ID",
                                "description": "The certificate ID to use for HTTPS.",
                                "schema": {
                                    "type": "int",
                                    "null": true,
                                    "$ref": [
                                        "definitions/certificate"
                                    ]
                                }
                            }
                        ]
                    }
                },
                {
                    "variable": "storage",
                    "label": "",
                    "group": "Storage Configuration",
                    "schema": {
                        "type": "dict",
                        "attrs": [
                            {
                                "variable": "config",
                                "label": "Dashy Config Storage",
                                "description": "The path to store Dashy Config.",
                                "schema": {
                                    "type": "dict",
                                    "attrs": [
                                        {
                                            "variable": "type",
                                            "label": "Type",
                                            "description": "ixVolume: Is dataset created automatically by the system.</br>\nHost Path: Is a path that already exists on the system.\n",
                                            "schema": {
                                                "type": "string",
                                                "required": true,
                                                "default": "ix_volume",
                                                "enum": [
                                                    {
                                                        "value": "host_path",
                                                        "description": "Host Path (Path that already exists on the system)"
                                                    },
                                                    {
                                                        "value": "ix_volume",
                                                        "description": "ixVolume (Dataset created automatically by the system)"
                                                    }
                                                ]
                                            }
                                        },
                                        {
                                            "variable": "ix_volume_config",
                                            "label": "ixVolume Configuration",
                                            "description": "The configuration for the ixVolume dataset.",
                                            "schema": {
                                                "type": "dict",
                                                "show_if": [
                                                    [
                                                        "type",
                                                        "=",
                                                        "ix_volume"
                                                    ]
                                                ],
                                                "$ref": [
                                                    "normalize/ix_volume"
                                                ],
                                                "attrs": [
                                                    {
                                                        "variable": "acl_enable",
                                                        "label": "Enable ACL",
                                                        "description": "Enable ACL for the storage.",
                                                        "schema": {
                                                            "type": "boolean",
                                                            "default": false
                                                        }
                                                    },
                                                    {
                                                        "variable": "dataset_name",
                                                        "label": "Dataset Name",
                                                        "description": "The name of the dataset to use for storage.",
                                                        "schema": {
                                                            "type": "string",
                                                            "required": true,
                                                            "hidden": true,
                                                            "default": "config"
                                                        }
                                                    },
                                                    {
                                                        "variable": "acl_entries",
                                                        "label": "ACL Configuration",
                                                        "schema": {
                                                            "type": "dict",
                                                            "show_if": [
                                                                [
                                                                    "acl_enable",
                                                                    "=",
                                                                    true
                                                                ]
                                                            ],
                                                            "attrs": []
                                                        }
                                                    }
                                                ]
                                            }
                                        },
                                        {
                                            "variable": "host_path_config",
                                            "label": "Host Path Configuration",
                                            "schema": {
                                                "type": "dict",
                                                "show_if": [
                                                    [
                                                        "type",
                                                        "=",
                                                        "host_path"
                                                    ]
                                                ],
                                                "attrs": [
                                                    {
                                                        "variable": "acl_enable",
                                                        "label": "Enable ACL",
                                                        "description": "Enable ACL for the storage.",
                                                        "schema": {
                                                            "type": "boolean",
                                                            "default": false
                                                        }
                                                    },
                                                    {
                                                        "variable": "acl",
                                                        "label": "ACL Configuration",
                                                        "schema": {
                                                            "type": "dict",
                                                            "show_if": [
                                                                [
                                                                    "acl_enable",
                                                                    "=",
                                                                    true
                                                                ]
                                                            ],
                                                            "attrs": [],
                                                            "$ref": [
                                                                "normalize/acl"
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "path",
                                                        "label": "Host Path",
                                                        "description": "The host path to use for storage.",
                                                        "schema": {
                                                            "type": "hostpath",
                                                            "show_if": [
                                                                [
                                                                    "acl_enable",
                                                                    "=",
                                                                    false
                                                                ]
                                                            ],
                                                            "required": true
                                                        }
                                                    }
                                                ]
                                            }
                                        }
                                    ]
                                }
                            },
                            {
                                "variable": "additional_storage",
                                "label": "Additional Storage",
                                "schema": {
                                    "type": "list",
                                    "default": [],
                                    "items": [
                                        {
                                            "variable": "storageEntry",
                                            "label": "Storage Entry",
                                            "schema": {
                                                "type": "dict",
                                                "attrs": [
                                                    {
                                                        "variable": "type",
                                                        "label": "Type",
                                                        "description": "ixVolume: Is dataset created automatically by the system.</br>\nHost Path: Is a path that already exists on the system.</br>\nSMB Share: Is a SMB share that is mounted to as a volume.\n",
                                                        "schema": {
                                                            "type": "string",
                                                            "required": true,
                                                            "default": "ix_volume",
                                                            "enum": [
                                                                {
                                                                    "value": "host_path",
                                                                    "description": "Host Path (Path that already exists on the system)"
                                                                },
                                                                {
                                                                    "value": "ix_volume",
                                                                    "description": "ixVolume (Dataset created automatically by the system)"
                                                                },
                                                                {
                                                                    "value": "cifs",
                                                                    "description": "SMB/CIFS Share (Mounts a volume to a SMB share)"
                                                                }
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "read_only",
                                                        "label": "Read Only",
                                                        "description": "Mount the volume as read only.",
                                                        "schema": {
                                                            "type": "boolean",
                                                            "default": false
                                                        }
                                                    },
                                                    {
                                                        "variable": "mount_path",
                                                        "label": "Mount Path",
                                                        "description": "The path inside the container to mount the storage.",
                                                        "schema": {
                                                            "type": "path",
                                                            "required": true
                                                        }
                                                    },
                                                    {
                                                        "variable": "host_path_config",
                                                        "label": "Host Path Configuration",
                                                        "schema": {
                                                            "type": "dict",
                                                            "show_if": [
                                                                [
                                                                    "type",
                                                                    "=",
                                                                    "host_path"
                                                                ]
                                                            ],
                                                            "attrs": [
                                                                {
                                                                    "variable": "acl_enable",
                                                                    "label": "Enable ACL",
                                                                    "description": "Enable ACL for the storage.",
                                                                    "schema": {
                                                                        "type": "boolean",
                                                                        "default": false
                                                                    }
                                                                },
                                                                {
                                                                    "variable": "acl",
                                                                    "label": "ACL Configuration",
                                                                    "schema": {
                                                                        "type": "dict",
                                                                        "show_if": [
                                                                            [
                                                                                "acl_enable",
                                                                                "=",
                                                                                true
                                                                            ]
                                                                        ],
                                                                        "attrs": [],
                                                                        "$ref": [
                                                                            "normalize/acl"
                                                                        ]
                                                                    }
                                                                },
                                                                {
                                                                    "variable": "path",
                                                                    "label": "Host Path",
                                                                    "description": "The host path to use for storage.",
                                                                    "schema": {
                                                                        "type": "hostpath",
                                                                        "show_if": [
                                                                            [
                                                                                "acl_enable",
                                                                                "=",
                                                                                false
                                                                            ]
                                                                        ],
                                                                        "required": true
                                                                    }
                                                                }
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "ix_volume_config",
                                                        "label": "ixVolume Configuration",
                                                        "description": "The configuration for the ixVolume dataset.",
                                                        "schema": {
                                                            "type": "dict",
                                                            "show_if": [
                                                                [
                                                                    "type",
                                                                    "=",
                                                                    "ix_volume"
                                                                ]
                                                            ],
                                                            "$ref": [
                                                                "normalize/ix_volume"
                                                            ],
                                                            "attrs": [
                                                                {
                                                                    "variable": "acl_enable",
                                                                    "label": "Enable ACL",
                                                                    "description": "Enable ACL for the storage.",
                                                                    "schema": {
                                                                        "type": "boolean",
                                                                        "default": false
                                                                    }
                                                                },
                                                                {
                                                                    "variable": "dataset_name",
                                                                    "label": "Dataset Name",
                                                                    "description": "The name of the dataset to use for storage.",
                                                                    "schema": {
                                                                        "type": "string",
                                                                        "required": true,
                                                                        "default": "storage_entry"
                                                                    }
                                                                },
                                                                {
                                                                    "variable": "acl_entries",
                                                                    "label": "ACL Configuration",
                                                                    "schema": {
                                                                        "type": "dict",
                                                                        "show_if": [
                                                                            [
                                                                                "acl_enable",
                                                                                "=",
                                                                                true
                                                                            ]
                                                                        ],
                                                                        "attrs": []
                                                                    }
                                                                }
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "cifs_config",
                                                        "label": "SMB Configuration",
                                                        "description": "The configuration for the SMB dataset.",
                                                        "schema": {
                                                            "type": "dict",
                                                            "show_if": [
                                                                [
                                                                    "type",
                                                                    "=",
                                                                    "cifs"
                                                                ]
                                                            ],
                                                            "attrs": [
                                                                {
                                                                    "variable": "server",
                                                                    "label": "Server",
                                                                    "description": "The server to mount the SMB share.",
                                                                    "schema": {
                                                                        "type": "string",
                                                                        "required": true
                                                                    }
                                                                },
                                                                {
                                                                    "variable": "path",
                                                                    "label": "Path",
                                                                    "description": "The path to mount the SMB share.",
                                                                    "schema": {
                                                                        "type": "string",
                                                                        "required": true
                                                                    }
                                                                },
                                                                {
                                                                    "variable": "username",
                                                                    "label": "Username",
                                                                    "description": "The username to use for the SMB share.",
                                                                    "schema": {
                                                                        "type": "string",
                                                                        "required": true
                                                                    }
                                                                },
                                                                {
                                                                    "variable": "password",
                                                                    "label": "Password",
                                                                    "description": "The password to use for the SMB share.",
                                                                    "schema": {
                                                                        "type": "string",
                                                                        "required": true,
                                                                        "private": true
                                                                    }
                                                                },
                                                                {
                                                                    "variable": "domain",
                                                                    "label": "Domain",
                                                                    "description": "The domain to use for the SMB share.",
                                                                    "schema": {
                                                                        "type": "string"
                                                                    }
                                                                }
                                                            ]
                                                        }
                                                    }
                                                ]
                                            }
                                        }
                                    ]
                                }
                            }
                        ]
                    }
                },
                {
                    "variable": "labels",
                    "label": "",
                    "group": "Labels Configuration",
                    "schema": {
                        "type": "list",
                        "default": [],
                        "items": [
                            {
                                "variable": "label",
                                "label": "Label",
                                "schema": {
                                    "type": "dict",
                                    "attrs": [
                                        {
                                            "variable": "key",
                                            "label": "Key",
                                            "schema": {
                                                "type": "string",
                                                "required": true
                                            }
                                        },
                                        {
                                            "variable": "value",
                                            "label": "Value",
                                            "schema": {
                                                "type": "string",
                                                "required": true
                                            }
                                        },
                                        {
                                            "variable": "containers",
                                            "label": "Containers",
                                            "description": "Containers where the label should be applied",
                                            "schema": {
                                                "type": "list",
                                                "items": [
                                                    {
                                                        "variable": "container",
                                                        "label": "Container",
                                                        "schema": {
                                                            "type": "string",
                                                            "required": true,
                                                            "enum": [
                                                                {
                                                                    "value": "dashy",
                                                                    "description": "dashy"
                                                                }
                                                            ]
                                                        }
                                                    }
                                                ]
                                            }
                                        }
                                    ]
                                }
                            }
                        ]
                    }
                },
                {
                    "variable": "resources",
                    "label": "",
                    "group": "Resources Configuration",
                    "schema": {
                        "type": "dict",
                        "attrs": [
                            {
                                "variable": "limits",
                                "label": "Limits",
                                "schema": {
                                    "type": "dict",
                                    "attrs": [
                                        {
                                            "variable": "cpus",
                                            "label": "CPUs",
                                            "description": "CPUs limit for Dashy.",
                                            "schema": {
                                                "type": "int",
                                                "default": 2,
                                                "required": true
                                            }
                                        },
                                        {
                                            "variable": "memory",
                                            "label": "Memory (in MB)",
                                            "description": "Memory limit for Dashy.",
                                            "schema": {
                                                "type": "int",
                                                "default": 4096,
                                                "required": true
                                            }
                                        }
                                    ]
                                }
                            }
                        ]
                    }
                }
            ]
        },
        "readme": "<h1>Dashy</h1> <p><a href=\"https://dashy.to/\">Dashy</a> is a self-hostable personal dashboard built for you.</p>",
        "changelog": null,
        "chart_metadata": {
            "annotations": {
                "min_scale_version": "24.10.2.2"
            },
            "app_version": "3.1.0",
            "capabilities": [],
            "categories": [
                "productivity"
            ],
            "changelog_url": "https://github.com/Lissy93/dashy/releases",
            "date_added": "2024-08-01",
            "description": "Dashy is a self-hostable personal dashboard built for you.",
            "home": "https://dashy.to/",
            "host_mounts": [],
            "icon": "https://media.sys.truenas.net/apps/dashy/icons/icon.png",
            "keywords": [
                "dashboard"
            ],
            "lib_version": "2.1.49",
            "lib_version_hash": "e71e6b0122c9446fa5ea6fb07e7eb01b11fb42d549a19845426bbd7e21a42634",
            "maintainers": [
                {
                    "email": "dev@ixsystems.com",
                    "name": "truenas",
                    "url": "https://www.truenas.com/"
                }
            ],
            "name": "dashy",
            "run_as_context": [
                {
                    "description": "Dashy runs as root user.",
                    "gid": 0,
                    "group_name": "root",
                    "uid": 0,
                    "user_name": "root"
                }
            ],
            "screenshots": [
                "https://media.sys.truenas.net/apps/dashy/screenshots/screenshot1.gif",
                "https://media.sys.truenas.net/apps/dashy/screenshots/screenshot2.gif"
            ],
            "sources": [
                "https://dashy.to/",
                "https://github.com/lissy93/dashy"
            ],
            "title": "Dashy",
            "train": "community",
            "version": "1.2.6"
        }
    }
}


Resources

Read full post gdoc_arrow_right_alt

DDNS-Updater

DDNS Updater
Get Started with Apps!
Requires TrueNAS: 24.10.2.2 or newer
App Version: v2.9.0 (Changelog)
Keywords: ddns-updater, ddns
Train: Community
Home Page: https://github.com/qdm12/ddns-updater
DDNS Updater Details
Added: 2024-08-01
Last Updated: 2025-09-02

Lightweight universal DDNS Updater with web UI

Run as Context
  • DDNS Updater runs as any non-root user.
    Group: 568 / ddns-updater
    User: 568 / ddns-updater

Screenshots
Screenshot 1

App Metadata (Raw File)
{
    "1.2.8": {
        "healthy": true,
        "supported": true,
        "healthy_error": null,
        "location": "/__w/apps/apps/trains/community/ddns-updater/1.2.8",
        "last_update": "2025-09-02 11:33:24",
        "required_features": [],
        "human_version": "v2.9.0_1.2.8",
        "version": "1.2.8",
        "app_metadata": {
            "annotations": {
                "min_scale_version": "24.10.2.2"
            },
            "app_version": "v2.9.0",
            "capabilities": [],
            "categories": [
                "networking"
            ],
            "changelog_url": "https://github.com/qdm12/ddns-updater/releases",
            "date_added": "2024-08-01",
            "description": "Lightweight universal DDNS Updater with web UI",
            "home": "https://github.com/qdm12/ddns-updater",
            "host_mounts": [],
            "icon": "https://media.sys.truenas.net/apps/ddns-updater/icons/icon.svg",
            "keywords": [
                "ddns-updater",
                "ddns"
            ],
            "lib_version": "2.1.49",
            "lib_version_hash": "e71e6b0122c9446fa5ea6fb07e7eb01b11fb42d549a19845426bbd7e21a42634",
            "maintainers": [
                {
                    "email": "dev@ixsystems.com",
                    "name": "truenas",
                    "url": "https://www.truenas.com/"
                }
            ],
            "name": "ddns-updater",
            "run_as_context": [
                {
                    "description": "DDNS Updater runs as any non-root user.",
                    "gid": 568,
                    "group_name": "ddns-updater",
                    "uid": 568,
                    "user_name": "ddns-updater"
                }
            ],
            "screenshots": [
                "https://media.sys.truenas.net/apps/ddns-updater/screenshots/screenshot1.png"
            ],
            "sources": [
                "https://github.com/qdm12/ddns-updater",
                "https://hub.docker.com/r/qmcgaw/ddns-updater"
            ],
            "title": "DDNS Updater",
            "train": "community",
            "version": "1.2.8"
        },
        "schema": {
            "groups": [
                {
                    "name": "DDNS Updater Configuration",
                    "description": "Configure DDNS Updater"
                },
                {
                    "name": "User and Group Configuration",
                    "description": "Configure User and Group for DDNS Updater"
                },
                {
                    "name": "Network Configuration",
                    "description": "Configure Network for DDNS Updater"
                },
                {
                    "name": "Storage Configuration",
                    "description": "Configure Storage for DDNS Updater"
                },
                {
                    "name": "Labels Configuration",
                    "description": "Configure Labels for DDNS Updater"
                },
                {
                    "name": "Resources Configuration",
                    "description": "Configure Resources for DDNS Updater"
                }
            ],
            "questions": [
                {
                    "variable": "TZ",
                    "group": "DDNS Updater Configuration",
                    "label": "Timezone",
                    "schema": {
                        "type": "string",
                        "default": "Etc/UTC",
                        "required": true,
                        "$ref": [
                            "definitions/timezone"
                        ]
                    }
                },
                {
                    "variable": "ddns",
                    "label": "",
                    "group": "DDNS Updater Configuration",
                    "schema": {
                        "type": "dict",
                        "attrs": [
                            {
                                "variable": "period",
                                "label": "Update Period",
                                "description": "Default period of IP address check, following this format:</br>\n5m = 5 minutes</br>\n1h = 1 hour</br>\n1h30m = 1 hour 30 minutes\n",
                                "schema": {
                                    "type": "string",
                                    "default": "5m",
                                    "required": true
                                }
                            },
                            {
                                "variable": "update_cooldown_period",
                                "label": "Update Cooldown Period",
                                "description": "Duration to cooldown between updates for each record.\nThis is useful to avoid being rate limited or banned,\nfollowing this format:</br>\n5m = 5 minutes</br>\n1h = 1 hour</br>\n1h30m = 1 hour 30 minutes\n",
                                "schema": {
                                    "type": "string",
                                    "default": "5m",
                                    "required": true
                                }
                            },
                            {
                                "variable": "backup_period",
                                "label": "Backup Period",
                                "description": "Set to a period to enable zip backups of data/config.json and\ndata/updates.json in a zip file following this format:</br>\n0 = disabled</br>\n10h = 10 hours</br>\n20h30m = 20 hours 30 minutes\n",
                                "schema": {
                                    "type": "string",
                                    "default": "24h",
                                    "required": true
                                }
                            },
                            {
                                "variable": "http_timeout",
                                "label": "HTTP Timeout",
                                "description": "Default timeout for HTTP requests, following this format:</br>\n10s = 10 seconds</br>\n1m = 1 minute</br>\n1m30s = 1 minute 30 seconds\n",
                                "schema": {
                                    "type": "string",
                                    "default": "10s",
                                    "required": true
                                }
                            },
                            {
                                "variable": "public_dns_timeout",
                                "label": "Public IP DNS Timeout",
                                "description": "Public IP DNS query timeout, following this format:</br>\n3s = 3 seconds</br>\n1m = 1 minute</br>\n1m30s = 1 minute 30 seconds\n",
                                "schema": {
                                    "type": "string",
                                    "default": "3s",
                                    "required": true
                                }
                            },
                            {
                                "variable": "shoutrrr_addresses",
                                "label": "Shoutrrr Addresses",
                                "description": "List of Shoutrrr addresses to send notifications to.</br>\nSee https://containrrr.dev/shoutrrr/0.7/services/overview/ for more information.\n",
                                "schema": {
                                    "type": "list",
                                    "default": [],
                                    "items": [
                                        {
                                            "variable": "address",
                                            "label": "Address",
                                            "schema": {
                                                "type": "string",
                                                "required": true
                                            }
                                        }
                                    ]
                                }
                            },
                            {
                                "variable": "public_ip_dns_providers",
                                "label": "Public IP DNS Providers",
                                "description": "Providers to obtain the public IP address (IPv4 and/or IPv6)",
                                "schema": {
                                    "type": "list",
                                    "min": 1,
                                    "required": true,
                                    "default": [
                                        {
                                            "provider": "all"
                                        }
                                    ],
                                    "items": [
                                        {
                                            "variable": "publicIpDnsProviderEntry",
                                            "label": "Public IP DNS Provider Entry",
                                            "schema": {
                                                "type": "dict",
                                                "attrs": [
                                                    {
                                                        "variable": "provider",
                                                        "label": "Provider",
                                                        "schema": {
                                                            "type": "string",
                                                            "required": true,
                                                            "enum": [
                                                                {
                                                                    "value": "all",
                                                                    "description": "All providers"
                                                                },
                                                                {
                                                                    "value": "opendns",
                                                                    "description": "opendns"
                                                                },
                                                                {
                                                                    "value": "cloudflare",
                                                                    "description": "Cloudflare"
                                                                }
                                                            ]
                                                        }
                                                    }
                                                ]
                                            }
                                        }
                                    ]
                                }
                            },
                            {
                                "variable": "public_ip_http_providers",
                                "label": "Public IP HTTP Providers",
                                "description": "Providers to obtain the public IP address (IPv4 and/or IPv6)",
                                "schema": {
                                    "type": "list",
                                    "min": 1,
                                    "required": true,
                                    "default": [
                                        {
                                            "provider": "all",
                                            "custom": ""
                                        }
                                    ],
                                    "items": [
                                        {
                                            "variable": "public_ip_http_provider_entry",
                                            "label": "Public IP HTTP Provider Entry",
                                            "schema": {
                                                "type": "dict",
                                                "attrs": [
                                                    {
                                                        "variable": "provider",
                                                        "label": "Provider",
                                                        "schema": {
                                                            "type": "string",
                                                            "required": true,
                                                            "enum": [
                                                                {
                                                                    "value": "all",
                                                                    "description": "All providers"
                                                                },
                                                                {
                                                                    "value": "custom",
                                                                    "description": "Custom Provider"
                                                                },
                                                                {
                                                                    "value": "ipify",
                                                                    "description": "ipify"
                                                                },
                                                                {
                                                                    "value": "ifconfig",
                                                                    "description": "ifconfig"
                                                                },
                                                                {
                                                                    "value": "ipinfo",
                                                                    "description": "ipinfo"
                                                                },
                                                                {
                                                                    "value": "spdyn",
                                                                    "description": "spdyn"
                                                                },
                                                                {
                                                                    "value": "ipleak",
                                                                    "description": "ipleak"
                                                                },
                                                                {
                                                                    "value": "icanhazip",
                                                                    "description": "icanhazip"
                                                                },
                                                                {
                                                                    "value": "ident",
                                                                    "description": "ident"
                                                                },
                                                                {
                                                                    "value": "nnev",
                                                                    "description": "nnev"
                                                                },
                                                                {
                                                                    "value": "wtfismyip",
                                                                    "description": "wtfismyip"
                                                                },
                                                                {
                                                                    "value": "seeip",
                                                                    "description": "seeip"
                                                                },
                                                                {
                                                                    "value": "changeip",
                                                                    "description": "changeip"
                                                                }
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "custom",
                                                        "label": "Custom Value",
                                                        "schema": {
                                                            "type": "string",
                                                            "show_if": [
                                                                [
                                                                    "provider",
                                                                    "=",
                                                                    "custom"
                                                                ]
                                                            ],
                                                            "default": "",
                                                            "required": true
                                                        }
                                                    }
                                                ]
                                            }
                                        }
                                    ]
                                }
                            },
                            {
                                "variable": "public_ipv4_http_providers",
                                "label": "Public IPv4 HTTP Providers",
                                "description": "Providers to obtain the public IPv4 address",
                                "schema": {
                                    "type": "list",
                                    "min": 1,
                                    "required": true,
                                    "default": [
                                        {
                                            "provider": "all",
                                            "custom": ""
                                        }
                                    ],
                                    "items": [
                                        {
                                            "variable": "public_ipv4_http_provider_entry",
                                            "label": "Public IPv4 HTTP Provider Entry",
                                            "schema": {
                                                "type": "dict",
                                                "attrs": [
                                                    {
                                                        "variable": "provider",
                                                        "label": "Provider",
                                                        "schema": {
                                                            "type": "string",
                                                            "required": true,
                                                            "enum": [
                                                                {
                                                                    "value": "all",
                                                                    "description": "All providers"
                                                                },
                                                                {
                                                                    "value": "custom",
                                                                    "description": "Custom Provider"
                                                                },
                                                                {
                                                                    "value": "ipleak",
                                                                    "description": "ipleak"
                                                                },
                                                                {
                                                                    "value": "ipify",
                                                                    "description": "ipify"
                                                                },
                                                                {
                                                                    "value": "icanhazip",
                                                                    "description": "icanhazip"
                                                                },
                                                                {
                                                                    "value": "ident",
                                                                    "description": "ident"
                                                                },
                                                                {
                                                                    "value": "nnev",
                                                                    "description": "nnev"
                                                                },
                                                                {
                                                                    "value": "wtfismyip",
                                                                    "description": "wtfismyip"
                                                                },
                                                                {
                                                                    "value": "seeip",
                                                                    "description": "seeip"
                                                                }
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "custom",
                                                        "label": "Custom Value",
                                                        "schema": {
                                                            "type": "string",
                                                            "show_if": [
                                                                [
                                                                    "provider",
                                                                    "=",
                                                                    "custom"
                                                                ]
                                                            ],
                                                            "default": "",
                                                            "required": true
                                                        }
                                                    }
                                                ]
                                            }
                                        }
                                    ]
                                }
                            },
                            {
                                "variable": "public_ipv6_http_providers",
                                "label": "Public IPv6 HTTP Providers",
                                "description": "Providers to obtain the public IPv6 address",
                                "schema": {
                                    "type": "list",
                                    "min": 1,
                                    "required": true,
                                    "default": [
                                        {
                                            "provider": "all",
                                            "custom": ""
                                        }
                                    ],
                                    "items": [
                                        {
                                            "variable": "public_ipv6_http_provider_entry",
                                            "label": "Public IPv6 HTTP Provider Entry",
                                            "schema": {
                                                "type": "dict",
                                                "attrs": [
                                                    {
                                                        "variable": "provider",
                                                        "label": "Provider",
                                                        "schema": {
                                                            "type": "string",
                                                            "required": true,
                                                            "enum": [
                                                                {
                                                                    "value": "all",
                                                                    "description": "All providers"
                                                                },
                                                                {
                                                                    "value": "custom",
                                                                    "description": "Custom Provider"
                                                                },
                                                                {
                                                                    "value": "ipleak",
                                                                    "description": "ipleak"
                                                                },
                                                                {
                                                                    "value": "ipify",
                                                                    "description": "ipify"
                                                                },
                                                                {
                                                                    "value": "icanhazip",
                                                                    "description": "icanhazip"
                                                                },
                                                                {
                                                                    "value": "ident",
                                                                    "description": "ident"
                                                                },
                                                                {
                                                                    "value": "nnev",
                                                                    "description": "nnev"
                                                                },
                                                                {
                                                                    "value": "wtfismyip",
                                                                    "description": "wtfismyip"
                                                                },
                                                                {
                                                                    "value": "seeip",
                                                                    "description": "seeip"
                                                                }
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "custom",
                                                        "label": "Custom Value",
                                                        "schema": {
                                                            "type": "string",
                                                            "show_if": [
                                                                [
                                                                    "provider",
                                                                    "=",
                                                                    "custom"
                                                                ]
                                                            ],
                                                            "default": "",
                                                            "required": true
                                                        }
                                                    }
                                                ]
                                            }
                                        }
                                    ]
                                }
                            },
                            {
                                "variable": "public_ip_fetchers",
                                "label": "Public IP Fetchers",
                                "description": "Fetcher types to obtain the public IP address",
                                "schema": {
                                    "type": "list",
                                    "min": 1,
                                    "required": true,
                                    "default": [
                                        {
                                            "provider": "all"
                                        }
                                    ],
                                    "items": [
                                        {
                                            "variable": "public_ip_fetcher_entry",
                                            "label": "Public IP Fetcher Entry",
                                            "schema": {
                                                "type": "dict",
                                                "attrs": [
                                                    {
                                                        "variable": "provider",
                                                        "label": "Fetcher",
                                                        "schema": {
                                                            "type": "string",
                                                            "required": true,
                                                            "enum": [
                                                                {
                                                                    "value": "all",
                                                                    "description": "All providers"
                                                                },
                                                                {
                                                                    "value": "http",
                                                                    "description": "HTTP"
                                                                },
                                                                {
                                                                    "value": "dns",
                                                                    "description": "DNS"
                                                                }
                                                            ]
                                                        }
                                                    }
                                                ]
                                            }
                                        }
                                    ]
                                }
                            },
                            {
                                "variable": "config",
                                "label": "Config",
                                "description": "Configure DDNS Updater.",
                                "schema": {
                                    "type": "list",
                                    "items": [
                                        {
                                            "variable": "config_item",
                                            "label": "Config Item",
                                            "schema": {
                                                "type": "dict",
                                                "attrs": [
                                                    {
                                                        "variable": "provider",
                                                        "label": "Provider",
                                                        "description": "The provider to use for DDNS Updater.",
                                                        "schema": {
                                                            "type": "string",
                                                            "required": true,
                                                            "enum": [
                                                                {
                                                                    "value": "aliyun",
                                                                    "description": "Aliyun"
                                                                },
                                                                {
                                                                    "value": "allinkl",
                                                                    "description": "All-Inkl"
                                                                },
                                                                {
                                                                    "value": "changeip",
                                                                    "description": "ChangeIP"
                                                                },
                                                                {
                                                                    "value": "cloudflare",
                                                                    "description": "Cloudflare"
                                                                },
                                                                {
                                                                    "value": "dd24",
                                                                    "description": "DD24"
                                                                },
                                                                {
                                                                    "value": "ddnss",
                                                                    "description": "DDNSS"
                                                                },
                                                                {
                                                                    "value": "desec",
                                                                    "description": "Desec"
                                                                },
                                                                {
                                                                    "value": "digitalocean",
                                                                    "description": "Digital Ocean"
                                                                },
                                                                {
                                                                    "value": "dnsomatic",
                                                                    "description": "DNS O Matic"
                                                                },
                                                                {
                                                                    "value": "dnspod",
                                                                    "description": "DNS Pod"
                                                                },
                                                                {
                                                                    "value": "domeneshop",
                                                                    "description": "Domeneshop"
                                                                },
                                                                {
                                                                    "value": "dondominio",
                                                                    "description": "Don Dominio"
                                                                },
                                                                {
                                                                    "value": "dreamhost",
                                                                    "description": "Dreamhost"
                                                                },
                                                                {
                                                                    "value": "duckdns",
                                                                    "description": "Duck DNS"
                                                                },
                                                                {
                                                                    "value": "dyn",
                                                                    "description": "DynDNS"
                                                                },
                                                                {
                                                                    "value": "dynu",
                                                                    "description": "Dynu"
                                                                },
                                                                {
                                                                    "value": "dynv6",
                                                                    "description": "DynV6"
                                                                },
                                                                {
                                                                    "value": "easydns",
                                                                    "description": "EasyDNS"
                                                                },
                                                                {
                                                                    "value": "freedns",
                                                                    "description": "FreeDNS"
                                                                },
                                                                {
                                                                    "value": "gandi",
                                                                    "description": "Gandi"
                                                                },
                                                                {
                                                                    "value": "gcp",
                                                                    "description": "GCP"
                                                                },
                                                                {
                                                                    "value": "godaddy",
                                                                    "description": "GoDaddy"
                                                                },
                                                                {
                                                                    "value": "goip",
                                                                    "description": "GoIP.de"
                                                                },
                                                                {
                                                                    "value": "he",
                                                                    "description": "He.net"
                                                                },
                                                                {
                                                                    "value": "hetzner",
                                                                    "description": "Hetzner"
                                                                },
                                                                {
                                                                    "value": "infomaniak",
                                                                    "description": "Infomaniak"
                                                                },
                                                                {
                                                                    "value": "inwx",
                                                                    "description": "INWX"
                                                                },
                                                                {
                                                                    "value": "ionos",
                                                                    "description": "Ionos"
                                                                },
                                                                {
                                                                    "value": "linode",
                                                                    "description": "Linode"
                                                                },
                                                                {
                                                                    "value": "loopia",
                                                                    "description": "Loopia"
                                                                },
                                                                {
                                                                    "value": "luadns",
                                                                    "description": "LuaDNS"
                                                                },
                                                                {
                                                                    "value": "myaddr",
                                                                    "description": "MyAddr"
                                                                },
                                                                {
                                                                    "value": "namecheap",
                                                                    "description": "Namecheap"
                                                                },
                                                                {
                                                                    "value": "name.com",
                                                                    "description": "Name.com"
                                                                },
                                                                {
                                                                    "value": "namesilo",
                                                                    "description": "Namesilo"
                                                                },
                                                                {
                                                                    "value": "netcup",
                                                                    "description": "Netcup"
                                                                },
                                                                {
                                                                    "value": "njalla",
                                                                    "description": "Njalla"
                                                                },
                                                                {
                                                                    "value": "noip",
                                                                    "description": "NoIP"
                                                                },
                                                                {
                                                                    "value": "nowdns",
                                                                    "description": "NowDNS"
                                                                },
                                                                {
                                                                    "value": "opendns",
                                                                    "description": "OpenDNS"
                                                                },
                                                                {
                                                                    "value": "ovh",
                                                                    "description": "OVH"
                                                                },
                                                                {
                                                                    "value": "porkbun",
                                                                    "description": "Porkbun"
                                                                },
                                                                {
                                                                    "value": "route53",
                                                                    "description": "Amazon Route 53"
                                                                },
                                                                {
                                                                    "value": "selfhost.de",
                                                                    "description": "Selfhost.de"
                                                                },
                                                                {
                                                                    "value": "servercow",
                                                                    "description": "Servercow"
                                                                },
                                                                {
                                                                    "value": "spdyn",
                                                                    "description": "Spdyn.de"
                                                                },
                                                                {
                                                                    "value": "strato",
                                                                    "description": "Strato"
                                                                },
                                                                {
                                                                    "value": "variomedia",
                                                                    "description": "Variomedia"
                                                                },
                                                                {
                                                                    "value": "vultr",
                                                                    "description": "Vultr"
                                                                },
                                                                {
                                                                    "value": "zoneedit",
                                                                    "description": "ZoneEdit"
                                                                }
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "domain",
                                                        "label": "Domain",
                                                        "description": "Domain </br>\nFor example:</br>\n- example.com</br>\n- *.example.com</br>\n- sub.example.com</br>\n",
                                                        "schema": {
                                                            "type": "string",
                                                            "show_if": [
                                                                [
                                                                    "provider",
                                                                    "!=",
                                                                    ""
                                                                ]
                                                            ],
                                                            "required": true
                                                        }
                                                    },
                                                    {
                                                        "variable": "host",
                                                        "label": "Host (Deprecated)",
                                                        "description": "DEPRECATED. Use Domain field instead.</br>\nIt will be removed in the near future.\n",
                                                        "schema": {
                                                            "type": "string",
                                                            "show_if": [
                                                                [
                                                                    "provider",
                                                                    "!=",
                                                                    ""
                                                                ]
                                                            ],
                                                            "default": ""
                                                        }
                                                    },
                                                    {
                                                        "variable": "ip_version",
                                                        "label": "IP Version",
                                                        "description": "IP Version. </br>\nFor example: IPv4\n",
                                                        "schema": {
                                                            "type": "string",
                                                            "show_if": [
                                                                [
                                                                    "provider",
                                                                    "!=",
                                                                    ""
                                                                ]
                                                            ],
                                                            "default": "",
                                                            "enum": [
                                                                {
                                                                    "value": "ipv4",
                                                                    "description": "IPv4"
                                                                },
                                                                {
                                                                    "value": "ipv6",
                                                                    "description": "IPv6"
                                                                },
                                                                {
                                                                    "value": "",
                                                                    "description": "IPv4 and IPv6"
                                                                }
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "aliyun_access_key",
                                                        "label": "Access Key",
                                                        "schema": {
                                                            "type": "string",
                                                            "required": true,
                                                            "private": true,
                                                            "show_if": [
                                                                [
                                                                    "provider",
                                                                    "=",
                                                                    "aliyun"
                                                                ]
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "aliyun_secret_key",
                                                        "label": "Secret Key",
                                                        "schema": {
                                                            "type": "string",
                                                            "required": true,
                                                            "private": true,
                                                            "show_if": [
                                                                [
                                                                    "provider",
                                                                    "=",
                                                                    "aliyun"
                                                                ]
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "allinkl_username",
                                                        "label": "Username",
                                                        "schema": {
                                                            "type": "string",
                                                            "required": true,
                                                            "show_if": [
                                                                [
                                                                    "provider",
                                                                    "=",
                                                                    "allinkl"
                                                                ]
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "allinkl_password",
                                                        "label": "Password",
                                                        "schema": {
                                                            "type": "string",
                                                            "required": true,
                                                            "private": true,
                                                            "show_if": [
                                                                [
                                                                    "provider",
                                                                    "=",
                                                                    "allinkl"
                                                                ]
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "changeip_username",
                                                        "label": "Username",
                                                        "schema": {
                                                            "type": "string",
                                                            "required": true,
                                                            "show_if": [
                                                                [
                                                                    "provider",
                                                                    "=",
                                                                    "changeip"
                                                                ]
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "changeip_password",
                                                        "label": "Password",
                                                        "schema": {
                                                            "type": "string",
                                                            "required": true,
                                                            "private": true,
                                                            "show_if": [
                                                                [
                                                                    "provider",
                                                                    "=",
                                                                    "changeip"
                                                                ]
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "cloudflare_zone_id",
                                                        "label": "Zone ID",
                                                        "description": "You can find it in the Overview tab of your domain.",
                                                        "schema": {
                                                            "type": "string",
                                                            "required": true,
                                                            "show_if": [
                                                                [
                                                                    "provider",
                                                                    "=",
                                                                    "cloudflare"
                                                                ]
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "cloudflare_ttl",
                                                        "label": "TTL",
                                                        "description": "1 = Automatic </br>\n600 = 10 minutes\n",
                                                        "schema": {
                                                            "type": "int",
                                                            "required": true,
                                                            "min": 1,
                                                            "default": 1,
                                                            "show_if": [
                                                                [
                                                                    "provider",
                                                                    "=",
                                                                    "cloudflare"
                                                                ]
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "cloudflare_proxied",
                                                        "label": "Proxied",
                                                        "description": "True = Proxied </br>\nFalse = DNS Only\n",
                                                        "schema": {
                                                            "type": "boolean",
                                                            "default": false,
                                                            "show_if": [
                                                                [
                                                                    "provider",
                                                                    "=",
                                                                    "cloudflare"
                                                                ]
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "cloudflare_token",
                                                        "label": "Token",
                                                        "description": "You can find it in the Overview tab of your domain.",
                                                        "schema": {
                                                            "type": "string",
                                                            "private": true,
                                                            "show_if": [
                                                                [
                                                                    "provider",
                                                                    "=",
                                                                    "cloudflare"
                                                                ]
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "cloudflare_user_service_key",
                                                        "label": "User Service Key",
                                                        "description": "You can find it in the Overview tab of your domain.",
                                                        "schema": {
                                                            "type": "string",
                                                            "private": true,
                                                            "show_if": [
                                                                [
                                                                    "provider",
                                                                    "=",
                                                                    "cloudflare"
                                                                ]
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "cloudflare_email",
                                                        "label": "Email",
                                                        "description": "You can find it in the Overview tab of your domain.",
                                                        "schema": {
                                                            "type": "string",
                                                            "private": true,
                                                            "show_if": [
                                                                [
                                                                    "provider",
                                                                    "=",
                                                                    "cloudflare"
                                                                ]
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "cloudflare_api_key",
                                                        "label": "API Key",
                                                        "description": "You can find it in the Overview tab of your domain.",
                                                        "schema": {
                                                            "type": "string",
                                                            "private": true,
                                                            "show_if": [
                                                                [
                                                                    "provider",
                                                                    "=",
                                                                    "cloudflare"
                                                                ]
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "dd24_password",
                                                        "label": "Password",
                                                        "schema": {
                                                            "type": "string",
                                                            "required": true,
                                                            "private": true,
                                                            "show_if": [
                                                                [
                                                                    "provider",
                                                                    "=",
                                                                    "dd24"
                                                                ]
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "ddnss_username",
                                                        "label": "Username",
                                                        "schema": {
                                                            "type": "string",
                                                            "required": true,
                                                            "show_if": [
                                                                [
                                                                    "provider",
                                                                    "=",
                                                                    "ddnss"
                                                                ]
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "ddnss_password",
                                                        "label": "Password",
                                                        "schema": {
                                                            "type": "string",
                                                            "required": true,
                                                            "private": true,
                                                            "show_if": [
                                                                [
                                                                    "provider",
                                                                    "=",
                                                                    "ddnss"
                                                                ]
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "ddnss_dual_stack",
                                                        "label": "Dual Stack",
                                                        "description": "True = Dual Stack </br>\nFalse = IPv4 Only\n",
                                                        "schema": {
                                                            "type": "boolean",
                                                            "default": false,
                                                            "show_if": [
                                                                [
                                                                    "provider",
                                                                    "=",
                                                                    "ddnss"
                                                                ]
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "desec_token",
                                                        "label": "Token",
                                                        "schema": {
                                                            "type": "string",
                                                            "required": true,
                                                            "private": true,
                                                            "show_if": [
                                                                [
                                                                    "provider",
                                                                    "=",
                                                                    "desec"
                                                                ]
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "digital_ocean_token",
                                                        "label": "Token",
                                                        "schema": {
                                                            "type": "string",
                                                            "required": true,
                                                            "private": true,
                                                            "show_if": [
                                                                [
                                                                    "provider",
                                                                    "=",
                                                                    "digitalocean"
                                                                ]
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "dnsomatic_username",
                                                        "label": "Username",
                                                        "schema": {
                                                            "type": "string",
                                                            "required": true,
                                                            "show_if": [
                                                                [
                                                                    "provider",
                                                                    "=",
                                                                    "dnsomatic"
                                                                ]
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "dnsomatic_password",
                                                        "label": "Password",
                                                        "schema": {
                                                            "type": "string",
                                                            "required": true,
                                                            "private": true,
                                                            "show_if": [
                                                                [
                                                                    "provider",
                                                                    "=",
                                                                    "dnsomatic"
                                                                ]
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "dnspod_token",
                                                        "label": "Token",
                                                        "schema": {
                                                            "type": "string",
                                                            "required": true,
                                                            "private": true,
                                                            "show_if": [
                                                                [
                                                                    "provider",
                                                                    "=",
                                                                    "dnspod"
                                                                ]
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "domeneshop_token",
                                                        "label": "Token",
                                                        "schema": {
                                                            "type": "string",
                                                            "required": true,
                                                            "private": true,
                                                            "show_if": [
                                                                [
                                                                    "provider",
                                                                    "=",
                                                                    "domeneshop"
                                                                ]
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "domeneshop_secret",
                                                        "label": "Secret",
                                                        "schema": {
                                                            "type": "string",
                                                            "required": true,
                                                            "private": true,
                                                            "show_if": [
                                                                [
                                                                    "provider",
                                                                    "=",
                                                                    "domeneshop"
                                                                ]
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "dondominio_username",
                                                        "label": "Username",
                                                        "schema": {
                                                            "type": "string",
                                                            "required": true,
                                                            "show_if": [
                                                                [
                                                                    "provider",
                                                                    "=",
                                                                    "dondominio"
                                                                ]
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "dondominio_password",
                                                        "label": "Password",
                                                        "schema": {
                                                            "type": "string",
                                                            "required": true,
                                                            "private": true,
                                                            "show_if": [
                                                                [
                                                                    "provider",
                                                                    "=",
                                                                    "dondominio"
                                                                ]
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "dreamhost_key",
                                                        "label": "Key",
                                                        "schema": {
                                                            "type": "string",
                                                            "required": true,
                                                            "private": true,
                                                            "show_if": [
                                                                [
                                                                    "provider",
                                                                    "=",
                                                                    "dreamhost"
                                                                ]
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "duckdns_token",
                                                        "label": "Token",
                                                        "schema": {
                                                            "type": "string",
                                                            "required": true,
                                                            "private": true,
                                                            "show_if": [
                                                                [
                                                                    "provider",
                                                                    "=",
                                                                    "duckdns"
                                                                ]
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "dyn_client_key",
                                                        "label": "Client Key",
                                                        "schema": {
                                                            "type": "string",
                                                            "required": true,
                                                            "show_if": [
                                                                [
                                                                    "provider",
                                                                    "=",
                                                                    "dyn"
                                                                ]
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "dyn_username",
                                                        "label": "Username",
                                                        "schema": {
                                                            "type": "string",
                                                            "required": true,
                                                            "show_if": [
                                                                [
                                                                    "provider",
                                                                    "=",
                                                                    "dyn"
                                                                ]
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "dynu_username",
                                                        "label": "Username",
                                                        "schema": {
                                                            "type": "string",
                                                            "required": true,
                                                            "show_if": [
                                                                [
                                                                    "provider",
                                                                    "=",
                                                                    "dynu"
                                                                ]
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "dynu_password",
                                                        "label": "Password",
                                                        "schema": {
                                                            "type": "string",
                                                            "required": true,
                                                            "private": true,
                                                            "show_if": [
                                                                [
                                                                    "provider",
                                                                    "=",
                                                                    "dynu"
                                                                ]
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "dynu_group",
                                                        "label": "Group",
                                                        "schema": {
                                                            "type": "string",
                                                            "show_if": [
                                                                [
                                                                    "provider",
                                                                    "=",
                                                                    "dynu"
                                                                ]
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "dynv6_token",
                                                        "label": "Token",
                                                        "schema": {
                                                            "type": "string",
                                                            "required": true,
                                                            "private": true,
                                                            "show_if": [
                                                                [
                                                                    "provider",
                                                                    "=",
                                                                    "dynv6"
                                                                ]
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "easydns_username",
                                                        "label": "Username",
                                                        "schema": {
                                                            "type": "string",
                                                            "required": true,
                                                            "show_if": [
                                                                [
                                                                    "provider",
                                                                    "=",
                                                                    "easydns"
                                                                ]
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "easydns_token",
                                                        "label": "Token",
                                                        "schema": {
                                                            "type": "string",
                                                            "required": true,
                                                            "private": true,
                                                            "show_if": [
                                                                [
                                                                    "provider",
                                                                    "=",
                                                                    "easydns"
                                                                ]
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "freedns_token",
                                                        "label": "Token",
                                                        "schema": {
                                                            "type": "string",
                                                            "required": true,
                                                            "private": true,
                                                            "show_if": [
                                                                [
                                                                    "provider",
                                                                    "=",
                                                                    "freedns"
                                                                ]
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "gandi_key",
                                                        "label": "API Key (Deprecated)",
                                                        "description": "Use Personal Access Token instead.",
                                                        "schema": {
                                                            "type": "string",
                                                            "private": true,
                                                            "show_if": [
                                                                [
                                                                    "provider",
                                                                    "=",
                                                                    "gandi"
                                                                ]
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "gandi_personal_access_token",
                                                        "label": "Personal Access Token",
                                                        "schema": {
                                                            "type": "string",
                                                            "private": true,
                                                            "show_if": [
                                                                [
                                                                    "provider",
                                                                    "=",
                                                                    "gandi"
                                                                ]
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "gandi_ttl",
                                                        "label": "TTL",
                                                        "schema": {
                                                            "type": "int",
                                                            "required": true,
                                                            "default": 3600,
                                                            "show_if": [
                                                                [
                                                                    "provider",
                                                                    "=",
                                                                    "gandi"
                                                                ]
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "gcp_project",
                                                        "label": "Project",
                                                        "schema": {
                                                            "type": "string",
                                                            "required": true,
                                                            "show_if": [
                                                                [
                                                                    "provider",
                                                                    "=",
                                                                    "gcp"
                                                                ]
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "gcp_zone",
                                                        "label": "Zone",
                                                        "schema": {
                                                            "type": "string",
                                                            "required": true,
                                                            "show_if": [
                                                                [
                                                                    "provider",
                                                                    "=",
                                                                    "gcp"
                                                                ]
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "gcp_credentials",
                                                        "label": "Credentials",
                                                        "schema": {
                                                            "type": "string",
                                                            "required": true,
                                                            "private": true,
                                                            "max_length": 10000,
                                                            "show_if": [
                                                                [
                                                                    "provider",
                                                                    "=",
                                                                    "gcp"
                                                                ]
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "godaddy_key",
                                                        "label": "API Key",
                                                        "schema": {
                                                            "type": "string",
                                                            "required": true,
                                                            "private": true,
                                                            "show_if": [
                                                                [
                                                                    "provider",
                                                                    "=",
                                                                    "godaddy"
                                                                ]
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "godaddy_secret",
                                                        "label": "Secret",
                                                        "schema": {
                                                            "type": "string",
                                                            "required": true,
                                                            "private": true,
                                                            "show_if": [
                                                                [
                                                                    "provider",
                                                                    "=",
                                                                    "godaddy"
                                                                ]
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "goip_username",
                                                        "label": "Username",
                                                        "schema": {
                                                            "type": "string",
                                                            "required": true,
                                                            "show_if": [
                                                                [
                                                                    "provider",
                                                                    "=",
                                                                    "goip"
                                                                ]
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "goip_password",
                                                        "label": "Password",
                                                        "schema": {
                                                            "type": "string",
                                                            "required": true,
                                                            "private": true,
                                                            "show_if": [
                                                                [
                                                                    "provider",
                                                                    "=",
                                                                    "goip"
                                                                ]
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "he_password",
                                                        "label": "Password",
                                                        "schema": {
                                                            "type": "string",
                                                            "required": true,
                                                            "private": true,
                                                            "show_if": [
                                                                [
                                                                    "provider",
                                                                    "=",
                                                                    "he"
                                                                ]
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "hetzner_token",
                                                        "label": "Token",
                                                        "schema": {
                                                            "type": "string",
                                                            "required": true,
                                                            "private": true,
                                                            "show_if": [
                                                                [
                                                                    "provider",
                                                                    "=",
                                                                    "hetzner"
                                                                ]
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "hetzner_zone_identifier",
                                                        "label": "Zone Identifier",
                                                        "schema": {
                                                            "type": "string",
                                                            "required": true,
                                                            "show_if": [
                                                                [
                                                                    "provider",
                                                                    "=",
                                                                    "hetzner"
                                                                ]
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "hetzner_ttl",
                                                        "label": "TTL",
                                                        "schema": {
                                                            "type": "int",
                                                            "show_if": [
                                                                [
                                                                    "provider",
                                                                    "=",
                                                                    "hetzner"
                                                                ]
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "infomaniak_username",
                                                        "label": "Username",
                                                        "schema": {
                                                            "type": "string",
                                                            "required": true,
                                                            "show_if": [
                                                                [
                                                                    "provider",
                                                                    "=",
                                                                    "infomaniak"
                                                                ]
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "infomaniak_password",
                                                        "label": "Password",
                                                        "schema": {
                                                            "type": "string",
                                                            "required": true,
                                                            "private": true,
                                                            "show_if": [
                                                                [
                                                                    "provider",
                                                                    "=",
                                                                    "infomaniak"
                                                                ]
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "inwx_username",
                                                        "label": "Username",
                                                        "schema": {
                                                            "type": "string",
                                                            "required": true,
                                                            "show_if": [
                                                                [
                                                                    "provider",
                                                                    "=",
                                                                    "inwx"
                                                                ]
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "inwx_password",
                                                        "label": "Password",
                                                        "schema": {
                                                            "type": "string",
                                                            "required": true,
                                                            "private": true,
                                                            "show_if": [
                                                                [
                                                                    "provider",
                                                                    "=",
                                                                    "inwx"
                                                                ]
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "ionos_api_key",
                                                        "label": "API Key",
                                                        "schema": {
                                                            "type": "string",
                                                            "required": true,
                                                            "private": true,
                                                            "show_if": [
                                                                [
                                                                    "provider",
                                                                    "=",
                                                                    "ionos"
                                                                ]
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "linode_token",
                                                        "label": "Token",
                                                        "schema": {
                                                            "type": "string",
                                                            "required": true,
                                                            "private": true,
                                                            "show_if": [
                                                                [
                                                                    "provider",
                                                                    "=",
                                                                    "linode"
                                                                ]
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "loopia_username",
                                                        "label": "Username",
                                                        "schema": {
                                                            "type": "string",
                                                            "required": true,
                                                            "show_if": [
                                                                [
                                                                    "provider",
                                                                    "=",
                                                                    "loopia"
                                                                ]
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "loopia_password",
                                                        "label": "Password",
                                                        "schema": {
                                                            "type": "string",
                                                            "required": true,
                                                            "private": true,
                                                            "show_if": [
                                                                [
                                                                    "provider",
                                                                    "=",
                                                                    "loopia"
                                                                ]
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "luadns_token",
                                                        "label": "Token",
                                                        "schema": {
                                                            "type": "string",
                                                            "required": true,
                                                            "private": true,
                                                            "show_if": [
                                                                [
                                                                    "provider",
                                                                    "=",
                                                                    "luadns"
                                                                ]
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "luadns_email",
                                                        "label": "Email",
                                                        "schema": {
                                                            "type": "string",
                                                            "required": true,
                                                            "show_if": [
                                                                [
                                                                    "provider",
                                                                    "=",
                                                                    "luadns"
                                                                ]
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "myaddr_key",
                                                        "label": "Key",
                                                        "schema": {
                                                            "type": "string",
                                                            "required": true,
                                                            "private": true,
                                                            "show_if": [
                                                                [
                                                                    "provider",
                                                                    "=",
                                                                    "myaddr"
                                                                ]
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "namecheap_password",
                                                        "label": "Password",
                                                        "schema": {
                                                            "type": "string",
                                                            "required": true,
                                                            "private": true,
                                                            "show_if": [
                                                                [
                                                                    "provider",
                                                                    "=",
                                                                    "namecheap"
                                                                ]
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "namecom_token",
                                                        "label": "Token",
                                                        "schema": {
                                                            "type": "string",
                                                            "required": true,
                                                            "private": true,
                                                            "show_if": [
                                                                [
                                                                    "provider",
                                                                    "=",
                                                                    "name.com"
                                                                ]
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "namecom_username",
                                                        "label": "Username",
                                                        "schema": {
                                                            "type": "string",
                                                            "required": true,
                                                            "show_if": [
                                                                [
                                                                    "provider",
                                                                    "=",
                                                                    "name.com"
                                                                ]
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "namecom_ttl",
                                                        "label": "TTL",
                                                        "schema": {
                                                            "type": "int",
                                                            "required": true,
                                                            "default": 300,
                                                            "show_if": [
                                                                [
                                                                    "provider",
                                                                    "=",
                                                                    "name.com"
                                                                ]
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "namesilo_key",
                                                        "label": "Key",
                                                        "schema": {
                                                            "type": "string",
                                                            "required": true,
                                                            "private": true,
                                                            "show_if": [
                                                                [
                                                                    "provider",
                                                                    "=",
                                                                    "namesilo"
                                                                ]
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "namesilo_ttl",
                                                        "label": "TTL",
                                                        "schema": {
                                                            "type": "int",
                                                            "min": 3600,
                                                            "max": 2592001,
                                                            "show_if": [
                                                                [
                                                                    "provider",
                                                                    "=",
                                                                    "namesilo"
                                                                ]
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "netcup_api_key",
                                                        "label": "API Key",
                                                        "schema": {
                                                            "type": "string",
                                                            "required": true,
                                                            "private": true,
                                                            "show_if": [
                                                                [
                                                                    "provider",
                                                                    "=",
                                                                    "netcup"
                                                                ]
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "netcup_password",
                                                        "label": "Password",
                                                        "schema": {
                                                            "type": "string",
                                                            "required": true,
                                                            "private": true,
                                                            "show_if": [
                                                                [
                                                                    "provider",
                                                                    "=",
                                                                    "netcup"
                                                                ]
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "netcup_customer_number",
                                                        "label": "Customer Number",
                                                        "schema": {
                                                            "type": "string",
                                                            "required": true,
                                                            "show_if": [
                                                                [
                                                                    "provider",
                                                                    "=",
                                                                    "netcup"
                                                                ]
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "njalla_key",
                                                        "label": "Key",
                                                        "schema": {
                                                            "type": "string",
                                                            "required": true,
                                                            "private": true,
                                                            "show_if": [
                                                                [
                                                                    "provider",
                                                                    "=",
                                                                    "njalla"
                                                                ]
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "noip_username",
                                                        "label": "Username",
                                                        "schema": {
                                                            "type": "string",
                                                            "required": true,
                                                            "show_if": [
                                                                [
                                                                    "provider",
                                                                    "=",
                                                                    "noip"
                                                                ]
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "noip_password",
                                                        "label": "Password",
                                                        "schema": {
                                                            "type": "string",
                                                            "required": true,
                                                            "private": true,
                                                            "show_if": [
                                                                [
                                                                    "provider",
                                                                    "=",
                                                                    "noip"
                                                                ]
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "nowdns_username",
                                                        "label": "Username",
                                                        "schema": {
                                                            "type": "string",
                                                            "required": true,
                                                            "show_if": [
                                                                [
                                                                    "provider",
                                                                    "=",
                                                                    "nowdns"
                                                                ]
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "nowdns_password",
                                                        "label": "Password",
                                                        "schema": {
                                                            "type": "string",
                                                            "required": true,
                                                            "private": true,
                                                            "show_if": [
                                                                [
                                                                    "provider",
                                                                    "=",
                                                                    "nowdns"
                                                                ]
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "opendns_username",
                                                        "label": "Username",
                                                        "schema": {
                                                            "type": "string",
                                                            "required": true,
                                                            "show_if": [
                                                                [
                                                                    "provider",
                                                                    "=",
                                                                    "opendns"
                                                                ]
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "opendns_password",
                                                        "label": "Password",
                                                        "schema": {
                                                            "type": "string",
                                                            "required": true,
                                                            "private": true,
                                                            "show_if": [
                                                                [
                                                                    "provider",
                                                                    "=",
                                                                    "opendns"
                                                                ]
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "ovh_mode",
                                                        "label": "Mode",
                                                        "schema": {
                                                            "type": "string",
                                                            "required": true,
                                                            "show_if": [
                                                                [
                                                                    "provider",
                                                                    "=",
                                                                    "ovh"
                                                                ]
                                                            ],
                                                            "enum": [
                                                                {
                                                                    "value": "api",
                                                                    "description": "API"
                                                                },
                                                                {
                                                                    "value": "dynamic",
                                                                    "description": "Dynamic"
                                                                }
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "ovh_username",
                                                        "label": "Username",
                                                        "schema": {
                                                            "type": "string",
                                                            "show_if": [
                                                                [
                                                                    "provider",
                                                                    "=",
                                                                    "ovh"
                                                                ]
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "ovh_password",
                                                        "label": "Password",
                                                        "schema": {
                                                            "type": "string",
                                                            "private": true,
                                                            "show_if": [
                                                                [
                                                                    "provider",
                                                                    "=",
                                                                    "ovh"
                                                                ]
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "ovh_api_endpoint",
                                                        "label": "API Endpoint",
                                                        "schema": {
                                                            "type": "string",
                                                            "show_if": [
                                                                [
                                                                    "provider",
                                                                    "=",
                                                                    "ovh"
                                                                ]
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "ovh_app_key",
                                                        "label": "App Key",
                                                        "schema": {
                                                            "type": "string",
                                                            "private": true,
                                                            "show_if": [
                                                                [
                                                                    "provider",
                                                                    "=",
                                                                    "ovh"
                                                                ]
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "ovh_app_secret",
                                                        "label": "App Secret",
                                                        "schema": {
                                                            "type": "string",
                                                            "private": true,
                                                            "show_if": [
                                                                [
                                                                    "provider",
                                                                    "=",
                                                                    "ovh"
                                                                ]
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "ovh_consumer_key",
                                                        "label": "Consumer Key",
                                                        "schema": {
                                                            "type": "string",
                                                            "private": true,
                                                            "show_if": [
                                                                [
                                                                    "provider",
                                                                    "=",
                                                                    "ovh"
                                                                ]
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "porkbun_api_key",
                                                        "label": "API Key",
                                                        "schema": {
                                                            "type": "string",
                                                            "required": true,
                                                            "private": true,
                                                            "show_if": [
                                                                [
                                                                    "provider",
                                                                    "=",
                                                                    "porkbun"
                                                                ]
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "porkbun_secret_api_key",
                                                        "label": "Secret API Key",
                                                        "schema": {
                                                            "type": "string",
                                                            "required": true,
                                                            "private": true,
                                                            "show_if": [
                                                                [
                                                                    "provider",
                                                                    "=",
                                                                    "porkbun"
                                                                ]
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "porkbun_ttl",
                                                        "label": "TTL",
                                                        "schema": {
                                                            "type": "int",
                                                            "default": 3600,
                                                            "show_if": [
                                                                [
                                                                    "provider",
                                                                    "=",
                                                                    "porkbun"
                                                                ]
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "route53_access_key",
                                                        "label": "Access Key",
                                                        "schema": {
                                                            "type": "string",
                                                            "required": true,
                                                            "private": true,
                                                            "show_if": [
                                                                [
                                                                    "provider",
                                                                    "=",
                                                                    "route53"
                                                                ]
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "route53_secret_key",
                                                        "label": "Secret Key",
                                                        "schema": {
                                                            "type": "string",
                                                            "required": true,
                                                            "private": true,
                                                            "show_if": [
                                                                [
                                                                    "provider",
                                                                    "=",
                                                                    "route53"
                                                                ]
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "route53_zone_id",
                                                        "label": "Zone ID",
                                                        "schema": {
                                                            "type": "string",
                                                            "required": true,
                                                            "private": true,
                                                            "show_if": [
                                                                [
                                                                    "provider",
                                                                    "=",
                                                                    "route53"
                                                                ]
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "route53_ttl",
                                                        "label": "TTL",
                                                        "schema": {
                                                            "type": "int",
                                                            "default": 300,
                                                            "show_if": [
                                                                [
                                                                    "provider",
                                                                    "=",
                                                                    "route53"
                                                                ]
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "selfhostde_username",
                                                        "label": "Username",
                                                        "schema": {
                                                            "type": "string",
                                                            "required": true,
                                                            "show_if": [
                                                                [
                                                                    "provider",
                                                                    "=",
                                                                    "selfhost.de"
                                                                ]
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "selfhostde_password",
                                                        "label": "Password",
                                                        "schema": {
                                                            "type": "string",
                                                            "required": true,
                                                            "private": true,
                                                            "show_if": [
                                                                [
                                                                    "provider",
                                                                    "=",
                                                                    "selfhost.de"
                                                                ]
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "servercow_username",
                                                        "label": "Username",
                                                        "schema": {
                                                            "type": "string",
                                                            "required": true,
                                                            "show_if": [
                                                                [
                                                                    "provider",
                                                                    "=",
                                                                    "servercow"
                                                                ]
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "servercow_password",
                                                        "label": "Password",
                                                        "schema": {
                                                            "type": "string",
                                                            "required": true,
                                                            "private": true,
                                                            "show_if": [
                                                                [
                                                                    "provider",
                                                                    "=",
                                                                    "servercow"
                                                                ]
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "servercow_ttl",
                                                        "label": "TTL",
                                                        "schema": {
                                                            "type": "int",
                                                            "required": true,
                                                            "default": 120,
                                                            "show_if": [
                                                                [
                                                                    "provider",
                                                                    "=",
                                                                    "servercow"
                                                                ]
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "spdyn_token",
                                                        "label": "Token",
                                                        "schema": {
                                                            "type": "string",
                                                            "private": true,
                                                            "show_if": [
                                                                [
                                                                    "provider",
                                                                    "=",
                                                                    "spdyn"
                                                                ]
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "spdyn_username",
                                                        "label": "Username",
                                                        "schema": {
                                                            "type": "string",
                                                            "show_if": [
                                                                [
                                                                    "provider",
                                                                    "=",
                                                                    "spdyn"
                                                                ]
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "spdyn_password",
                                                        "label": "Password",
                                                        "schema": {
                                                            "type": "string",
                                                            "private": true,
                                                            "show_if": [
                                                                [
                                                                    "provider",
                                                                    "=",
                                                                    "spdyn"
                                                                ]
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "strato_password",
                                                        "label": "Password",
                                                        "schema": {
                                                            "type": "string",
                                                            "required": true,
                                                            "private": true,
                                                            "show_if": [
                                                                [
                                                                    "provider",
                                                                    "=",
                                                                    "strato"
                                                                ]
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "variomedia_email",
                                                        "label": "Email",
                                                        "schema": {
                                                            "type": "string",
                                                            "required": true,
                                                            "show_if": [
                                                                [
                                                                    "provider",
                                                                    "=",
                                                                    "variomedia"
                                                                ]
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "variomedia_password",
                                                        "label": "Password",
                                                        "schema": {
                                                            "type": "string",
                                                            "required": true,
                                                            "private": true,
                                                            "show_if": [
                                                                [
                                                                    "provider",
                                                                    "=",
                                                                    "variomedia"
                                                                ]
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "vultr_api_key",
                                                        "label": "API Key",
                                                        "schema": {
                                                            "type": "string",
                                                            "required": true,
                                                            "private": true,
                                                            "show_if": [
                                                                [
                                                                    "provider",
                                                                    "=",
                                                                    "vultr"
                                                                ]
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "vultr_ttl",
                                                        "label": "TTL",
                                                        "schema": {
                                                            "type": "int",
                                                            "show_if": [
                                                                [
                                                                    "provider",
                                                                    "=",
                                                                    "vultr"
                                                                ]
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "zoneedit_username",
                                                        "label": "Username",
                                                        "schema": {
                                                            "type": "string",
                                                            "required": true,
                                                            "show_if": [
                                                                [
                                                                    "provider",
                                                                    "=",
                                                                    "zoneedit"
                                                                ]
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "zoneedit_token",
                                                        "label": "Token",
                                                        "schema": {
                                                            "type": "string",
                                                            "required": true,
                                                            "private": true,
                                                            "show_if": [
                                                                [
                                                                    "provider",
                                                                    "=",
                                                                    "zoneedit"
                                                                ]
                                                            ]
                                                        }
                                                    }
                                                ]
                                            }
                                        }
                                    ]
                                }
                            },
                            {
                                "variable": "additional_envs",
                                "label": "Additional Environment Variables",
                                "schema": {
                                    "type": "list",
                                    "default": [],
                                    "items": [
                                        {
                                            "variable": "env",
                                            "label": "Environment Variable",
                                            "schema": {
                                                "type": "dict",
                                                "attrs": [
                                                    {
                                                        "variable": "name",
                                                        "label": "Name",
                                                        "schema": {
                                                            "type": "string",
                                                            "required": true
                                                        }
                                                    },
                                                    {
                                                        "variable": "value",
                                                        "label": "Value",
                                                        "schema": {
                                                            "type": "string"
                                                        }
                                                    }
                                                ]
                                            }
                                        }
                                    ]
                                }
                            }
                        ]
                    }
                },
                {
                    "variable": "run_as",
                    "label": "",
                    "group": "User and Group Configuration",
                    "schema": {
                        "type": "dict",
                        "attrs": [
                            {
                                "variable": "user",
                                "label": "User ID",
                                "description": "The user id that DDNS Updater files will be owned by.",
                                "schema": {
                                    "type": "int",
                                    "min": 568,
                                    "default": 568,
                                    "required": true
                                }
                            },
                            {
                                "variable": "group",
                                "label": "Group ID",
                                "description": "The group id that DDNS Updater files will be owned by.",
                                "schema": {
                                    "type": "int",
                                    "min": 568,
                                    "default": 568,
                                    "required": true
                                }
                            }
                        ]
                    }
                },
                {
                    "variable": "network",
                    "label": "",
                    "group": "Network Configuration",
                    "schema": {
                        "type": "dict",
                        "attrs": [
                            {
                                "variable": "web_port",
                                "label": "WebUI Port",
                                "schema": {
                                    "type": "dict",
                                    "attrs": [
                                        {
                                            "variable": "bind_mode",
                                            "label": "Port Bind Mode",
                                            "description": "The port bind mode.</br>\n- Publish: The port will be published on the host for external access.</br>\n- Expose: The port will be exposed for inter-container communication.</br>\n- None: The port will not be exposed or published.</br>\nNote: If the Dockerfile defines an EXPOSE directive,\nthe port will still be exposed for inter-container communication regardless of this setting.\n",
                                            "schema": {
                                                "type": "string",
                                                "default": "published",
                                                "enum": [
                                                    {
                                                        "value": "published",
                                                        "description": "Publish port on the host for external access"
                                                    },
                                                    {
                                                        "value": "exposed",
                                                        "description": "Expose port for inter-container communication"
                                                    },
                                                    {
                                                        "value": "",
                                                        "description": "None"
                                                    }
                                                ]
                                            }
                                        },
                                        {
                                            "variable": "port_number",
                                            "label": "Port Number",
                                            "schema": {
                                                "type": "int",
                                                "default": 30007,
                                                "min": 1,
                                                "max": 65535,
                                                "required": true
                                            }
                                        },
                                        {
                                            "variable": "host_ips",
                                            "label": "Host IPs",
                                            "description": "IPs on the host to bind this port",
                                            "schema": {
                                                "type": "list",
                                                "show_if": [
                                                    [
                                                        "bind_mode",
                                                        "=",
                                                        "published"
                                                    ]
                                                ],
                                                "default": [],
                                                "items": [
                                                    {
                                                        "variable": "host_ip",
                                                        "label": "Host IP",
                                                        "schema": {
                                                            "type": "string",
                                                            "required": true,
                                                            "$ref": [
                                                                "definitions/node_bind_ip"
                                                            ]
                                                        }
                                                    }
                                                ]
                                            }
                                        }
                                    ]
                                }
                            },
                            {
                                "variable": "host_network",
                                "label": "Host Network",
                                "description": "Bind to the host network. It's recommended to keep this disabled.\n",
                                "schema": {
                                    "type": "boolean",
                                    "default": false
                                }
                            }
                        ]
                    }
                },
                {
                    "variable": "storage",
                    "label": "",
                    "group": "Storage Configuration",
                    "schema": {
                        "type": "dict",
                        "attrs": [
                            {
                                "variable": "data",
                                "label": "DDNS Updater Data Storage",
                                "description": "The path to store DDNS Updater Data.",
                                "schema": {
                                    "type": "dict",
                                    "attrs": [
                                        {
                                            "variable": "type",
                                            "label": "Type",
                                            "description": "ixVolume: Is dataset created automatically by the system.</br>\nHost Path: Is a path that already exists on the system.\n",
                                            "schema": {
                                                "type": "string",
                                                "required": true,
                                                "default": "ix_volume",
                                                "enum": [
                                                    {
                                                        "value": "host_path",
                                                        "description": "Host Path (Path that already exists on the system)"
                                                    },
                                                    {
                                                        "value": "ix_volume",
                                                        "description": "ixVolume (Dataset created automatically by the system)"
                                                    }
                                                ]
                                            }
                                        },
                                        {
                                            "variable": "ix_volume_config",
                                            "label": "ixVolume Configuration",
                                            "description": "The configuration for the ixVolume dataset.",
                                            "schema": {
                                                "type": "dict",
                                                "show_if": [
                                                    [
                                                        "type",
                                                        "=",
                                                        "ix_volume"
                                                    ]
                                                ],
                                                "$ref": [
                                                    "normalize/ix_volume"
                                                ],
                                                "attrs": [
                                                    {
                                                        "variable": "acl_enable",
                                                        "label": "Enable ACL",
                                                        "description": "Enable ACL for the storage.",
                                                        "schema": {
                                                            "type": "boolean",
                                                            "default": false
                                                        }
                                                    },
                                                    {
                                                        "variable": "dataset_name",
                                                        "label": "Dataset Name",
                                                        "description": "The name of the dataset to use for storage.",
                                                        "schema": {
                                                            "type": "string",
                                                            "required": true,
                                                            "hidden": true,
                                                            "default": "data"
                                                        }
                                                    },
                                                    {
                                                        "variable": "acl_entries",
                                                        "label": "ACL Configuration",
                                                        "schema": {
                                                            "type": "dict",
                                                            "show_if": [
                                                                [
                                                                    "acl_enable",
                                                                    "=",
                                                                    true
                                                                ]
                                                            ],
                                                            "attrs": []
                                                        }
                                                    }
                                                ]
                                            }
                                        },
                                        {
                                            "variable": "host_path_config",
                                            "label": "Host Path Configuration",
                                            "schema": {
                                                "type": "dict",
                                                "show_if": [
                                                    [
                                                        "type",
                                                        "=",
                                                        "host_path"
                                                    ]
                                                ],
                                                "attrs": [
                                                    {
                                                        "variable": "acl_enable",
                                                        "label": "Enable ACL",
                                                        "description": "Enable ACL for the storage.",
                                                        "schema": {
                                                            "type": "boolean",
                                                            "default": false
                                                        }
                                                    },
                                                    {
                                                        "variable": "acl",
                                                        "label": "ACL Configuration",
                                                        "schema": {
                                                            "type": "dict",
                                                            "show_if": [
                                                                [
                                                                    "acl_enable",
                                                                    "=",
                                                                    true
                                                                ]
                                                            ],
                                                            "attrs": [],
                                                            "$ref": [
                                                                "normalize/acl"
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "path",
                                                        "label": "Host Path",
                                                        "description": "The host path to use for storage.",
                                                        "schema": {
                                                            "type": "hostpath",
                                                            "show_if": [
                                                                [
                                                                    "acl_enable",
                                                                    "=",
                                                                    false
                                                                ]
                                                            ],
                                                            "required": true
                                                        }
                                                    }
                                                ]
                                            }
                                        }
                                    ]
                                }
                            },
                            {
                                "variable": "additional_storage",
                                "label": "Additional Storage",
                                "schema": {
                                    "type": "list",
                                    "default": [],
                                    "items": [
                                        {
                                            "variable": "storageEntry",
                                            "label": "Storage Entry",
                                            "schema": {
                                                "type": "dict",
                                                "attrs": [
                                                    {
                                                        "variable": "type",
                                                        "label": "Type",
                                                        "description": "ixVolume: Is dataset created automatically by the system.</br>\nHost Path: Is a path that already exists on the system.</br>\nSMB Share: Is a SMB share that is mounted to as a volume.\n",
                                                        "schema": {
                                                            "type": "string",
                                                            "required": true,
                                                            "default": "ix_volume",
                                                            "enum": [
                                                                {
                                                                    "value": "host_path",
                                                                    "description": "Host Path (Path that already exists on the system)"
                                                                },
                                                                {
                                                                    "value": "ix_volume",
                                                                    "description": "ixVolume (Dataset created automatically by the system)"
                                                                },
                                                                {
                                                                    "value": "cifs",
                                                                    "description": "SMB/CIFS Share (Mounts a volume to a SMB share)"
                                                                }
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "read_only",
                                                        "label": "Read Only",
                                                        "description": "Mount the volume as read only.",
                                                        "schema": {
                                                            "type": "boolean",
                                                            "default": false
                                                        }
                                                    },
                                                    {
                                                        "variable": "mount_path",
                                                        "label": "Mount Path",
                                                        "description": "The path inside the container to mount the storage.",
                                                        "schema": {
                                                            "type": "path",
                                                            "required": true
                                                        }
                                                    },
                                                    {
                                                        "variable": "host_path_config",
                                                        "label": "Host Path Configuration",
                                                        "schema": {
                                                            "type": "dict",
                                                            "show_if": [
                                                                [
                                                                    "type",
                                                                    "=",
                                                                    "host_path"
                                                                ]
                                                            ],
                                                            "attrs": [
                                                                {
                                                                    "variable": "acl_enable",
                                                                    "label": "Enable ACL",
                                                                    "description": "Enable ACL for the storage.",
                                                                    "schema": {
                                                                        "type": "boolean",
                                                                        "default": false
                                                                    }
                                                                },
                                                                {
                                                                    "variable": "acl",
                                                                    "label": "ACL Configuration",
                                                                    "schema": {
                                                                        "type": "dict",
                                                                        "show_if": [
                                                                            [
                                                                                "acl_enable",
                                                                                "=",
                                                                                true
                                                                            ]
                                                                        ],
                                                                        "attrs": [],
                                                                        "$ref": [
                                                                            "normalize/acl"
                                                                        ]
                                                                    }
                                                                },
                                                                {
                                                                    "variable": "path",
                                                                    "label": "Host Path",
                                                                    "description": "The host path to use for storage.",
                                                                    "schema": {
                                                                        "type": "hostpath",
                                                                        "show_if": [
                                                                            [
                                                                                "acl_enable",
                                                                                "=",
                                                                                false
                                                                            ]
                                                                        ],
                                                                        "required": true
                                                                    }
                                                                }
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "ix_volume_config",
                                                        "label": "ixVolume Configuration",
                                                        "description": "The configuration for the ixVolume dataset.",
                                                        "schema": {
                                                            "type": "dict",
                                                            "show_if": [
                                                                [
                                                                    "type",
                                                                    "=",
                                                                    "ix_volume"
                                                                ]
                                                            ],
                                                            "$ref": [
                                                                "normalize/ix_volume"
                                                            ],
                                                            "attrs": [
                                                                {
                                                                    "variable": "acl_enable",
                                                                    "label": "Enable ACL",
                                                                    "description": "Enable ACL for the storage.",
                                                                    "schema": {
                                                                        "type": "boolean",
                                                                        "default": false
                                                                    }
                                                                },
                                                                {
                                                                    "variable": "dataset_name",
                                                                    "label": "Dataset Name",
                                                                    "description": "The name of the dataset to use for storage.",
                                                                    "schema": {
                                                                        "type": "string",
                                                                        "required": true,
                                                                        "default": "storage_entry"
                                                                    }
                                                                },
                                                                {
                                                                    "variable": "acl_entries",
                                                                    "label": "ACL Configuration",
                                                                    "schema": {
                                                                        "type": "dict",
                                                                        "show_if": [
                                                                            [
                                                                                "acl_enable",
                                                                                "=",
                                                                                true
                                                                            ]
                                                                        ],
                                                                        "attrs": [],
                                                                        "$ref": [
                                                                            "normalize/acl"
                                                                        ]
                                                                    }
                                                                }
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "cifs_config",
                                                        "label": "SMB Configuration",
                                                        "description": "The configuration for the SMB dataset.",
                                                        "schema": {
                                                            "type": "dict",
                                                            "show_if": [
                                                                [
                                                                    "type",
                                                                    "=",
                                                                    "cifs"
                                                                ]
                                                            ],
                                                            "attrs": [
                                                                {
                                                                    "variable": "server",
                                                                    "label": "Server",
                                                                    "description": "The server to mount the SMB share.",
                                                                    "schema": {
                                                                        "type": "string",
                                                                        "required": true
                                                                    }
                                                                },
                                                                {
                                                                    "variable": "path",
                                                                    "label": "Path",
                                                                    "description": "The path to mount the SMB share.",
                                                                    "schema": {
                                                                        "type": "string",
                                                                        "required": true
                                                                    }
                                                                },
                                                                {
                                                                    "variable": "username",
                                                                    "label": "Username",
                                                                    "description": "The username to use for the SMB share.",
                                                                    "schema": {
                                                                        "type": "string",
                                                                        "required": true
                                                                    }
                                                                },
                                                                {
                                                                    "variable": "password",
                                                                    "label": "Password",
                                                                    "description": "The password to use for the SMB share.",
                                                                    "schema": {
                                                                        "type": "string",
                                                                        "required": true,
                                                                        "private": true
                                                                    }
                                                                },
                                                                {
                                                                    "variable": "domain",
                                                                    "label": "Domain",
                                                                    "description": "The domain to use for the SMB share.",
                                                                    "schema": {
                                                                        "type": "string"
                                                                    }
                                                                }
                                                            ]
                                                        }
                                                    }
                                                ]
                                            }
                                        }
                                    ]
                                }
                            }
                        ]
                    }
                },
                {
                    "variable": "labels",
                    "label": "",
                    "group": "Labels Configuration",
                    "schema": {
                        "type": "list",
                        "default": [],
                        "items": [
                            {
                                "variable": "label",
                                "label": "Label",
                                "schema": {
                                    "type": "dict",
                                    "attrs": [
                                        {
                                            "variable": "key",
                                            "label": "Key",
                                            "schema": {
                                                "type": "string",
                                                "required": true
                                            }
                                        },
                                        {
                                            "variable": "value",
                                            "label": "Value",
                                            "schema": {
                                                "type": "string",
                                                "required": true
                                            }
                                        },
                                        {
                                            "variable": "containers",
                                            "label": "Containers",
                                            "description": "Containers where the label should be applied",
                                            "schema": {
                                                "type": "list",
                                                "items": [
                                                    {
                                                        "variable": "container",
                                                        "label": "Container",
                                                        "schema": {
                                                            "type": "string",
                                                            "required": true,
                                                            "enum": [
                                                                {
                                                                    "value": "ddns",
                                                                    "description": "ddns"
                                                                }
                                                            ]
                                                        }
                                                    }
                                                ]
                                            }
                                        }
                                    ]
                                }
                            }
                        ]
                    }
                },
                {
                    "variable": "resources",
                    "label": "",
                    "group": "Resources Configuration",
                    "schema": {
                        "type": "dict",
                        "attrs": [
                            {
                                "variable": "limits",
                                "label": "Limits",
                                "schema": {
                                    "type": "dict",
                                    "attrs": [
                                        {
                                            "variable": "cpus",
                                            "label": "CPUs",
                                            "description": "CPUs limit for DDNS Updater.",
                                            "schema": {
                                                "type": "int",
                                                "default": 2,
                                                "required": true
                                            }
                                        },
                                        {
                                            "variable": "memory",
                                            "label": "Memory (in MB)",
                                            "description": "Memory limit for DDNS Updater.",
                                            "schema": {
                                                "type": "int",
                                                "default": 4096,
                                                "required": true
                                            }
                                        }
                                    ]
                                }
                            }
                        ]
                    }
                }
            ]
        },
        "readme": "<h1>DDNS Updater</h1> <p><a href=\"https://github.com/qdm12/ddns-updater\">DDNS Updater</a> is a lightweight universal DDNS Updater with web UI</p>",
        "changelog": null,
        "chart_metadata": {
            "annotations": {
                "min_scale_version": "24.10.2.2"
            },
            "app_version": "v2.9.0",
            "capabilities": [],
            "categories": [
                "networking"
            ],
            "changelog_url": "https://github.com/qdm12/ddns-updater/releases",
            "date_added": "2024-08-01",
            "description": "Lightweight universal DDNS Updater with web UI",
            "home": "https://github.com/qdm12/ddns-updater",
            "host_mounts": [],
            "icon": "https://media.sys.truenas.net/apps/ddns-updater/icons/icon.svg",
            "keywords": [
                "ddns-updater",
                "ddns"
            ],
            "lib_version": "2.1.49",
            "lib_version_hash": "e71e6b0122c9446fa5ea6fb07e7eb01b11fb42d549a19845426bbd7e21a42634",
            "maintainers": [
                {
                    "email": "dev@ixsystems.com",
                    "name": "truenas",
                    "url": "https://www.truenas.com/"
                }
            ],
            "name": "ddns-updater",
            "run_as_context": [
                {
                    "description": "DDNS Updater runs as any non-root user.",
                    "gid": 568,
                    "group_name": "ddns-updater",
                    "uid": 568,
                    "user_name": "ddns-updater"
                }
            ],
            "screenshots": [
                "https://media.sys.truenas.net/apps/ddns-updater/screenshots/screenshot1.png"
            ],
            "sources": [
                "https://github.com/qdm12/ddns-updater",
                "https://hub.docker.com/r/qmcgaw/ddns-updater"
            ],
            "title": "DDNS Updater",
            "train": "community",
            "version": "1.2.8"
        }
    }
}


Resources

Read full post gdoc_arrow_right_alt

DDNS-Updater Deployment Notes

Support, maintenance, and documentation for applications within the Community catalog is handled by the TrueNAS community. The TrueNAS Applications Market hosts but does not validate or maintain any linked resources associated with this app.

We welcome community contributions to keep this documentation current! Click Edit Page in the top right corner to propose changes to this article.

The DDNS-Updater application is a lightweight universal dynamic DNS (DDNS) updater with web UI. When installed, a container launches with root privileges in order to apply the correct permissions to the DDNS-Updater directories. Afterwards, the container runs as a non-root user.

Read full post gdoc_arrow_right_alt

Deluge

Deluge
Get Started with Apps!
Requires TrueNAS: 24.10.2.2 or newer
App Version: 2.2.0 (Changelog)
Keywords: torrent, download
Train: Community
Home Page: https://deluge-torrent.org
Deluge Details
Added: 2024-08-02
Last Updated: 2025-09-02

Deluge is a lightweight, Free Software, cross-platform BitTorrent client.

Run as Context
  • Deluge runs as a root user.
    Group: 0 / root
    User: 0 / root

Security Capabilities
  • Deluge is able to change file ownership arbitrarily
  • Deluge is able to bypass file permission checks
  • Deluge is able to bypass permission checks for file operations
  • Deluge is able to change group ID of processes
  • Deluge is able to change user ID of processes

App Metadata (Raw File)
{
    "1.2.6": {
        "healthy": true,
        "supported": true,
        "healthy_error": null,
        "location": "/__w/apps/apps/trains/community/deluge/1.2.6",
        "last_update": "2025-09-02 11:33:24",
        "required_features": [],
        "human_version": "2.2.0_1.2.6",
        "version": "1.2.6",
        "app_metadata": {
            "annotations": {
                "min_scale_version": "24.10.2.2"
            },
            "app_version": "2.2.0",
            "capabilities": [
                {
                    "description": "Deluge is able to change file ownership arbitrarily",
                    "name": "CHOWN"
                },
                {
                    "description": "Deluge is able to bypass file permission checks",
                    "name": "DAC_OVERRIDE"
                },
                {
                    "description": "Deluge is able to bypass permission checks for file operations",
                    "name": "FOWNER"
                },
                {
                    "description": "Deluge is able to change group ID of processes",
                    "name": "SETGID"
                },
                {
                    "description": "Deluge is able to change user ID of processes",
                    "name": "SETUID"
                }
            ],
            "categories": [
                "media"
            ],
            "changelog_url": "https://git.deluge-torrent.org/deluge/log/",
            "date_added": "2024-08-02",
            "description": "Deluge is a lightweight, Free Software, cross-platform BitTorrent client.",
            "home": "https://deluge-torrent.org",
            "host_mounts": [],
            "icon": "https://media.sys.truenas.net/apps/deluge/icons/icon.png",
            "keywords": [
                "torrent",
                "download"
            ],
            "lib_version": "2.1.49",
            "lib_version_hash": "e71e6b0122c9446fa5ea6fb07e7eb01b11fb42d549a19845426bbd7e21a42634",
            "maintainers": [
                {
                    "email": "dev@ixsystems.com",
                    "name": "truenas",
                    "url": "https://www.truenas.com/"
                }
            ],
            "name": "deluge",
            "run_as_context": [
                {
                    "description": "Deluge runs as a root user.",
                    "gid": 0,
                    "group_name": "root",
                    "uid": 0,
                    "user_name": "root"
                }
            ],
            "screenshots": [],
            "sources": [
                "https://github.com/linuxserver/docker-deluge",
                "https://deluge-torrent.org/"
            ],
            "title": "Deluge",
            "train": "community",
            "version": "1.2.6"
        },
        "schema": {
            "groups": [
                {
                    "name": "Deluge Configuration",
                    "description": "Configure Deluge"
                },
                {
                    "name": "User and Group Configuration",
                    "description": "Configure User and Group for Deluge"
                },
                {
                    "name": "Network Configuration",
                    "description": "Configure Network for Deluge"
                },
                {
                    "name": "Storage Configuration",
                    "description": "Configure Storage for Deluge"
                },
                {
                    "name": "Labels Configuration",
                    "description": "Configure Labels for Deluge"
                },
                {
                    "name": "Resources Configuration",
                    "description": "Configure Resources for Deluge"
                }
            ],
            "questions": [
                {
                    "variable": "TZ",
                    "group": "Deluge Configuration",
                    "label": "Timezone",
                    "schema": {
                        "type": "string",
                        "default": "Etc/UTC",
                        "required": true,
                        "$ref": [
                            "definitions/timezone"
                        ]
                    }
                },
                {
                    "variable": "deluge",
                    "label": "",
                    "group": "Deluge Configuration",
                    "schema": {
                        "type": "dict",
                        "attrs": [
                            {
                                "variable": "additional_envs",
                                "label": "Additional Environment Variables",
                                "schema": {
                                    "type": "list",
                                    "default": [],
                                    "items": [
                                        {
                                            "variable": "env",
                                            "label": "Environment Variable",
                                            "schema": {
                                                "type": "dict",
                                                "attrs": [
                                                    {
                                                        "variable": "name",
                                                        "label": "Name",
                                                        "schema": {
                                                            "type": "string",
                                                            "required": true
                                                        }
                                                    },
                                                    {
                                                        "variable": "value",
                                                        "label": "Value",
                                                        "schema": {
                                                            "type": "string"
                                                        }
                                                    }
                                                ]
                                            }
                                        }
                                    ]
                                }
                            }
                        ]
                    }
                },
                {
                    "variable": "run_as",
                    "label": "",
                    "group": "User and Group Configuration",
                    "schema": {
                        "type": "dict",
                        "attrs": [
                            {
                                "variable": "user",
                                "label": "User ID",
                                "description": "The user id that Deluge files will be owned by.",
                                "schema": {
                                    "type": "int",
                                    "min": 568,
                                    "default": 568,
                                    "required": true
                                }
                            },
                            {
                                "variable": "group",
                                "label": "Group ID",
                                "description": "The group id that Deluge files will be owned by.",
                                "schema": {
                                    "type": "int",
                                    "min": 568,
                                    "default": 568,
                                    "required": true
                                }
                            }
                        ]
                    }
                },
                {
                    "variable": "network",
                    "label": "",
                    "group": "Network Configuration",
                    "schema": {
                        "type": "dict",
                        "attrs": [
                            {
                                "variable": "host_network",
                                "label": "Host Network",
                                "description": "Bind to the host network. It's recommended to keep this disabled.\n",
                                "schema": {
                                    "type": "boolean",
                                    "default": false
                                }
                            },
                            {
                                "variable": "web_port",
                                "label": "WebUI Port",
                                "description": "The port for Deluge WebUI\n(The internal port is always 8112)\n",
                                "schema": {
                                    "type": "dict",
                                    "show_if": [
                                        [
                                            "host_network",
                                            "=",
                                            false
                                        ]
                                    ],
                                    "attrs": [
                                        {
                                            "variable": "bind_mode",
                                            "label": "Port Bind Mode",
                                            "description": "The port bind mode.</br>\n- Publish: The port will be published on the host for external access.</br>\n- Expose: The port will be exposed for inter-container communication.</br>\n- None: The port will not be exposed or published.</br>\nNote: If the Dockerfile defines an EXPOSE directive,\nthe port will still be exposed for inter-container communication regardless of this setting.\n",
                                            "schema": {
                                                "type": "string",
                                                "default": "published",
                                                "enum": [
                                                    {
                                                        "value": "published",
                                                        "description": "Publish port on the host for external access"
                                                    },
                                                    {
                                                        "value": "exposed",
                                                        "description": "Expose port for inter-container communication"
                                                    },
                                                    {
                                                        "value": "",
                                                        "description": "None"
                                                    }
                                                ]
                                            }
                                        },
                                        {
                                            "variable": "port_number",
                                            "label": "Port Number",
                                            "schema": {
                                                "type": "int",
                                                "show_if": [
                                                    [
                                                        "bind_mode",
                                                        "=",
                                                        "published"
                                                    ]
                                                ],
                                                "default": 30038,
                                                "min": 1,
                                                "max": 65535,
                                                "required": true
                                            }
                                        },
                                        {
                                            "variable": "host_ips",
                                            "label": "Host IPs",
                                            "description": "IPs on the host to bind this port",
                                            "schema": {
                                                "type": "list",
                                                "show_if": [
                                                    [
                                                        "bind_mode",
                                                        "=",
                                                        "published"
                                                    ]
                                                ],
                                                "default": [],
                                                "items": [
                                                    {
                                                        "variable": "host_ip",
                                                        "label": "Host IP",
                                                        "schema": {
                                                            "type": "string",
                                                            "required": true,
                                                            "$ref": [
                                                                "definitions/node_bind_ip"
                                                            ]
                                                        }
                                                    }
                                                ]
                                            }
                                        }
                                    ]
                                }
                            },
                            {
                                "variable": "torrent_port",
                                "label": "Torrent Port",
                                "description": "The port for Deluge Torrent\nApplies to both TCP and UDP\n",
                                "schema": {
                                    "type": "dict",
                                    "attrs": [
                                        {
                                            "variable": "bind_mode",
                                            "label": "Port Bind Mode",
                                            "description": "The port bind mode.</br>\n- Publish: The port will be published on the host for external access.</br>\n- Expose: The port will be exposed for inter-container communication.</br>\n- None: The port will not be exposed or published.</br>\nNote: If the Dockerfile defines an EXPOSE directive,\nthe port will still be exposed for inter-container communication regardless of this setting.\n",
                                            "schema": {
                                                "type": "string",
                                                "default": "published",
                                                "enum": [
                                                    {
                                                        "value": "published",
                                                        "description": "Publish port on the host for external access"
                                                    },
                                                    {
                                                        "value": "exposed",
                                                        "description": "Expose port for inter-container communication"
                                                    },
                                                    {
                                                        "value": "",
                                                        "description": "None"
                                                    }
                                                ]
                                            }
                                        },
                                        {
                                            "variable": "port_number",
                                            "label": "Port Number",
                                            "schema": {
                                                "type": "int",
                                                "default": 30039,
                                                "min": 1,
                                                "max": 65535,
                                                "required": true
                                            }
                                        },
                                        {
                                            "variable": "host_ips",
                                            "label": "Host IPs",
                                            "description": "IPs on the host to bind this port",
                                            "schema": {
                                                "type": "list",
                                                "show_if": [
                                                    [
                                                        "bind_mode",
                                                        "=",
                                                        "published"
                                                    ]
                                                ],
                                                "default": [],
                                                "items": [
                                                    {
                                                        "variable": "host_ip",
                                                        "label": "Host IP",
                                                        "schema": {
                                                            "type": "string",
                                                            "required": true,
                                                            "$ref": [
                                                                "definitions/node_bind_ip"
                                                            ]
                                                        }
                                                    }
                                                ]
                                            }
                                        }
                                    ]
                                }
                            },
                            {
                                "variable": "daemon_port",
                                "label": "Daemon Port",
                                "description": "The port for Deluge Daemon\n(The internal port is always 58846)\n",
                                "schema": {
                                    "type": "dict",
                                    "show_if": [
                                        [
                                            "hostNetwork",
                                            "=",
                                            false
                                        ]
                                    ],
                                    "attrs": [
                                        {
                                            "variable": "bind_mode",
                                            "label": "Port Bind Mode",
                                            "description": "The port bind mode.</br>\n- Publish: The port will be published on the host for external access.</br>\n- Expose: The port will be exposed for inter-container communication.</br>\n- None: The port will not be exposed or published.</br>\nNote: If the Dockerfile defines an EXPOSE directive,\nthe port will still be exposed for inter-container communication regardless of this setting.\n",
                                            "schema": {
                                                "type": "string",
                                                "default": "",
                                                "enum": [
                                                    {
                                                        "value": "published",
                                                        "description": "Publish port on the host for external access"
                                                    },
                                                    {
                                                        "value": "exposed",
                                                        "description": "Expose port for inter-container communication"
                                                    },
                                                    {
                                                        "value": "",
                                                        "description": "None"
                                                    }
                                                ]
                                            }
                                        },
                                        {
                                            "variable": "port_number",
                                            "label": "Port Number",
                                            "schema": {
                                                "type": "int",
                                                "show_if": [
                                                    [
                                                        "bind_mode",
                                                        "=",
                                                        "published"
                                                    ]
                                                ],
                                                "default": 58846,
                                                "min": 1,
                                                "max": 65535,
                                                "required": true
                                            }
                                        },
                                        {
                                            "variable": "host_ips",
                                            "label": "Host IPs",
                                            "description": "IPs on the host to bind this port",
                                            "schema": {
                                                "type": "list",
                                                "show_if": [
                                                    [
                                                        "bind_mode",
                                                        "=",
                                                        "published"
                                                    ]
                                                ],
                                                "default": [],
                                                "items": [
                                                    {
                                                        "variable": "host_ip",
                                                        "label": "Host IP",
                                                        "schema": {
                                                            "type": "string",
                                                            "required": true,
                                                            "$ref": [
                                                                "definitions/node_bind_ip"
                                                            ]
                                                        }
                                                    }
                                                ]
                                            }
                                        }
                                    ]
                                }
                            }
                        ]
                    }
                },
                {
                    "variable": "storage",
                    "label": "",
                    "group": "Storage Configuration",
                    "schema": {
                        "type": "dict",
                        "attrs": [
                            {
                                "variable": "config",
                                "label": "Deluge Config Storage",
                                "description": "The path to store Deluge Config.",
                                "schema": {
                                    "type": "dict",
                                    "attrs": [
                                        {
                                            "variable": "type",
                                            "label": "Type",
                                            "description": "ixVolume: Is dataset created automatically by the system.</br>\nHost Path: Is a path that already exists on the system.\n",
                                            "schema": {
                                                "type": "string",
                                                "required": true,
                                                "default": "ix_volume",
                                                "enum": [
                                                    {
                                                        "value": "host_path",
                                                        "description": "Host Path (Path that already exists on the system)"
                                                    },
                                                    {
                                                        "value": "ix_volume",
                                                        "description": "ixVolume (Dataset created automatically by the system)"
                                                    }
                                                ]
                                            }
                                        },
                                        {
                                            "variable": "ix_volume_config",
                                            "label": "ixVolume Configuration",
                                            "description": "The configuration for the ixVolume dataset.",
                                            "schema": {
                                                "type": "dict",
                                                "show_if": [
                                                    [
                                                        "type",
                                                        "=",
                                                        "ix_volume"
                                                    ]
                                                ],
                                                "$ref": [
                                                    "normalize/ix_volume"
                                                ],
                                                "attrs": [
                                                    {
                                                        "variable": "acl_enable",
                                                        "label": "Enable ACL",
                                                        "description": "Enable ACL for the storage.",
                                                        "schema": {
                                                            "type": "boolean",
                                                            "default": false
                                                        }
                                                    },
                                                    {
                                                        "variable": "dataset_name",
                                                        "label": "Dataset Name",
                                                        "description": "The name of the dataset to use for storage.",
                                                        "schema": {
                                                            "type": "string",
                                                            "required": true,
                                                            "hidden": true,
                                                            "default": "config"
                                                        }
                                                    },
                                                    {
                                                        "variable": "acl_entries",
                                                        "label": "ACL Configuration",
                                                        "schema": {
                                                            "type": "dict",
                                                            "show_if": [
                                                                [
                                                                    "acl_enable",
                                                                    "=",
                                                                    true
                                                                ]
                                                            ],
                                                            "attrs": []
                                                        }
                                                    }
                                                ]
                                            }
                                        },
                                        {
                                            "variable": "host_path_config",
                                            "label": "Host Path Configuration",
                                            "schema": {
                                                "type": "dict",
                                                "show_if": [
                                                    [
                                                        "type",
                                                        "=",
                                                        "host_path"
                                                    ]
                                                ],
                                                "attrs": [
                                                    {
                                                        "variable": "acl_enable",
                                                        "label": "Enable ACL",
                                                        "description": "Enable ACL for the storage.",
                                                        "schema": {
                                                            "type": "boolean",
                                                            "default": false
                                                        }
                                                    },
                                                    {
                                                        "variable": "acl",
                                                        "label": "ACL Configuration",
                                                        "schema": {
                                                            "type": "dict",
                                                            "show_if": [
                                                                [
                                                                    "acl_enable",
                                                                    "=",
                                                                    true
                                                                ]
                                                            ],
                                                            "attrs": [],
                                                            "$ref": [
                                                                "normalize/acl"
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "path",
                                                        "label": "Host Path",
                                                        "description": "The host path to use for storage.",
                                                        "schema": {
                                                            "type": "hostpath",
                                                            "show_if": [
                                                                [
                                                                    "acl_enable",
                                                                    "=",
                                                                    false
                                                                ]
                                                            ],
                                                            "required": true
                                                        }
                                                    }
                                                ]
                                            }
                                        }
                                    ]
                                }
                            },
                            {
                                "variable": "downloads",
                                "label": "Deluge Downloads Storage",
                                "description": "The path to store Deluge Downloads.",
                                "schema": {
                                    "type": "dict",
                                    "attrs": [
                                        {
                                            "variable": "type",
                                            "label": "Type",
                                            "description": "ixVolume: Is dataset created automatically by the system.</br>\nHost Path: Is a path that already exists on the system.\n",
                                            "schema": {
                                                "type": "string",
                                                "required": true,
                                                "default": "ix_volume",
                                                "enum": [
                                                    {
                                                        "value": "host_path",
                                                        "description": "Host Path (Path that already exists on the system)"
                                                    },
                                                    {
                                                        "value": "ix_volume",
                                                        "description": "ixVolume (Dataset created automatically by the system)"
                                                    }
                                                ]
                                            }
                                        },
                                        {
                                            "variable": "ix_volume_config",
                                            "label": "ixVolume Configuration",
                                            "description": "The configuration for the ixVolume dataset.",
                                            "schema": {
                                                "type": "dict",
                                                "show_if": [
                                                    [
                                                        "type",
                                                        "=",
                                                        "ix_volume"
                                                    ]
                                                ],
                                                "$ref": [
                                                    "normalize/ix_volume"
                                                ],
                                                "attrs": [
                                                    {
                                                        "variable": "acl_enable",
                                                        "label": "Enable ACL",
                                                        "description": "Enable ACL for the storage.",
                                                        "schema": {
                                                            "type": "boolean",
                                                            "default": false
                                                        }
                                                    },
                                                    {
                                                        "variable": "dataset_name",
                                                        "label": "Dataset Name",
                                                        "description": "The name of the dataset to use for storage.",
                                                        "schema": {
                                                            "type": "string",
                                                            "required": true,
                                                            "hidden": true,
                                                            "default": "downloads"
                                                        }
                                                    },
                                                    {
                                                        "variable": "acl_entries",
                                                        "label": "ACL Configuration",
                                                        "schema": {
                                                            "type": "dict",
                                                            "show_if": [
                                                                [
                                                                    "acl_enable",
                                                                    "=",
                                                                    true
                                                                ]
                                                            ],
                                                            "attrs": []
                                                        }
                                                    }
                                                ]
                                            }
                                        },
                                        {
                                            "variable": "host_path_config",
                                            "label": "Host Path Configuration",
                                            "schema": {
                                                "type": "dict",
                                                "show_if": [
                                                    [
                                                        "type",
                                                        "=",
                                                        "host_path"
                                                    ]
                                                ],
                                                "attrs": [
                                                    {
                                                        "variable": "acl_enable",
                                                        "label": "Enable ACL",
                                                        "description": "Enable ACL for the storage.",
                                                        "schema": {
                                                            "type": "boolean",
                                                            "default": false
                                                        }
                                                    },
                                                    {
                                                        "variable": "acl",
                                                        "label": "ACL Configuration",
                                                        "schema": {
                                                            "type": "dict",
                                                            "show_if": [
                                                                [
                                                                    "acl_enable",
                                                                    "=",
                                                                    true
                                                                ]
                                                            ],
                                                            "attrs": [],
                                                            "$ref": [
                                                                "normalize/acl"
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "path",
                                                        "label": "Host Path",
                                                        "description": "The host path to use for storage.",
                                                        "schema": {
                                                            "type": "hostpath",
                                                            "show_if": [
                                                                [
                                                                    "acl_enable",
                                                                    "=",
                                                                    false
                                                                ]
                                                            ],
                                                            "required": true
                                                        }
                                                    }
                                                ]
                                            }
                                        }
                                    ]
                                }
                            },
                            {
                                "variable": "additional_storage",
                                "label": "Additional Storage",
                                "schema": {
                                    "type": "list",
                                    "default": [],
                                    "items": [
                                        {
                                            "variable": "storageEntry",
                                            "label": "Storage Entry",
                                            "schema": {
                                                "type": "dict",
                                                "attrs": [
                                                    {
                                                        "variable": "type",
                                                        "label": "Type",
                                                        "description": "ixVolume: Is dataset created automatically by the system.</br>\nHost Path: Is a path that already exists on the system.</br>\nSMB Share: Is a SMB share that is mounted to as a volume.\n",
                                                        "schema": {
                                                            "type": "string",
                                                            "required": true,
                                                            "default": "ix_volume",
                                                            "enum": [
                                                                {
                                                                    "value": "host_path",
                                                                    "description": "Host Path (Path that already exists on the system)"
                                                                },
                                                                {
                                                                    "value": "ix_volume",
                                                                    "description": "ixVolume (Dataset created automatically by the system)"
                                                                },
                                                                {
                                                                    "value": "cifs",
                                                                    "description": "SMB/CIFS Share (Mounts a volume to a SMB share)"
                                                                }
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "read_only",
                                                        "label": "Read Only",
                                                        "description": "Mount the volume as read only.",
                                                        "schema": {
                                                            "type": "boolean",
                                                            "default": false
                                                        }
                                                    },
                                                    {
                                                        "variable": "mount_path",
                                                        "label": "Mount Path",
                                                        "description": "The path inside the container to mount the storage.",
                                                        "schema": {
                                                            "type": "path",
                                                            "required": true
                                                        }
                                                    },
                                                    {
                                                        "variable": "host_path_config",
                                                        "label": "Host Path Configuration",
                                                        "schema": {
                                                            "type": "dict",
                                                            "show_if": [
                                                                [
                                                                    "type",
                                                                    "=",
                                                                    "host_path"
                                                                ]
                                                            ],
                                                            "attrs": [
                                                                {
                                                                    "variable": "acl_enable",
                                                                    "label": "Enable ACL",
                                                                    "description": "Enable ACL for the storage.",
                                                                    "schema": {
                                                                        "type": "boolean",
                                                                        "default": false
                                                                    }
                                                                },
                                                                {
                                                                    "variable": "acl",
                                                                    "label": "ACL Configuration",
                                                                    "schema": {
                                                                        "type": "dict",
                                                                        "show_if": [
                                                                            [
                                                                                "acl_enable",
                                                                                "=",
                                                                                true
                                                                            ]
                                                                        ],
                                                                        "attrs": [],
                                                                        "$ref": [
                                                                            "normalize/acl"
                                                                        ]
                                                                    }
                                                                },
                                                                {
                                                                    "variable": "path",
                                                                    "label": "Host Path",
                                                                    "description": "The host path to use for storage.",
                                                                    "schema": {
                                                                        "type": "hostpath",
                                                                        "show_if": [
                                                                            [
                                                                                "acl_enable",
                                                                                "=",
                                                                                false
                                                                            ]
                                                                        ],
                                                                        "required": true
                                                                    }
                                                                }
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "ix_volume_config",
                                                        "label": "ixVolume Configuration",
                                                        "description": "The configuration for the ixVolume dataset.",
                                                        "schema": {
                                                            "type": "dict",
                                                            "show_if": [
                                                                [
                                                                    "type",
                                                                    "=",
                                                                    "ix_volume"
                                                                ]
                                                            ],
                                                            "$ref": [
                                                                "normalize/ix_volume"
                                                            ],
                                                            "attrs": [
                                                                {
                                                                    "variable": "acl_enable",
                                                                    "label": "Enable ACL",
                                                                    "description": "Enable ACL for the storage.",
                                                                    "schema": {
                                                                        "type": "boolean",
                                                                        "default": false
                                                                    }
                                                                },
                                                                {
                                                                    "variable": "dataset_name",
                                                                    "label": "Dataset Name",
                                                                    "description": "The name of the dataset to use for storage.",
                                                                    "schema": {
                                                                        "type": "string",
                                                                        "required": true,
                                                                        "default": "storage_entry"
                                                                    }
                                                                },
                                                                {
                                                                    "variable": "acl_entries",
                                                                    "label": "ACL Configuration",
                                                                    "schema": {
                                                                        "type": "dict",
                                                                        "show_if": [
                                                                            [
                                                                                "acl_enable",
                                                                                "=",
                                                                                true
                                                                            ]
                                                                        ],
                                                                        "attrs": []
                                                                    }
                                                                }
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "cifs_config",
                                                        "label": "SMB Configuration",
                                                        "description": "The configuration for the SMB dataset.",
                                                        "schema": {
                                                            "type": "dict",
                                                            "show_if": [
                                                                [
                                                                    "type",
                                                                    "=",
                                                                    "cifs"
                                                                ]
                                                            ],
                                                            "attrs": [
                                                                {
                                                                    "variable": "server",
                                                                    "label": "Server",
                                                                    "description": "The server to mount the SMB share.",
                                                                    "schema": {
                                                                        "type": "string",
                                                                        "required": true
                                                                    }
                                                                },
                                                                {
                                                                    "variable": "path",
                                                                    "label": "Path",
                                                                    "description": "The path to mount the SMB share.",
                                                                    "schema": {
                                                                        "type": "string",
                                                                        "required": true
                                                                    }
                                                                },
                                                                {
                                                                    "variable": "username",
                                                                    "label": "Username",
                                                                    "description": "The username to use for the SMB share.",
                                                                    "schema": {
                                                                        "type": "string",
                                                                        "required": true
                                                                    }
                                                                },
                                                                {
                                                                    "variable": "password",
                                                                    "label": "Password",
                                                                    "description": "The password to use for the SMB share.",
                                                                    "schema": {
                                                                        "type": "string",
                                                                        "required": true,
                                                                        "private": true
                                                                    }
                                                                },
                                                                {
                                                                    "variable": "domain",
                                                                    "label": "Domain",
                                                                    "description": "The domain to use for the SMB share.",
                                                                    "schema": {
                                                                        "type": "string"
                                                                    }
                                                                }
                                                            ]
                                                        }
                                                    }
                                                ]
                                            }
                                        }
                                    ]
                                }
                            }
                        ]
                    }
                },
                {
                    "variable": "labels",
                    "label": "",
                    "group": "Labels Configuration",
                    "schema": {
                        "type": "list",
                        "default": [],
                        "items": [
                            {
                                "variable": "label",
                                "label": "Label",
                                "schema": {
                                    "type": "dict",
                                    "attrs": [
                                        {
                                            "variable": "key",
                                            "label": "Key",
                                            "schema": {
                                                "type": "string",
                                                "required": true
                                            }
                                        },
                                        {
                                            "variable": "value",
                                            "label": "Value",
                                            "schema": {
                                                "type": "string",
                                                "required": true
                                            }
                                        },
                                        {
                                            "variable": "containers",
                                            "label": "Containers",
                                            "description": "Containers where the label should be applied",
                                            "schema": {
                                                "type": "list",
                                                "items": [
                                                    {
                                                        "variable": "container",
                                                        "label": "Container",
                                                        "schema": {
                                                            "type": "string",
                                                            "required": true,
                                                            "enum": [
                                                                {
                                                                    "value": "deluge",
                                                                    "description": "deluge"
                                                                }
                                                            ]
                                                        }
                                                    }
                                                ]
                                            }
                                        }
                                    ]
                                }
                            }
                        ]
                    }
                },
                {
                    "variable": "resources",
                    "label": "",
                    "group": "Resources Configuration",
                    "schema": {
                        "type": "dict",
                        "attrs": [
                            {
                                "variable": "limits",
                                "label": "Limits",
                                "schema": {
                                    "type": "dict",
                                    "attrs": [
                                        {
                                            "variable": "cpus",
                                            "label": "CPUs",
                                            "description": "CPUs limit for Deluge.",
                                            "schema": {
                                                "type": "int",
                                                "default": 2,
                                                "required": true
                                            }
                                        },
                                        {
                                            "variable": "memory",
                                            "label": "Memory (in MB)",
                                            "description": "Memory limit for Deluge.",
                                            "schema": {
                                                "type": "int",
                                                "default": 4096,
                                                "required": true
                                            }
                                        }
                                    ]
                                }
                            }
                        ]
                    }
                }
            ]
        },
        "readme": "<h1>Deluge</h1> <p><a href=\"https://deluge-torrent.org/\">Deluge</a> is a lightweight, Free Software, cross-platform BitTorrent client.</p>",
        "changelog": null,
        "chart_metadata": {
            "annotations": {
                "min_scale_version": "24.10.2.2"
            },
            "app_version": "2.2.0",
            "capabilities": [
                {
                    "description": "Deluge is able to change file ownership arbitrarily",
                    "name": "CHOWN"
                },
                {
                    "description": "Deluge is able to bypass file permission checks",
                    "name": "DAC_OVERRIDE"
                },
                {
                    "description": "Deluge is able to bypass permission checks for file operations",
                    "name": "FOWNER"
                },
                {
                    "description": "Deluge is able to change group ID of processes",
                    "name": "SETGID"
                },
                {
                    "description": "Deluge is able to change user ID of processes",
                    "name": "SETUID"
                }
            ],
            "categories": [
                "media"
            ],
            "changelog_url": "https://git.deluge-torrent.org/deluge/log/",
            "date_added": "2024-08-02",
            "description": "Deluge is a lightweight, Free Software, cross-platform BitTorrent client.",
            "home": "https://deluge-torrent.org",
            "host_mounts": [],
            "icon": "https://media.sys.truenas.net/apps/deluge/icons/icon.png",
            "keywords": [
                "torrent",
                "download"
            ],
            "lib_version": "2.1.49",
            "lib_version_hash": "e71e6b0122c9446fa5ea6fb07e7eb01b11fb42d549a19845426bbd7e21a42634",
            "maintainers": [
                {
                    "email": "dev@ixsystems.com",
                    "name": "truenas",
                    "url": "https://www.truenas.com/"
                }
            ],
            "name": "deluge",
            "run_as_context": [
                {
                    "description": "Deluge runs as a root user.",
                    "gid": 0,
                    "group_name": "root",
                    "uid": 0,
                    "user_name": "root"
                }
            ],
            "screenshots": [],
            "sources": [
                "https://github.com/linuxserver/docker-deluge",
                "https://deluge-torrent.org/"
            ],
            "title": "Deluge",
            "train": "community",
            "version": "1.2.6"
        }
    }
}


Resources

Read full post gdoc_arrow_right_alt

Deploying Enterprise MinIO: Basics

TrueNAS Enterprise icon TrueNAS Enterprise

TrueNAS Enterprise-licensed systems do not have applications available by default. To enable applications as part of the Enterprise license, consult with the TrueNAS Support team.

Official TrueNAS support for Enterprise apps falls under two tiers: Enterprise Deployment Support and Enterprise Application Support. Please review the App Support Definitions and consult with the TrueNAS Support Team for any further clarifications.

Read full post gdoc_arrow_right_alt

Deploying Enterprise Syncthing

TrueNAS Enterprise icon TrueNAS Enterprise

TrueNAS Enterprise-licensed systems do not have applications available by default. To enable applications as part of the Enterprise license, consult with the TrueNAS Support team.

Official TrueNAS support for Enterprise apps falls under two tiers: Enterprise Deployment Support and Enterprise Application Support. Please review the App Support Definitions and consult with the TrueNAS Support Team for any further clarifications.

Read full post gdoc_arrow_right_alt

Diskover Data

Diskover Data
Get Started with Apps!
Requires TrueNAS: 24.10.2.2 or newer
App Version: 2.3.2 (Changelog)
Keywords: storage, monitoring, management, discovery
Train: Stable
Home Page: https://github.com/diskoverdata/diskover-community
Diskover Data Details
Added: 2024-08-29
Last Updated: 2025-09-03

Diskover is used to monitor size/volumes of distributed dataset.

Run as Context
  • Diskover runs as root user.
    Group: 0 / root
    User: 0 / root
  • Elastic Search runs as a non-root user.
    Group: 1000 / elastic-search
    User: 1000 / elastic-search

Screenshots
Screenshot 1 Screenshot 2 Screenshot 3

Security Capabilities
  • Diskover Data is able to change file ownership arbitrarily
  • Diskover Data is able to bypass file permission checks
  • Diskover Data is able to bypass permission checks for file operations
  • Diskover Data is able to bind to privileged ports (< 1024)
  • Diskover Data is able to change group ID of processes
  • Diskover Data is able to change user ID of processes

App Metadata (Raw File)
{
    "1.5.15": {
        "healthy": true,
        "supported": true,
        "healthy_error": null,
        "location": "/__w/apps/apps/trains/stable/diskoverdata/1.5.15",
        "last_update": "2025-09-03 12:56:43",
        "required_features": [],
        "human_version": "2.3.2_1.5.15",
        "version": "1.5.15",
        "app_metadata": {
            "annotations": {
                "min_scale_version": "24.10.2.2"
            },
            "app_version": "2.3.2",
            "capabilities": [
                {
                    "description": "Diskover Data is able to change file ownership arbitrarily",
                    "name": "CHOWN"
                },
                {
                    "description": "Diskover Data is able to bypass file permission checks",
                    "name": "DAC_OVERRIDE"
                },
                {
                    "description": "Diskover Data is able to bypass permission checks for file operations",
                    "name": "FOWNER"
                },
                {
                    "description": "Diskover Data is able to bind to privileged ports (< 1024)",
                    "name": "NET_BIND_SERVICE"
                },
                {
                    "description": "Diskover Data is able to change group ID of processes",
                    "name": "SETGID"
                },
                {
                    "description": "Diskover Data is able to change user ID of processes",
                    "name": "SETUID"
                }
            ],
            "categories": [
                "monitoring"
            ],
            "changelog_url": "https://docs.diskoverdata.com/diskover_changelogs/",
            "date_added": "2024-08-29",
            "description": "Diskover is used to monitor size/volumes of distributed dataset.",
            "home": "https://github.com/diskoverdata/diskover-community",
            "host_mounts": [],
            "icon": "https://media.sys.truenas.net/apps/diskoverdata/icons/icon.png",
            "keywords": [
                "storage",
                "monitoring",
                "management",
                "discovery"
            ],
            "lib_version": "2.1.49",
            "lib_version_hash": "e71e6b0122c9446fa5ea6fb07e7eb01b11fb42d549a19845426bbd7e21a42634",
            "maintainers": [
                {
                    "email": "dev@ixsystems.com",
                    "name": "truenas",
                    "url": "https://www.truenas.com/"
                }
            ],
            "name": "diskoverdata",
            "run_as_context": [
                {
                    "description": "Diskover runs as root user.",
                    "gid": 0,
                    "group_name": "root",
                    "uid": 0,
                    "user_name": "root"
                },
                {
                    "description": "Elastic Search runs as a non-root user.",
                    "gid": 1000,
                    "group_name": "elastic-search",
                    "uid": 1000,
                    "user_name": "elastic-search"
                }
            ],
            "screenshots": [
                "https://media.sys.truenas.net/apps/diskoverdata/screenshots/screenshot1.png",
                "https://media.sys.truenas.net/apps/diskoverdata/screenshots/screenshot2.png",
                "https://media.sys.truenas.net/apps/diskoverdata/screenshots/screenshot3.png"
            ],
            "sources": [
                "https://github.com/diskoverdata/diskover-community",
                "https://github.com/linuxserver/docker-diskover"
            ],
            "title": "Diskover Data",
            "train": "stable",
            "version": "1.5.15"
        },
        "schema": {
            "groups": [
                {
                    "name": "Diskover Data Configuration",
                    "description": "Configure Diskover Data"
                },
                {
                    "name": "User and Group Configuration",
                    "description": "Configure User and Group for Diskover Data"
                },
                {
                    "name": "Network Configuration",
                    "description": "Configure Network for Diskover Data"
                },
                {
                    "name": "Storage Configuration",
                    "description": "Configure Storage for Diskover Data"
                },
                {
                    "name": "Labels Configuration",
                    "description": "Configure Labels for Collabora"
                },
                {
                    "name": "Resources Configuration",
                    "description": "Configure Resources for Diskover Data"
                }
            ],
            "questions": [
                {
                    "variable": "TZ",
                    "group": "Diskover Data Configuration",
                    "label": "Timezone",
                    "schema": {
                        "type": "string",
                        "default": "Etc/UTC",
                        "required": true,
                        "$ref": [
                            "definitions/timezone"
                        ]
                    }
                },
                {
                    "variable": "diskover_data",
                    "label": "",
                    "group": "Diskover Data Configuration",
                    "schema": {
                        "type": "dict",
                        "attrs": [
                            {
                                "variable": "cron_schedule",
                                "label": "Cron Schedule",
                                "description": "The cron schedule for indexing data. </br>\nUntil the first run, the diskover data will display an error page.\n",
                                "schema": {
                                    "type": "string",
                                    "default": "*/15 * * * *",
                                    "required": true
                                }
                            },
                            {
                                "variable": "additional_envs",
                                "label": "Additional Environment Variables",
                                "schema": {
                                    "type": "list",
                                    "default": [],
                                    "items": [
                                        {
                                            "variable": "env",
                                            "label": "Environment Variable",
                                            "schema": {
                                                "type": "dict",
                                                "attrs": [
                                                    {
                                                        "variable": "name",
                                                        "label": "Name",
                                                        "schema": {
                                                            "type": "string",
                                                            "required": true
                                                        }
                                                    },
                                                    {
                                                        "variable": "value",
                                                        "label": "Value",
                                                        "schema": {
                                                            "type": "string"
                                                        }
                                                    }
                                                ]
                                            }
                                        }
                                    ]
                                }
                            }
                        ]
                    }
                },
                {
                    "variable": "run_as",
                    "label": "",
                    "group": "User and Group Configuration",
                    "schema": {
                        "type": "dict",
                        "attrs": [
                            {
                                "variable": "user",
                                "label": "User ID",
                                "description": "The user id that Diskover Data files will be owned by.",
                                "schema": {
                                    "type": "int",
                                    "min": 568,
                                    "default": 568,
                                    "required": true
                                }
                            },
                            {
                                "variable": "group",
                                "label": "Group ID",
                                "description": "The group id that Diskover Data files will be owned by.",
                                "schema": {
                                    "type": "int",
                                    "min": 568,
                                    "default": 568,
                                    "required": true
                                }
                            }
                        ]
                    }
                },
                {
                    "variable": "network",
                    "label": "",
                    "group": "Network Configuration",
                    "schema": {
                        "type": "dict",
                        "attrs": [
                            {
                                "variable": "web_port",
                                "label": "WebUI Port",
                                "schema": {
                                    "type": "dict",
                                    "show_if": [
                                        [
                                            "host_network",
                                            "=",
                                            false
                                        ]
                                    ],
                                    "attrs": [
                                        {
                                            "variable": "bind_mode",
                                            "label": "Port Bind Mode",
                                            "description": "The port bind mode.</br>\n- Publish: The port will be published on the host for external access.</br>\n- Expose: The port will be exposed for inter-container communication.</br>\n- None: The port will not be exposed or published.</br>\nNote: If the Dockerfile defines an EXPOSE directive,\nthe port will still be exposed for inter-container communication regardless of this setting.\n",
                                            "schema": {
                                                "type": "string",
                                                "default": "published",
                                                "enum": [
                                                    {
                                                        "value": "published",
                                                        "description": "Publish port on the host for external access"
                                                    },
                                                    {
                                                        "value": "exposed",
                                                        "description": "Expose port for inter-container communication"
                                                    },
                                                    {
                                                        "value": "",
                                                        "description": "None"
                                                    }
                                                ]
                                            }
                                        },
                                        {
                                            "variable": "port_number",
                                            "label": "Port Number",
                                            "schema": {
                                                "type": "int",
                                                "show_if": [
                                                    [
                                                        "bind_mode",
                                                        "=",
                                                        "published"
                                                    ]
                                                ],
                                                "default": 30102,
                                                "min": 1,
                                                "max": 65535,
                                                "required": true
                                            }
                                        },
                                        {
                                            "variable": "host_ips",
                                            "label": "Host IPs",
                                            "description": "IPs on the host to bind this port",
                                            "schema": {
                                                "type": "list",
                                                "show_if": [
                                                    [
                                                        "bind_mode",
                                                        "=",
                                                        "published"
                                                    ]
                                                ],
                                                "default": [],
                                                "items": [
                                                    {
                                                        "variable": "host_ip",
                                                        "label": "Host IP",
                                                        "schema": {
                                                            "type": "string",
                                                            "required": true,
                                                            "$ref": [
                                                                "definitions/node_bind_ip"
                                                            ]
                                                        }
                                                    }
                                                ]
                                            }
                                        }
                                    ]
                                }
                            },
                            {
                                "variable": "host_network",
                                "label": "Host Network",
                                "description": "Bind to the host network. It's recommended to keep this disabled.\n",
                                "schema": {
                                    "type": "boolean",
                                    "default": false
                                }
                            },
                            {
                                "variable": "dns_opts",
                                "label": "DNS Options",
                                "description": "DNS options for the container.</br>\nFormat: key:value</br>\nExample: attempts:3\n",
                                "schema": {
                                    "type": "list",
                                    "default": [],
                                    "items": [
                                        {
                                            "variable": "option",
                                            "label": "Option",
                                            "schema": {
                                                "type": "string",
                                                "required": true
                                            }
                                        }
                                    ]
                                }
                            }
                        ]
                    }
                },
                {
                    "variable": "storage",
                    "label": "",
                    "group": "Storage Configuration",
                    "schema": {
                        "type": "dict",
                        "attrs": [
                            {
                                "variable": "config",
                                "label": "Diskover Data Config Storage",
                                "description": "The path to store Diskover Data Config.",
                                "schema": {
                                    "type": "dict",
                                    "attrs": [
                                        {
                                            "variable": "type",
                                            "label": "Type",
                                            "description": "ixVolume: Is dataset created automatically by the system.</br>\nHost Path: Is a path that already exists on the system.\n",
                                            "schema": {
                                                "type": "string",
                                                "required": true,
                                                "default": "ix_volume",
                                                "enum": [
                                                    {
                                                        "value": "host_path",
                                                        "description": "Host Path (Path that already exists on the system)"
                                                    },
                                                    {
                                                        "value": "ix_volume",
                                                        "description": "ixVolume (Dataset created automatically by the system)"
                                                    }
                                                ]
                                            }
                                        },
                                        {
                                            "variable": "ix_volume_config",
                                            "label": "ixVolume Configuration",
                                            "description": "The configuration for the ixVolume dataset.",
                                            "schema": {
                                                "type": "dict",
                                                "show_if": [
                                                    [
                                                        "type",
                                                        "=",
                                                        "ix_volume"
                                                    ]
                                                ],
                                                "$ref": [
                                                    "normalize/ix_volume"
                                                ],
                                                "attrs": [
                                                    {
                                                        "variable": "acl_enable",
                                                        "label": "Enable ACL",
                                                        "description": "Enable ACL for the storage.",
                                                        "schema": {
                                                            "type": "boolean",
                                                            "default": false
                                                        }
                                                    },
                                                    {
                                                        "variable": "dataset_name",
                                                        "label": "Dataset Name",
                                                        "description": "The name of the dataset to use for storage.",
                                                        "schema": {
                                                            "type": "string",
                                                            "required": true,
                                                            "hidden": true,
                                                            "default": "config"
                                                        }
                                                    },
                                                    {
                                                        "variable": "acl_entries",
                                                        "label": "ACL Configuration",
                                                        "schema": {
                                                            "type": "dict",
                                                            "show_if": [
                                                                [
                                                                    "acl_enable",
                                                                    "=",
                                                                    true
                                                                ]
                                                            ],
                                                            "attrs": []
                                                        }
                                                    }
                                                ]
                                            }
                                        },
                                        {
                                            "variable": "host_path_config",
                                            "label": "Host Path Configuration",
                                            "schema": {
                                                "type": "dict",
                                                "show_if": [
                                                    [
                                                        "type",
                                                        "=",
                                                        "host_path"
                                                    ]
                                                ],
                                                "attrs": [
                                                    {
                                                        "variable": "acl_enable",
                                                        "label": "Enable ACL",
                                                        "description": "Enable ACL for the storage.",
                                                        "schema": {
                                                            "type": "boolean",
                                                            "default": false
                                                        }
                                                    },
                                                    {
                                                        "variable": "acl",
                                                        "label": "ACL Configuration",
                                                        "schema": {
                                                            "type": "dict",
                                                            "show_if": [
                                                                [
                                                                    "acl_enable",
                                                                    "=",
                                                                    true
                                                                ]
                                                            ],
                                                            "attrs": [],
                                                            "$ref": [
                                                                "normalize/acl"
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "path",
                                                        "label": "Host Path",
                                                        "description": "The host path to use for storage.",
                                                        "schema": {
                                                            "type": "hostpath",
                                                            "show_if": [
                                                                [
                                                                    "acl_enable",
                                                                    "=",
                                                                    false
                                                                ]
                                                            ],
                                                            "required": true
                                                        }
                                                    }
                                                ]
                                            }
                                        }
                                    ]
                                }
                            },
                            {
                                "variable": "data",
                                "label": "Diskover Data Storage",
                                "description": "The path to store Diskover Data.",
                                "schema": {
                                    "type": "dict",
                                    "attrs": [
                                        {
                                            "variable": "type",
                                            "label": "Type",
                                            "description": "ixVolume: Is dataset created automatically by the system.</br>\nHost Path: Is a path that already exists on the system.\n",
                                            "schema": {
                                                "type": "string",
                                                "required": true,
                                                "default": "ix_volume",
                                                "enum": [
                                                    {
                                                        "value": "host_path",
                                                        "description": "Host Path (Path that already exists on the system)"
                                                    },
                                                    {
                                                        "value": "ix_volume",
                                                        "description": "ixVolume (Dataset created automatically by the system)"
                                                    }
                                                ]
                                            }
                                        },
                                        {
                                            "variable": "ix_volume_config",
                                            "label": "ixVolume Configuration",
                                            "description": "The configuration for the ixVolume dataset.",
                                            "schema": {
                                                "type": "dict",
                                                "show_if": [
                                                    [
                                                        "type",
                                                        "=",
                                                        "ix_volume"
                                                    ]
                                                ],
                                                "$ref": [
                                                    "normalize/ix_volume"
                                                ],
                                                "attrs": [
                                                    {
                                                        "variable": "acl_enable",
                                                        "label": "Enable ACL",
                                                        "description": "Enable ACL for the storage.",
                                                        "schema": {
                                                            "type": "boolean",
                                                            "default": false
                                                        }
                                                    },
                                                    {
                                                        "variable": "dataset_name",
                                                        "label": "Dataset Name",
                                                        "description": "The name of the dataset to use for storage.",
                                                        "schema": {
                                                            "type": "string",
                                                            "required": true,
                                                            "hidden": true,
                                                            "default": "data"
                                                        }
                                                    },
                                                    {
                                                        "variable": "acl_entries",
                                                        "label": "ACL Configuration",
                                                        "schema": {
                                                            "type": "dict",
                                                            "show_if": [
                                                                [
                                                                    "acl_enable",
                                                                    "=",
                                                                    true
                                                                ]
                                                            ],
                                                            "attrs": []
                                                        }
                                                    }
                                                ]
                                            }
                                        },
                                        {
                                            "variable": "host_path_config",
                                            "label": "Host Path Configuration",
                                            "schema": {
                                                "type": "dict",
                                                "show_if": [
                                                    [
                                                        "type",
                                                        "=",
                                                        "host_path"
                                                    ]
                                                ],
                                                "attrs": [
                                                    {
                                                        "variable": "acl_enable",
                                                        "label": "Enable ACL",
                                                        "description": "Enable ACL for the storage.",
                                                        "schema": {
                                                            "type": "boolean",
                                                            "default": false
                                                        }
                                                    },
                                                    {
                                                        "variable": "acl",
                                                        "label": "ACL Configuration",
                                                        "schema": {
                                                            "type": "dict",
                                                            "show_if": [
                                                                [
                                                                    "acl_enable",
                                                                    "=",
                                                                    true
                                                                ]
                                                            ],
                                                            "attrs": [],
                                                            "$ref": [
                                                                "normalize/acl"
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "path",
                                                        "label": "Host Path",
                                                        "description": "The host path to use for storage.",
                                                        "schema": {
                                                            "type": "hostpath",
                                                            "show_if": [
                                                                [
                                                                    "acl_enable",
                                                                    "=",
                                                                    false
                                                                ]
                                                            ],
                                                            "required": true
                                                        }
                                                    }
                                                ]
                                            }
                                        }
                                    ]
                                }
                            },
                            {
                                "variable": "es_data",
                                "label": "Elastic Search Data Storage",
                                "description": "The path to store Elastic Search Data.",
                                "schema": {
                                    "type": "dict",
                                    "attrs": [
                                        {
                                            "variable": "type",
                                            "label": "Type",
                                            "description": "ixVolume: Is dataset created automatically by the system.</br>\nHost Path: Is a path that already exists on the system.\n",
                                            "schema": {
                                                "type": "string",
                                                "required": true,
                                                "default": "ix_volume",
                                                "enum": [
                                                    {
                                                        "value": "host_path",
                                                        "description": "Host Path (Path that already exists on the system)"
                                                    },
                                                    {
                                                        "value": "ix_volume",
                                                        "description": "ixVolume (Dataset created automatically by the system)"
                                                    }
                                                ]
                                            }
                                        },
                                        {
                                            "variable": "ix_volume_config",
                                            "label": "ixVolume Configuration",
                                            "description": "The configuration for the ixVolume dataset.",
                                            "schema": {
                                                "type": "dict",
                                                "show_if": [
                                                    [
                                                        "type",
                                                        "=",
                                                        "ix_volume"
                                                    ]
                                                ],
                                                "$ref": [
                                                    "normalize/ix_volume"
                                                ],
                                                "attrs": [
                                                    {
                                                        "variable": "acl_enable",
                                                        "label": "Enable ACL",
                                                        "description": "Enable ACL for the storage.",
                                                        "schema": {
                                                            "type": "boolean",
                                                            "default": false
                                                        }
                                                    },
                                                    {
                                                        "variable": "dataset_name",
                                                        "label": "Dataset Name",
                                                        "description": "The name of the dataset to use for storage.",
                                                        "schema": {
                                                            "type": "string",
                                                            "required": true,
                                                            "hidden": true,
                                                            "default": "es_data"
                                                        }
                                                    },
                                                    {
                                                        "variable": "acl_entries",
                                                        "label": "ACL Configuration",
                                                        "schema": {
                                                            "type": "dict",
                                                            "show_if": [
                                                                [
                                                                    "acl_enable",
                                                                    "=",
                                                                    true
                                                                ]
                                                            ],
                                                            "attrs": []
                                                        }
                                                    }
                                                ]
                                            }
                                        },
                                        {
                                            "variable": "host_path_config",
                                            "label": "Host Path Configuration",
                                            "schema": {
                                                "type": "dict",
                                                "show_if": [
                                                    [
                                                        "type",
                                                        "=",
                                                        "host_path"
                                                    ]
                                                ],
                                                "attrs": [
                                                    {
                                                        "variable": "acl_enable",
                                                        "label": "Enable ACL",
                                                        "description": "Enable ACL for the storage.",
                                                        "schema": {
                                                            "type": "boolean",
                                                            "default": false
                                                        }
                                                    },
                                                    {
                                                        "variable": "acl",
                                                        "label": "ACL Configuration",
                                                        "schema": {
                                                            "type": "dict",
                                                            "show_if": [
                                                                [
                                                                    "acl_enable",
                                                                    "=",
                                                                    true
                                                                ]
                                                            ],
                                                            "attrs": [],
                                                            "$ref": [
                                                                "normalize/acl"
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "path",
                                                        "label": "Host Path",
                                                        "description": "The host path to use for storage.",
                                                        "schema": {
                                                            "type": "hostpath",
                                                            "show_if": [
                                                                [
                                                                    "acl_enable",
                                                                    "=",
                                                                    false
                                                                ]
                                                            ],
                                                            "required": true
                                                        }
                                                    }
                                                ]
                                            }
                                        }
                                    ]
                                }
                            },
                            {
                                "variable": "additional_storage",
                                "label": "Additional Storage",
                                "schema": {
                                    "type": "list",
                                    "default": [],
                                    "items": [
                                        {
                                            "variable": "storageEntry",
                                            "label": "Storage Entry",
                                            "schema": {
                                                "type": "dict",
                                                "attrs": [
                                                    {
                                                        "variable": "type",
                                                        "label": "Type",
                                                        "description": "ixVolume: Is dataset created automatically by the system.</br>\nHost Path: Is a path that already exists on the system.</br>\nSMB Share: Is a SMB share that is mounted to as a volume.\n",
                                                        "schema": {
                                                            "type": "string",
                                                            "required": true,
                                                            "default": "ix_volume",
                                                            "enum": [
                                                                {
                                                                    "value": "host_path",
                                                                    "description": "Host Path (Path that already exists on the system)"
                                                                },
                                                                {
                                                                    "value": "ix_volume",
                                                                    "description": "ixVolume (Dataset created automatically by the system)"
                                                                },
                                                                {
                                                                    "value": "cifs",
                                                                    "description": "SMB/CIFS Share (Mounts a volume to a SMB share)"
                                                                }
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "index_data",
                                                        "label": "Enable Diskover Data Indexing",
                                                        "description": "Enable Diskover Data Indexing.",
                                                        "schema": {
                                                            "type": "boolean",
                                                            "default": false
                                                        }
                                                    },
                                                    {
                                                        "variable": "read_only",
                                                        "label": "Read Only",
                                                        "description": "Mount the volume as read only.",
                                                        "schema": {
                                                            "type": "boolean",
                                                            "default": false
                                                        }
                                                    },
                                                    {
                                                        "variable": "mount_path",
                                                        "label": "Mount Path",
                                                        "description": "The path inside the container to mount the storage.",
                                                        "schema": {
                                                            "type": "path",
                                                            "required": true
                                                        }
                                                    },
                                                    {
                                                        "variable": "host_path_config",
                                                        "label": "Host Path Configuration",
                                                        "schema": {
                                                            "type": "dict",
                                                            "show_if": [
                                                                [
                                                                    "type",
                                                                    "=",
                                                                    "host_path"
                                                                ]
                                                            ],
                                                            "attrs": [
                                                                {
                                                                    "variable": "acl_enable",
                                                                    "label": "Enable ACL",
                                                                    "description": "Enable ACL for the storage.",
                                                                    "schema": {
                                                                        "type": "boolean",
                                                                        "default": false
                                                                    }
                                                                },
                                                                {
                                                                    "variable": "acl",
                                                                    "label": "ACL Configuration",
                                                                    "schema": {
                                                                        "type": "dict",
                                                                        "show_if": [
                                                                            [
                                                                                "acl_enable",
                                                                                "=",
                                                                                true
                                                                            ]
                                                                        ],
                                                                        "attrs": [],
                                                                        "$ref": [
                                                                            "normalize/acl"
                                                                        ]
                                                                    }
                                                                },
                                                                {
                                                                    "variable": "path",
                                                                    "label": "Host Path",
                                                                    "description": "The host path to use for storage.",
                                                                    "schema": {
                                                                        "type": "hostpath",
                                                                        "show_if": [
                                                                            [
                                                                                "acl_enable",
                                                                                "=",
                                                                                false
                                                                            ]
                                                                        ],
                                                                        "required": true
                                                                    }
                                                                }
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "ix_volume_config",
                                                        "label": "ixVolume Configuration",
                                                        "description": "The configuration for the ixVolume dataset.",
                                                        "schema": {
                                                            "type": "dict",
                                                            "show_if": [
                                                                [
                                                                    "type",
                                                                    "=",
                                                                    "ix_volume"
                                                                ]
                                                            ],
                                                            "$ref": [
                                                                "normalize/ix_volume"
                                                            ],
                                                            "attrs": [
                                                                {
                                                                    "variable": "acl_enable",
                                                                    "label": "Enable ACL",
                                                                    "description": "Enable ACL for the storage.",
                                                                    "schema": {
                                                                        "type": "boolean",
                                                                        "default": false
                                                                    }
                                                                },
                                                                {
                                                                    "variable": "dataset_name",
                                                                    "label": "Dataset Name",
                                                                    "description": "The name of the dataset to use for storage.",
                                                                    "schema": {
                                                                        "type": "string",
                                                                        "required": true,
                                                                        "default": "storage_entry"
                                                                    }
                                                                },
                                                                {
                                                                    "variable": "acl_entries",
                                                                    "label": "ACL Configuration",
                                                                    "schema": {
                                                                        "type": "dict",
                                                                        "show_if": [
                                                                            [
                                                                                "acl_enable",
                                                                                "=",
                                                                                true
                                                                            ]
                                                                        ],
                                                                        "attrs": [],
                                                                        "$ref": [
                                                                            "normalize/acl"
                                                                        ]
                                                                    }
                                                                }
                                                            ]
                                                        }
                                                    },
                                                    {
                                                        "variable": "cifs_config",
                                                        "label": "SMB Configuration",
                                                        "description": "The configuration for the SMB dataset.",
                                                        "schema": {
                                                            "type": "dict",
                                                            "show_if": [
                                                                [
                                                                    "type",
                                                                    "=",
                                                                    "cifs"
                                                                ]
                                                            ],
                                                            "attrs": [
                                                                {
                                                                    "variable": "server",
                                                                    "label": "Server",
                                                                    "description": "The server to mount the SMB share.",
                                                                    "schema": {
                                                                        "type": "string",
                                                                        "required": true
                                                                    }
                                                                },
                                                                {
                                                                    "variable": "path",
                                                                    "label": "Path",
                                                                    "description": "The path to mount the SMB share.",
                                                                    "schema": {
                                                                        "type": "string",
                                                                        "required": true
                                                                    }
                                                                },
                                                                {
                                                                    "variable": "username",
                                                                    "label": "Username",
                                                                    "description": "The username to use for the SMB share.",
                                                                    "schema": {
                                                                        "type": "string",
                                                                        "required": true
                                                                    }
                                                                },
                                                                {
                                                                    "variable": "password",
                                                                    "label": "Password",
                                                                    "description": "The password to use for the SMB share.",
                                                                    "schema": {
                                                                        "type": "string",
                                                                        "required": true,
                                                                        "private": true
                                                                    }
                                                                },
                                                                {
                                                                    "variable": "domain",
                                                                    "label": "Domain",
                                                                    "description": "The domain to use for the SMB share.",
                                                                    "schema": {
                                                                        "type": "string"
                                                                    }
                                                                }
                                                            ]
                                                        }
                                                    }
                                                ]
                                            }
                                        }
                                    ]
                                }
                            }
                        ]
                    }
                },
                {
                    "variable": "labels",
                    "label": "",
                    "group": "Labels Configuration",
                    "schema": {
                        "type": "list",
                        "default": [],
                        "items": [
                            {
                                "variable": "label",
                                "label": "Label",
                                "schema": {
                                    "type": "dict",
                                    "attrs": [
                                        {
                                            "variable": "key",
                                            "label": "Key",
                                            "schema": {
                                                "type": "string",
                                                "required": true
                                            }
                                        },
                                        {
                                            "variable": "value",
                                            "label": "Value",
                                            "schema": {
                                                "type": "string",
                                                "required": true
                                            }
                                        },
                                        {
                                            "variable": "containers",
                                            "label": "Containers",
                                            "description": "Containers where the label should be applied",
                                            "schema": {
                                                "type": "list",
                                                "items": [
                                                    {
                                                        "variable": "container",
                                                        "label": "Container",
                                                        "schema": {
                                                            "type": "string",
                                                            "required": true,
                                                            "enum": [
                                                                {
                                                                    "value": "diskoverdata",
                                                                    "description": "diskoverdata"
                                                                },
                                                                {
                                                                    "value": "elastic-search",
                                                                    "description": "elastic-search"
                                                                }
                                                            ]
                                                        }
                                                    }
                                                ]
                                            }
                                        }
                                    ]
                                }
                            }
                        ]
                    }
                },
                {
                    "variable": "resources",
                    "label": "",
                    "group": "Resources Configuration",
                    "schema": {
                        "type": "dict",
                        "attrs": [
                            {
                                "variable": "limits",
                                "label": "Limits",
                                "schema": {
                                    "type": "dict",
                                    "attrs": [
                                        {
                                            "variable": "cpus",
                                            "label": "CPUs",
                                            "description": "CPUs limit for Diskover Data.",
                                            "schema": {
                                                "type": "int",
                                                "default": 2,
                                                "required": true
                                            }
                                        },
                                        {
                                            "variable": "memory",
                                            "label": "Memory (in MB)",
                                            "description": "Memory limit for Diskover Data.",
                                            "schema": {
                                                "type": "int",
                                                "default": 4096,
                                                "required": true
                                            }
                                        }
                                    ]
                                }
                            }
                        ]
                    }
                }
            ]
        },
        "readme": "<h1>Diskover Data</h1> <p><a href=\"https://github.com/diskoverdata/diskover-community\">Diskover Data</a> is used to monitor size/volumes of distributed dataset.</p>",
        "changelog": null,
        "chart_metadata": {
            "annotations": {
                "min_scale_version": "24.10.2.2"
            },
            "app_version": "2.3.2",
            "capabilities": [
                {
                    "description": "Diskover Data is able to change file ownership arbitrarily",
                    "name": "CHOWN"
                },
                {
                    "description": "Diskover Data is able to bypass file permission checks",
                    "name": "DAC_OVERRIDE"
                },
                {
                    "description": "Diskover Data is able to bypass permission checks for file operations",
                    "name": "FOWNER"
                },
                {
                    "description": "Diskover Data is able to bind to privileged ports (< 1024)",
                    "name": "NET_BIND_SERVICE"
                },
                {
                    "description": "Diskover Data is able to change group ID of processes",
                    "name": "SETGID"
                },
                {
                    "description": "Diskover Data is able to change user ID of processes",
                    "name": "SETUID"
                }
            ],
            "categories": [
                "monitoring"
            ],
            "changelog_url": "https://docs.diskoverdata.com/diskover_changelogs/",
            "date_added": "2024-08-29",
            "description": "Diskover is used to monitor size/volumes of distributed dataset.",
            "home": "https://github.com/diskoverdata/diskover-community",
            "host_mounts": [],
            "icon": "https://media.sys.truenas.net/apps/diskoverdata/icons/icon.png",
            "keywords": [
                "storage",
                "monitoring",
                "management",
                "discovery"
            ],
            "lib_version": "2.1.49",
            "lib_version_hash": "e71e6b0122c9446fa5ea6fb07e7eb01b11fb42d549a19845426bbd7e21a42634",
            "maintainers": [
                {
                    "email": "dev@ixsystems.com",
                    "name": "truenas",
                    "url": "https://www.truenas.com/"
                }
            ],
            "name": "diskoverdata",
            "run_as_context": [
                {
                    "description": "Diskover runs as root user.",
                    "gid": 0,
                    "group_name": "root",
                    "uid": 0,
                    "user_name": "root"
                },
                {
                    "description": "Elastic Search runs as a non-root user.",
                    "gid": 1000,
                    "group_name": "elastic-search",
                    "uid": 1000,
                    "user_name": "elastic-search"
                }
            ],
            "screenshots": [
                "https://media.sys.truenas.net/apps/diskoverdata/screenshots/screenshot1.png",
                "https://media.sys.truenas.net/apps/diskoverdata/screenshots/screenshot2.png",
                "https://media.sys.truenas.net/apps/diskoverdata/screenshots/screenshot3.png"
            ],
            "sources": [
                "https://github.com/diskoverdata/diskover-community",
                "https://github.com/linuxserver/docker-diskover"
            ],
            "title": "Diskover Data",
            "train": "stable",
            "version": "1.5.15"
        }
    }
}


Resources

Read full post gdoc_arrow_right_alt