Files
truenas-apps/trains/community/ddns-updater/app_versions.json
2025-03-12 19:35:43 +00:00

3283 lines
218 KiB
JSON

{
"1.1.15": {
"healthy": true,
"supported": true,
"healthy_error": null,
"location": "/__w/apps/apps/trains/community/ddns-updater/1.1.15",
"last_update": "2025-03-12 19:33:14",
"required_features": [],
"human_version": "v2.9.0_1.1.15",
"version": "1.1.15",
"app_metadata": {
"app_version": "v2.9.0",
"capabilities": [],
"categories": [
"networking"
],
"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.16",
"lib_version_hash": "dac15686f882b9ce65b8549a3d5c0ed7bafe2df7a9028880d1a99b0ff4af1eff",
"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.1.15"
},
"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,
"empty": false,
"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,
"empty": false,
"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,
"empty": false,
"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,
"empty": false,
"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,
"empty": false,
"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": "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": "ddnss_provider_ip",
"label": "Provider IP",
"schema": {
"type": "boolean",
"hidden": true
}
},
{
"variable": "dnsomatic_provider_ip",
"label": "Provider IP",
"schema": {
"type": "boolean",
"hidden": true
}
},
{
"variable": "duckdns_provider_ip",
"label": "Provider IP",
"schema": {
"type": "boolean",
"hidden": true
}
},
{
"variable": "dyn_provider_ip",
"label": "Provider IP",
"schema": {
"type": "boolean",
"hidden": true
}
},
{
"variable": "dynu_provider_ip",
"label": "Provider IP",
"schema": {
"type": "boolean",
"hidden": true
}
},
{
"variable": "dynv6_provider_ip",
"label": "Provider IP",
"schema": {
"type": "boolean",
"hidden": true
}
},
{
"variable": "he_provider_ip",
"label": "Provider IP",
"schema": {
"type": "boolean",
"hidden": true
}
},
{
"variable": "infomaniak_provider_ip",
"label": "Provider IP",
"schema": {
"type": "boolean",
"hidden": true
}
},
{
"variable": "namecheap_provider_ip",
"label": "Provider IP",
"schema": {
"type": "boolean",
"hidden": true
}
},
{
"variable": "njalla_provider_ip",
"label": "Provider IP",
"schema": {
"type": "boolean",
"hidden": true
}
},
{
"variable": "noip_provider_ip",
"label": "Provider IP",
"schema": {
"type": "boolean",
"hidden": true
}
},
{
"variable": "opendns_provider_ip",
"label": "Provider IP",
"schema": {
"type": "boolean",
"hidden": true
}
},
{
"variable": "ovh_provider_ip",
"label": "Provider IP",
"schema": {
"type": "boolean",
"hidden": true
}
},
{
"variable": "selfhostde_provider_ip",
"label": "Provider IP",
"schema": {
"type": "boolean",
"hidden": true
}
},
{
"variable": "servercow_provider_ip",
"label": "Provider IP",
"schema": {
"type": "boolean",
"hidden": true
}
},
{
"variable": "spdyn_provider_ip",
"label": "Provider IP",
"schema": {
"type": "boolean",
"hidden": true
}
},
{
"variable": "strato_provider_ip",
"label": "Provider IP",
"schema": {
"type": "boolean",
"hidden": true
}
},
{
"variable": "variomedia_provider_ip",
"label": "Provider IP",
"schema": {
"type": "boolean",
"hidden": true
}
},
{
"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": "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",
"description": "Configure additional environment variables for DDNS Updater.",
"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": "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",
"description": "The port for DDNS Updater WebUI",
"schema": {
"type": "int",
"default": 30007,
"required": true,
"$ref": [
"definitions/port"
]
}
},
{
"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,
"immutable": 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,
"immutable": 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",
"description": "Additional storage for DDNS Updater.",
"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",
"immutable": true,
"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,
"immutable": 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": {
"app_version": "v2.9.0",
"capabilities": [],
"categories": [
"networking"
],
"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.16",
"lib_version_hash": "dac15686f882b9ce65b8549a3d5c0ed7bafe2df7a9028880d1a99b0ff4af1eff",
"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.1.15"
}
}
}