questions.yaml 63 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652
  1. groups:
  2. - name: DDNS Updater Configuration
  3. description: Configure DDNS Updater
  4. - name: User and Group Configuration
  5. description: Configure User and Group for DDNS Updater
  6. - name: Network Configuration
  7. description: Configure Network for DDNS Updater
  8. - name: Storage Configuration
  9. description: Configure Storage for DDNS Updater
  10. - name: Labels Configuration
  11. description: Configure Labels for DDNS Updater
  12. - name: Resources Configuration
  13. description: Configure Resources for DDNS Updater
  14. questions:
  15. - variable: TZ
  16. group: DDNS Updater Configuration
  17. label: Timezone
  18. schema:
  19. type: string
  20. default: Etc/UTC
  21. required: true
  22. $ref:
  23. - definitions/timezone
  24. - variable: ddns
  25. label: ""
  26. group: DDNS Updater Configuration
  27. schema:
  28. type: dict
  29. attrs:
  30. - variable: period
  31. label: Update Period
  32. description: |
  33. Default period of IP address check, following this format:</br>
  34. 5m = 5 minutes</br>
  35. 1h = 1 hour</br>
  36. 1h30m = 1 hour 30 minutes
  37. schema:
  38. type: string
  39. default: 5m
  40. required: true
  41. - variable: update_cooldown_period
  42. label: Update Cooldown Period
  43. description: |
  44. Duration to cooldown between updates for each record.
  45. This is useful to avoid being rate limited or banned,
  46. following this format:</br>
  47. 5m = 5 minutes</br>
  48. 1h = 1 hour</br>
  49. 1h30m = 1 hour 30 minutes
  50. schema:
  51. type: string
  52. default: 5m
  53. required: true
  54. - variable: backup_period
  55. label: Backup Period
  56. description: |
  57. Set to a period to enable zip backups of data/config.json and
  58. data/updates.json in a zip file following this format:</br>
  59. 0 = disabled</br>
  60. 10h = 10 hours</br>
  61. 20h30m = 20 hours 30 minutes
  62. schema:
  63. type: string
  64. default: 24h
  65. required: true
  66. - variable: http_timeout
  67. label: HTTP Timeout
  68. description: |
  69. Default timeout for HTTP requests, following this format:</br>
  70. 10s = 10 seconds</br>
  71. 1m = 1 minute</br>
  72. 1m30s = 1 minute 30 seconds
  73. schema:
  74. type: string
  75. default: 10s
  76. required: true
  77. - variable: public_dns_timeout
  78. label: Public IP DNS Timeout
  79. description: |
  80. Public IP DNS query timeout, following this format:</br>
  81. 3s = 3 seconds</br>
  82. 1m = 1 minute</br>
  83. 1m30s = 1 minute 30 seconds
  84. schema:
  85. type: string
  86. default: 3s
  87. required: true
  88. - variable: shoutrrr_addresses
  89. label: Shoutrrr Addresses
  90. description: |
  91. List of Shoutrrr addresses to send notifications to.</br>
  92. See https://containrrr.dev/shoutrrr/0.7/services/overview/ for more information.
  93. schema:
  94. type: list
  95. default: []
  96. items:
  97. - variable: address
  98. label: Address
  99. schema:
  100. type: string
  101. required: true
  102. - variable: public_ip_dns_providers
  103. label: Public IP DNS Providers
  104. description: Providers to obtain the public IP address (IPv4 and/or IPv6)
  105. schema:
  106. type: list
  107. min: 1
  108. required: true
  109. default: [{ "provider": "all" }]
  110. items:
  111. - variable: publicIpDnsProviderEntry
  112. label: Public IP DNS Provider Entry
  113. schema:
  114. type: dict
  115. attrs:
  116. - variable: provider
  117. label: Provider
  118. schema:
  119. type: string
  120. required: true
  121. enum:
  122. - value: all
  123. description: All providers
  124. - value: opendns
  125. description: opendns
  126. - value: cloudflare
  127. description: Cloudflare
  128. - variable: public_ip_http_providers
  129. label: Public IP HTTP Providers
  130. description: Providers to obtain the public IP address (IPv4 and/or IPv6)
  131. schema:
  132. type: list
  133. min: 1
  134. required: true
  135. default: [{ "provider": "all", "custom": "" }]
  136. items:
  137. - variable: public_ip_http_provider_entry
  138. label: Public IP HTTP Provider Entry
  139. schema:
  140. type: dict
  141. attrs:
  142. - variable: provider
  143. label: Provider
  144. schema:
  145. type: string
  146. required: true
  147. enum:
  148. - value: all
  149. description: All providers
  150. - value: custom
  151. description: Custom Provider
  152. - value: ipify
  153. description: ipify
  154. - value: ifconfig
  155. description: ifconfig
  156. - value: ipinfo
  157. description: ipinfo
  158. - value: spdyn
  159. description: spdyn
  160. - value: ipleak
  161. description: ipleak
  162. - value: icanhazip
  163. description: icanhazip
  164. - value: ident
  165. description: ident
  166. - value: nnev
  167. description: nnev
  168. - value: wtfismyip
  169. description: wtfismyip
  170. - value: seeip
  171. description: seeip
  172. - value: changeip
  173. description: changeip
  174. - variable: custom
  175. label: Custom Value
  176. schema:
  177. type: string
  178. show_if: [["provider", "=", "custom"]]
  179. default: ""
  180. required: true
  181. - variable: public_ipv4_http_providers
  182. label: Public IPv4 HTTP Providers
  183. description: Providers to obtain the public IPv4 address
  184. schema:
  185. type: list
  186. min: 1
  187. required: true
  188. default: [{ "provider": "all", "custom": "" }]
  189. items:
  190. - variable: public_ipv4_http_provider_entry
  191. label: Public IPv4 HTTP Provider Entry
  192. schema:
  193. type: dict
  194. attrs:
  195. - variable: provider
  196. label: Provider
  197. schema:
  198. type: string
  199. required: true
  200. enum:
  201. - value: all
  202. description: All providers
  203. - value: custom
  204. description: Custom Provider
  205. - value: ipleak
  206. description: ipleak
  207. - value: ipify
  208. description: ipify
  209. - value: icanhazip
  210. description: icanhazip
  211. - value: ident
  212. description: ident
  213. - value: nnev
  214. description: nnev
  215. - value: wtfismyip
  216. description: wtfismyip
  217. - value: seeip
  218. description: seeip
  219. - variable: custom
  220. label: Custom Value
  221. schema:
  222. type: string
  223. show_if: [["provider", "=", "custom"]]
  224. default: ""
  225. required: true
  226. - variable: public_ipv6_http_providers
  227. label: Public IPv6 HTTP Providers
  228. description: Providers to obtain the public IPv6 address
  229. schema:
  230. type: list
  231. min: 1
  232. required: true
  233. default: [{ "provider": "all", "custom": "" }]
  234. items:
  235. - variable: public_ipv6_http_provider_entry
  236. label: Public IPv6 HTTP Provider Entry
  237. schema:
  238. type: dict
  239. attrs:
  240. - variable: provider
  241. label: Provider
  242. schema:
  243. type: string
  244. required: true
  245. enum:
  246. - value: all
  247. description: All providers
  248. - value: custom
  249. description: Custom Provider
  250. - value: ipleak
  251. description: ipleak
  252. - value: ipify
  253. description: ipify
  254. - value: icanhazip
  255. description: icanhazip
  256. - value: ident
  257. description: ident
  258. - value: nnev
  259. description: nnev
  260. - value: wtfismyip
  261. description: wtfismyip
  262. - value: seeip
  263. description: seeip
  264. - variable: custom
  265. label: Custom Value
  266. schema:
  267. type: string
  268. show_if: [["provider", "=", "custom"]]
  269. default: ""
  270. required: true
  271. - variable: public_ip_fetchers
  272. label: Public IP Fetchers
  273. description: Fetcher types to obtain the public IP address
  274. schema:
  275. type: list
  276. min: 1
  277. required: true
  278. default: [{ "provider": "all" }]
  279. items:
  280. - variable: public_ip_fetcher_entry
  281. label: Public IP Fetcher Entry
  282. schema:
  283. type: dict
  284. attrs:
  285. - variable: provider
  286. label: Fetcher
  287. schema:
  288. type: string
  289. required: true
  290. enum:
  291. - value: all
  292. description: All providers
  293. - value: http
  294. description: HTTP
  295. - value: dns
  296. description: DNS
  297. - variable: config
  298. label: Config
  299. description: Configure DDNS Updater.
  300. schema:
  301. type: list
  302. items:
  303. - variable: config_item
  304. label: Config Item
  305. schema:
  306. type: dict
  307. attrs:
  308. - variable: provider
  309. label: Provider
  310. description: The provider to use for DDNS Updater.
  311. schema:
  312. type: string
  313. required: true
  314. enum:
  315. - value: aliyun
  316. description: Aliyun
  317. - value: allinkl
  318. description: All-Inkl
  319. - value: changeip
  320. description: ChangeIP
  321. - value: cloudflare
  322. description: Cloudflare
  323. - value: dd24
  324. description: DD24
  325. - value: ddnss
  326. description: DDNSS
  327. - value: desec
  328. description: Desec
  329. - value: digitalocean
  330. description: Digital Ocean
  331. - value: dnsomatic
  332. description: DNS O Matic
  333. - value: dnspod
  334. description: DNS Pod
  335. - value: domeneshop
  336. description: Domeneshop
  337. - value: dondominio
  338. description: Don Dominio
  339. - value: dreamhost
  340. description: Dreamhost
  341. - value: duckdns
  342. description: Duck DNS
  343. - value: dyn
  344. description: DynDNS
  345. - value: dynu
  346. description: Dynu
  347. - value: dynv6
  348. description: DynV6
  349. - value: easydns
  350. description: EasyDNS
  351. - value: freedns
  352. description: FreeDNS
  353. - value: gandi
  354. description: Gandi
  355. - value: gcp
  356. description: GCP
  357. - value: godaddy
  358. description: GoDaddy
  359. - value: goip
  360. description: GoIP.de
  361. - value: he
  362. description: He.net
  363. - value: hetzner
  364. description: Hetzner
  365. - value: infomaniak
  366. description: Infomaniak
  367. - value: inwx
  368. description: INWX
  369. - value: ionos
  370. description: Ionos
  371. - value: linode
  372. description: Linode
  373. - value: loopia
  374. description: Loopia
  375. - value: luadns
  376. description: LuaDNS
  377. - value: myaddr
  378. description: MyAddr
  379. - value: namecheap
  380. description: Namecheap
  381. - value: name.com
  382. description: Name.com
  383. - value: namesilo
  384. description: Namesilo
  385. - value: netcup
  386. description: Netcup
  387. - value: njalla
  388. description: Njalla
  389. - value: noip
  390. description: NoIP
  391. - value: nowdns
  392. description: NowDNS
  393. - value: opendns
  394. description: OpenDNS
  395. - value: ovh
  396. description: OVH
  397. - value: porkbun
  398. description: Porkbun
  399. - value: route53
  400. description: Amazon Route 53
  401. - value: selfhost.de
  402. description: Selfhost.de
  403. - value: servercow
  404. description: Servercow
  405. - value: spdyn
  406. description: Spdyn.de
  407. - value: strato
  408. description: Strato
  409. - value: variomedia
  410. description: Variomedia
  411. - value: vultr
  412. description: Vultr
  413. - value: zoneedit
  414. description: ZoneEdit
  415. # Common to all providers
  416. - variable: domain
  417. label: Domain
  418. description: |
  419. Domain </br>
  420. For example:</br>
  421. - example.com</br>
  422. - *.example.com</br>
  423. - sub.example.com</br>
  424. schema:
  425. type: string
  426. show_if: [["provider", "!=", ""]]
  427. required: true
  428. - variable: host
  429. label: Host (Deprecated)
  430. description: |
  431. DEPRECATED. Use Domain field instead.</br>
  432. It will be removed in the near future.
  433. schema:
  434. type: string
  435. show_if: [["provider", "!=", ""]]
  436. default: ""
  437. - variable: ip_version
  438. label: IP Version
  439. description: |
  440. IP Version. </br>
  441. For example: IPv4
  442. schema:
  443. type: string
  444. show_if: [["provider", "!=", ""]]
  445. default: ""
  446. enum:
  447. - value: ipv4
  448. description: IPv4
  449. - value: ipv6
  450. description: IPv6
  451. - value: ""
  452. description: IPv4 and IPv6
  453. # Aliyun
  454. - variable: aliyun_access_key
  455. label: Access Key
  456. schema:
  457. type: string
  458. required: true
  459. private: true
  460. show_if: [["provider", "=", "aliyun"]]
  461. - variable: aliyun_secret_key
  462. label: Secret Key
  463. schema:
  464. type: string
  465. required: true
  466. private: true
  467. show_if: [["provider", "=", "aliyun"]]
  468. # All-Inkl
  469. - variable: allinkl_username
  470. label: Username
  471. schema:
  472. type: string
  473. required: true
  474. show_if: [["provider", "=", "allinkl"]]
  475. - variable: allinkl_password
  476. label: Password
  477. schema:
  478. type: string
  479. required: true
  480. private: true
  481. show_if: [["provider", "=", "allinkl"]]
  482. # ChangeIP
  483. - variable: changeip_username
  484. label: Username
  485. schema:
  486. type: string
  487. required: true
  488. show_if: [["provider", "=", "changeip"]]
  489. - variable: changeip_password
  490. label: Password
  491. schema:
  492. type: string
  493. required: true
  494. private: true
  495. show_if: [["provider", "=", "changeip"]]
  496. # Cloudflare
  497. - variable: cloudflare_zone_id
  498. label: Zone ID
  499. description: You can find it in the Overview tab of your domain.
  500. schema:
  501. type: string
  502. required: true
  503. show_if: [["provider", "=", "cloudflare"]]
  504. - variable: cloudflare_ttl
  505. label: TTL
  506. description: |
  507. 1 = Automatic </br>
  508. 600 = 10 minutes
  509. schema:
  510. type: int
  511. required: true
  512. min: 1
  513. default: 1
  514. show_if: [["provider", "=", "cloudflare"]]
  515. - variable: cloudflare_proxied
  516. label: Proxied
  517. description: |
  518. True = Proxied </br>
  519. False = DNS Only
  520. schema:
  521. type: boolean
  522. default: false
  523. show_if: [["provider", "=", "cloudflare"]]
  524. - variable: cloudflare_token
  525. label: Token
  526. description: You can find it in the Overview tab of your domain.
  527. schema:
  528. type: string
  529. private: true
  530. show_if: [["provider", "=", "cloudflare"]]
  531. - variable: cloudflare_user_service_key
  532. label: User Service Key
  533. description: You can find it in the Overview tab of your domain.
  534. schema:
  535. type: string
  536. private: true
  537. show_if: [["provider", "=", "cloudflare"]]
  538. - variable: cloudflare_email
  539. label: Email
  540. description: You can find it in the Overview tab of your domain.
  541. schema:
  542. type: string
  543. private: true
  544. show_if: [["provider", "=", "cloudflare"]]
  545. - variable: cloudflare_api_key
  546. label: API Key
  547. description: You can find it in the Overview tab of your domain.
  548. schema:
  549. type: string
  550. private: true
  551. show_if: [["provider", "=", "cloudflare"]]
  552. # DD24
  553. - variable: dd24_password
  554. label: Password
  555. schema:
  556. type: string
  557. required: true
  558. private: true
  559. show_if: [["provider", "=", "dd24"]]
  560. # DDNSS
  561. - variable: ddnss_username
  562. label: Username
  563. schema:
  564. type: string
  565. required: true
  566. show_if: [["provider", "=", "ddnss"]]
  567. - variable: ddnss_password
  568. label: Password
  569. schema:
  570. type: string
  571. required: true
  572. private: true
  573. show_if: [["provider", "=", "ddnss"]]
  574. - variable: ddnss_dual_stack
  575. label: Dual Stack
  576. description: |
  577. True = Dual Stack </br>
  578. False = IPv4 Only
  579. schema:
  580. type: boolean
  581. default: false
  582. show_if: [["provider", "=", "ddnss"]]
  583. # DeSEC
  584. - variable: desec_token
  585. label: Token
  586. schema:
  587. type: string
  588. required: true
  589. private: true
  590. show_if: [["provider", "=", "desec"]]
  591. # DigitalOcean
  592. - variable: digital_ocean_token
  593. label: Token
  594. schema:
  595. type: string
  596. required: true
  597. private: true
  598. show_if: [["provider", "=", "digitalocean"]]
  599. # DNS-O-Matic
  600. - variable: dnsomatic_username
  601. label: Username
  602. schema:
  603. type: string
  604. required: true
  605. show_if: [["provider", "=", "dnsomatic"]]
  606. - variable: dnsomatic_password
  607. label: Password
  608. schema:
  609. type: string
  610. required: true
  611. private: true
  612. show_if: [["provider", "=", "dnsomatic"]]
  613. # DNSPod
  614. - variable: dnspod_token
  615. label: Token
  616. schema:
  617. type: string
  618. required: true
  619. private: true
  620. show_if: [["provider", "=", "dnspod"]]
  621. # Domeneshop
  622. - variable: domeneshop_token
  623. label: Token
  624. schema:
  625. type: string
  626. required: true
  627. private: true
  628. show_if: [["provider", "=", "domeneshop"]]
  629. - variable: domeneshop_secret
  630. label: Secret
  631. schema:
  632. type: string
  633. required: true
  634. private: true
  635. show_if: [["provider", "=", "domeneshop"]]
  636. # DonDominio
  637. - variable: dondominio_username
  638. label: Username
  639. schema:
  640. type: string
  641. required: true
  642. show_if: [["provider", "=", "dondominio"]]
  643. - variable: dondominio_password
  644. label: Password
  645. schema:
  646. type: string
  647. required: true
  648. private: true
  649. show_if: [["provider", "=", "dondominio"]]
  650. # DreamHost
  651. - variable: dreamhost_key
  652. label: Key
  653. schema:
  654. type: string
  655. required: true
  656. private: true
  657. show_if: [["provider", "=", "dreamhost"]]
  658. # DuckDNS
  659. - variable: duckdns_token
  660. label: Token
  661. schema:
  662. type: string
  663. required: true
  664. private: true
  665. show_if: [["provider", "=", "duckdns"]]
  666. # Dyn
  667. - variable: dyn_client_key
  668. label: Client Key
  669. schema:
  670. type: string
  671. required: true
  672. show_if: [["provider", "=", "dyn"]]
  673. - variable: dyn_username
  674. label: Username
  675. schema:
  676. type: string
  677. required: true
  678. show_if: [["provider", "=", "dyn"]]
  679. # Dynu
  680. - variable: dynu_username
  681. label: Username
  682. schema:
  683. type: string
  684. required: true
  685. show_if: [["provider", "=", "dynu"]]
  686. - variable: dynu_password
  687. label: Password
  688. schema:
  689. type: string
  690. required: true
  691. private: true
  692. show_if: [["provider", "=", "dynu"]]
  693. - variable: dynu_group
  694. label: Group
  695. schema:
  696. type: string
  697. show_if: [["provider", "=", "dynu"]]
  698. # Dynv6
  699. - variable: dynv6_token
  700. label: Token
  701. schema:
  702. type: string
  703. required: true
  704. private: true
  705. show_if: [["provider", "=", "dynv6"]]
  706. # EasyDNS
  707. - variable: easydns_username
  708. label: Username
  709. schema:
  710. type: string
  711. required: true
  712. show_if: [["provider", "=", "easydns"]]
  713. - variable: easydns_token
  714. label: Token
  715. schema:
  716. type: string
  717. required: true
  718. private: true
  719. show_if: [["provider", "=", "easydns"]]
  720. # FreeDNS
  721. - variable: freedns_token
  722. label: Token
  723. schema:
  724. type: string
  725. required: true
  726. private: true
  727. show_if: [["provider", "=", "freedns"]]
  728. # Gandi
  729. - variable: gandi_key
  730. label: API Key (Deprecated)
  731. description: Use Personal Access Token instead.
  732. schema:
  733. type: string
  734. private: true
  735. show_if: [["provider", "=", "gandi"]]
  736. - variable: gandi_personal_access_token
  737. label: Personal Access Token
  738. schema:
  739. type: string
  740. private: true
  741. show_if: [["provider", "=", "gandi"]]
  742. - variable: gandi_ttl
  743. label: TTL
  744. schema:
  745. type: int
  746. required: true
  747. default: 3600
  748. show_if: [["provider", "=", "gandi"]]
  749. # GCP
  750. - variable: gcp_project
  751. label: Project
  752. schema:
  753. type: string
  754. required: true
  755. show_if: [["provider", "=", "gcp"]]
  756. - variable: gcp_zone
  757. label: Zone
  758. schema:
  759. type: string
  760. required: true
  761. show_if: [["provider", "=", "gcp"]]
  762. - variable: gcp_credentials
  763. label: Credentials
  764. schema:
  765. type: string
  766. required: true
  767. private: true
  768. max_length: 10000
  769. show_if: [["provider", "=", "gcp"]]
  770. # GoDaddy
  771. - variable: godaddy_key
  772. label: API Key
  773. schema:
  774. type: string
  775. required: true
  776. private: true
  777. show_if: [["provider", "=", "godaddy"]]
  778. - variable: godaddy_secret
  779. label: Secret
  780. schema:
  781. type: string
  782. required: true
  783. private: true
  784. show_if: [["provider", "=", "godaddy"]]
  785. # GoIP
  786. - variable: goip_username
  787. label: Username
  788. schema:
  789. type: string
  790. required: true
  791. show_if: [["provider", "=", "goip"]]
  792. - variable: goip_password
  793. label: Password
  794. schema:
  795. type: string
  796. required: true
  797. private: true
  798. show_if: [["provider", "=", "goip"]]
  799. # HE
  800. - variable: he_password
  801. label: Password
  802. schema:
  803. type: string
  804. required: true
  805. private: true
  806. show_if: [["provider", "=", "he"]]
  807. # Hetzner
  808. - variable: hetzner_token
  809. label: Token
  810. schema:
  811. type: string
  812. required: true
  813. private: true
  814. show_if: [["provider", "=", "hetzner"]]
  815. - variable: hetzner_zone_identifier
  816. label: Zone Identifier
  817. schema:
  818. type: string
  819. required: true
  820. show_if: [["provider", "=", "hetzner"]]
  821. - variable: hetzner_ttl
  822. label: TTL
  823. schema:
  824. type: int
  825. show_if: [["provider", "=", "hetzner"]]
  826. # Infomaniak
  827. - variable: infomaniak_username
  828. label: Username
  829. schema:
  830. type: string
  831. required: true
  832. show_if: [["provider", "=", "infomaniak"]]
  833. - variable: infomaniak_password
  834. label: Password
  835. schema:
  836. type: string
  837. required: true
  838. private: true
  839. show_if: [["provider", "=", "infomaniak"]]
  840. # INWX
  841. - variable: inwx_username
  842. label: Username
  843. schema:
  844. type: string
  845. required: true
  846. show_if: [["provider", "=", "inwx"]]
  847. - variable: inwx_password
  848. label: Password
  849. schema:
  850. type: string
  851. required: true
  852. private: true
  853. show_if: [["provider", "=", "inwx"]]
  854. # IONOS
  855. - variable: ionos_api_key
  856. label: API Key
  857. schema:
  858. type: string
  859. required: true
  860. private: true
  861. show_if: [["provider", "=", "ionos"]]
  862. # Linode
  863. - variable: linode_token
  864. label: Token
  865. schema:
  866. type: string
  867. required: true
  868. private: true
  869. show_if: [["provider", "=", "linode"]]
  870. # Loopia
  871. - variable: loopia_username
  872. label: Username
  873. schema:
  874. type: string
  875. required: true
  876. show_if: [["provider", "=", "loopia"]]
  877. - variable: loopia_password
  878. label: Password
  879. schema:
  880. type: string
  881. required: true
  882. private: true
  883. show_if: [["provider", "=", "loopia"]]
  884. # Luadns
  885. - variable: luadns_token
  886. label: Token
  887. schema:
  888. type: string
  889. required: true
  890. private: true
  891. show_if: [["provider", "=", "luadns"]]
  892. - variable: luadns_email
  893. label: Email
  894. schema:
  895. type: string
  896. required: true
  897. show_if: [["provider", "=", "luadns"]]
  898. # MyAddr
  899. - variable: myaddr_key
  900. label: Key
  901. schema:
  902. type: string
  903. required: true
  904. private: true
  905. show_if: [["provider", "=", "myaddr"]]
  906. # Namecheap
  907. - variable: namecheap_password
  908. label: Password
  909. schema:
  910. type: string
  911. required: true
  912. private: true
  913. show_if: [["provider", "=", "namecheap"]]
  914. # Name.com
  915. - variable: namecom_token
  916. label: Token
  917. schema:
  918. type: string
  919. required: true
  920. private: true
  921. show_if: [["provider", "=", "name.com"]]
  922. - variable: namecom_username
  923. label: Username
  924. schema:
  925. type: string
  926. required: true
  927. show_if: [["provider", "=", "name.com"]]
  928. - variable: namecom_ttl
  929. label: TTL
  930. schema:
  931. type: int
  932. required: true
  933. default: 300
  934. show_if: [["provider", "=", "name.com"]]
  935. # Namesilo
  936. - variable: namesilo_key
  937. label: Key
  938. schema:
  939. type: string
  940. required: true
  941. private: true
  942. show_if: [["provider", "=", "namesilo"]]
  943. - variable: namesilo_ttl
  944. label: TTL
  945. schema:
  946. type: int
  947. min: 3600
  948. max: 2592001
  949. show_if: [["provider", "=", "namesilo"]]
  950. # Netcup
  951. - variable: netcup_api_key
  952. label: API Key
  953. schema:
  954. type: string
  955. required: true
  956. private: true
  957. show_if: [["provider", "=", "netcup"]]
  958. - variable: netcup_password
  959. label: Password
  960. schema:
  961. type: string
  962. required: true
  963. private: true
  964. show_if: [["provider", "=", "netcup"]]
  965. - variable: netcup_customer_number
  966. label: Customer Number
  967. schema:
  968. type: string
  969. required: true
  970. show_if: [["provider", "=", "netcup"]]
  971. # Njalla
  972. - variable: njalla_key
  973. label: Key
  974. schema:
  975. type: string
  976. required: true
  977. private: true
  978. show_if: [["provider", "=", "njalla"]]
  979. # NoIP
  980. - variable: noip_username
  981. label: Username
  982. schema:
  983. type: string
  984. required: true
  985. show_if: [["provider", "=", "noip"]]
  986. - variable: noip_password
  987. label: Password
  988. schema:
  989. type: string
  990. required: true
  991. private: true
  992. show_if: [["provider", "=", "noip"]]
  993. # NowDNS
  994. - variable: nowdns_username
  995. label: Username
  996. schema:
  997. type: string
  998. required: true
  999. show_if: [["provider", "=", "nowdns"]]
  1000. - variable: nowdns_password
  1001. label: Password
  1002. schema:
  1003. type: string
  1004. required: true
  1005. private: true
  1006. show_if: [["provider", "=", "nowdns"]]
  1007. # OpenDNS
  1008. - variable: opendns_username
  1009. label: Username
  1010. schema:
  1011. type: string
  1012. required: true
  1013. show_if: [["provider", "=", "opendns"]]
  1014. - variable: opendns_password
  1015. label: Password
  1016. schema:
  1017. type: string
  1018. required: true
  1019. private: true
  1020. show_if: [["provider", "=", "opendns"]]
  1021. # OVH
  1022. - variable: ovh_mode
  1023. label: Mode
  1024. schema:
  1025. type: string
  1026. required: true
  1027. show_if: [["provider", "=", "ovh"]]
  1028. enum:
  1029. - value: api
  1030. description: API
  1031. - value: dynamic
  1032. description: Dynamic
  1033. - variable: ovh_username
  1034. label: Username
  1035. schema:
  1036. type: string
  1037. show_if: [["provider", "=", "ovh"]]
  1038. - variable: ovh_password
  1039. label: Password
  1040. schema:
  1041. type: string
  1042. private: true
  1043. show_if: [["provider", "=", "ovh"]]
  1044. - variable: ovh_api_endpoint
  1045. label: API Endpoint
  1046. schema:
  1047. type: string
  1048. show_if: [["provider", "=", "ovh"]]
  1049. - variable: ovh_app_key
  1050. label: App Key
  1051. schema:
  1052. type: string
  1053. private: true
  1054. show_if: [["provider", "=", "ovh"]]
  1055. - variable: ovh_app_secret
  1056. label: App Secret
  1057. schema:
  1058. type: string
  1059. private: true
  1060. show_if: [["provider", "=", "ovh"]]
  1061. - variable: ovh_consumer_key
  1062. label: Consumer Key
  1063. schema:
  1064. type: string
  1065. private: true
  1066. show_if: [["provider", "=", "ovh"]]
  1067. # Porkbun
  1068. - variable: porkbun_api_key
  1069. label: API Key
  1070. schema:
  1071. type: string
  1072. required: true
  1073. private: true
  1074. show_if: [["provider", "=", "porkbun"]]
  1075. - variable: porkbun_secret_api_key
  1076. label: Secret API Key
  1077. schema:
  1078. type: string
  1079. required: true
  1080. private: true
  1081. show_if: [["provider", "=", "porkbun"]]
  1082. - variable: porkbun_ttl
  1083. label: TTL
  1084. schema:
  1085. type: int
  1086. default: 3600
  1087. show_if: [["provider", "=", "porkbun"]]
  1088. # Route53
  1089. - variable: route53_access_key
  1090. label: Access Key
  1091. schema:
  1092. type: string
  1093. required: true
  1094. private: true
  1095. show_if: [["provider", "=", "route53"]]
  1096. - variable: route53_secret_key
  1097. label: Secret Key
  1098. schema:
  1099. type: string
  1100. required: true
  1101. private: true
  1102. show_if: [["provider", "=", "route53"]]
  1103. - variable: route53_zone_id
  1104. label: Zone ID
  1105. schema:
  1106. type: string
  1107. required: true
  1108. private: true
  1109. show_if: [["provider", "=", "route53"]]
  1110. - variable: route53_ttl
  1111. label: TTL
  1112. schema:
  1113. type: int
  1114. default: 300
  1115. show_if: [["provider", "=", "route53"]]
  1116. # SelfHost.de
  1117. - variable: selfhostde_username
  1118. label: Username
  1119. schema:
  1120. type: string
  1121. required: true
  1122. show_if: [["provider", "=", "selfhost.de"]]
  1123. - variable: selfhostde_password
  1124. label: Password
  1125. schema:
  1126. type: string
  1127. required: true
  1128. private: true
  1129. show_if: [["provider", "=", "selfhost.de"]]
  1130. # Servercow
  1131. - variable: servercow_username
  1132. label: Username
  1133. schema:
  1134. type: string
  1135. required: true
  1136. show_if: [["provider", "=", "servercow"]]
  1137. - variable: servercow_password
  1138. label: Password
  1139. schema:
  1140. type: string
  1141. required: true
  1142. private: true
  1143. show_if: [["provider", "=", "servercow"]]
  1144. - variable: servercow_ttl
  1145. label: TTL
  1146. schema:
  1147. type: int
  1148. required: true
  1149. default: 120
  1150. show_if: [["provider", "=", "servercow"]]
  1151. # SPDyn
  1152. - variable: spdyn_token
  1153. label: Token
  1154. schema:
  1155. type: string
  1156. private: true
  1157. show_if: [["provider", "=", "spdyn"]]
  1158. - variable: spdyn_username
  1159. label: Username
  1160. schema:
  1161. type: string
  1162. show_if: [["provider", "=", "spdyn"]]
  1163. - variable: spdyn_password
  1164. label: Password
  1165. schema:
  1166. type: string
  1167. private: true
  1168. show_if: [["provider", "=", "spdyn"]]
  1169. # Strato
  1170. - variable: strato_password
  1171. label: Password
  1172. schema:
  1173. type: string
  1174. required: true
  1175. private: true
  1176. show_if: [["provider", "=", "strato"]]
  1177. # Variomedia
  1178. - variable: variomedia_email
  1179. label: Email
  1180. schema:
  1181. type: string
  1182. required: true
  1183. show_if: [["provider", "=", "variomedia"]]
  1184. - variable: variomedia_password
  1185. label: Password
  1186. schema:
  1187. type: string
  1188. required: true
  1189. private: true
  1190. show_if: [["provider", "=", "variomedia"]]
  1191. # Vultr
  1192. - variable: vultr_api_key
  1193. label: API Key
  1194. schema:
  1195. type: string
  1196. required: true
  1197. private: true
  1198. show_if: [["provider", "=", "vultr"]]
  1199. - variable: vultr_ttl
  1200. label: TTL
  1201. schema:
  1202. type: int
  1203. show_if: [["provider", "=", "vultr"]]
  1204. # Zoneedit
  1205. - variable: zoneedit_username
  1206. label: Username
  1207. schema:
  1208. type: string
  1209. required: true
  1210. show_if: [["provider", "=", "zoneedit"]]
  1211. - variable: zoneedit_token
  1212. label: Token
  1213. schema:
  1214. type: string
  1215. required: true
  1216. private: true
  1217. show_if: [["provider", "=", "zoneedit"]]
  1218. - variable: additional_envs
  1219. label: Additional Environment Variables
  1220. schema:
  1221. type: list
  1222. default: []
  1223. items:
  1224. - variable: env
  1225. label: Environment Variable
  1226. schema:
  1227. type: dict
  1228. attrs:
  1229. - variable: name
  1230. label: Name
  1231. schema:
  1232. type: string
  1233. required: true
  1234. - variable: value
  1235. label: Value
  1236. schema:
  1237. type: string
  1238. - variable: run_as
  1239. label: ""
  1240. group: User and Group Configuration
  1241. schema:
  1242. type: dict
  1243. attrs:
  1244. - variable: user
  1245. label: User ID
  1246. description: The user id that DDNS Updater files will be owned by.
  1247. schema:
  1248. type: int
  1249. min: 568
  1250. default: 568
  1251. required: true
  1252. - variable: group
  1253. label: Group ID
  1254. description: The group id that DDNS Updater files will be owned by.
  1255. schema:
  1256. type: int
  1257. min: 568
  1258. default: 568
  1259. required: true
  1260. - variable: network
  1261. label: ""
  1262. group: Network Configuration
  1263. schema:
  1264. type: dict
  1265. attrs:
  1266. - variable: web_port
  1267. label: WebUI Port
  1268. schema:
  1269. type: dict
  1270. attrs:
  1271. - variable: bind_mode
  1272. label: Port Bind Mode
  1273. description: |
  1274. The port bind mode.</br>
  1275. - Publish: The port will be published on the host for external access.</br>
  1276. - Expose: The port will be exposed for inter-container communication.</br>
  1277. - None: The port will not be exposed or published.</br>
  1278. Note: If the Dockerfile defines an EXPOSE directive,
  1279. the port will still be exposed for inter-container communication regardless of this setting.
  1280. schema:
  1281. type: string
  1282. default: "published"
  1283. enum:
  1284. - value: "published"
  1285. description: Publish port on the host for external access
  1286. - value: "exposed"
  1287. description: Expose port for inter-container communication
  1288. - value: ""
  1289. description: None
  1290. - variable: port_number
  1291. label: Port Number
  1292. schema:
  1293. type: int
  1294. default: 30007
  1295. min: 1
  1296. max: 65535
  1297. required: true
  1298. - variable: host_ips
  1299. label: Host IPs
  1300. description: IPs on the host to bind this port
  1301. schema:
  1302. type: list
  1303. show_if: [["bind_mode", "=", "published"]]
  1304. default: []
  1305. items:
  1306. - variable: host_ip
  1307. label: Host IP
  1308. schema:
  1309. type: string
  1310. required: true
  1311. $ref:
  1312. - definitions/node_bind_ip
  1313. - variable: host_network
  1314. label: Host Network
  1315. description: |
  1316. Bind to the host network. It's recommended to keep this disabled.
  1317. schema:
  1318. type: boolean
  1319. default: false
  1320. - variable: storage
  1321. label: ""
  1322. group: Storage Configuration
  1323. schema:
  1324. type: dict
  1325. attrs:
  1326. - variable: data
  1327. label: DDNS Updater Data Storage
  1328. description: The path to store DDNS Updater Data.
  1329. schema:
  1330. type: dict
  1331. attrs:
  1332. - variable: type
  1333. label: Type
  1334. description: |
  1335. ixVolume: Is dataset created automatically by the system.</br>
  1336. Host Path: Is a path that already exists on the system.
  1337. schema:
  1338. type: string
  1339. required: true
  1340. default: "ix_volume"
  1341. enum:
  1342. - value: "host_path"
  1343. description: Host Path (Path that already exists on the system)
  1344. - value: "ix_volume"
  1345. description: ixVolume (Dataset created automatically by the system)
  1346. - variable: ix_volume_config
  1347. label: ixVolume Configuration
  1348. description: The configuration for the ixVolume dataset.
  1349. schema:
  1350. type: dict
  1351. show_if: [["type", "=", "ix_volume"]]
  1352. $ref:
  1353. - "normalize/ix_volume"
  1354. attrs:
  1355. - variable: acl_enable
  1356. label: Enable ACL
  1357. description: Enable ACL for the storage.
  1358. schema:
  1359. type: boolean
  1360. default: false
  1361. - variable: dataset_name
  1362. label: Dataset Name
  1363. description: The name of the dataset to use for storage.
  1364. schema:
  1365. type: string
  1366. required: true
  1367. hidden: true
  1368. default: "data"
  1369. - variable: acl_entries
  1370. label: ACL Configuration
  1371. schema:
  1372. type: dict
  1373. show_if: [["acl_enable", "=", true]]
  1374. attrs: []
  1375. - variable: host_path_config
  1376. label: Host Path Configuration
  1377. schema:
  1378. type: dict
  1379. show_if: [["type", "=", "host_path"]]
  1380. attrs:
  1381. - variable: acl_enable
  1382. label: Enable ACL
  1383. description: Enable ACL for the storage.
  1384. schema:
  1385. type: boolean
  1386. default: false
  1387. - variable: acl
  1388. label: ACL Configuration
  1389. schema:
  1390. type: dict
  1391. show_if: [["acl_enable", "=", true]]
  1392. attrs: []
  1393. $ref:
  1394. - "normalize/acl"
  1395. - variable: path
  1396. label: Host Path
  1397. description: The host path to use for storage.
  1398. schema:
  1399. type: hostpath
  1400. show_if: [["acl_enable", "=", false]]
  1401. required: true
  1402. - variable: additional_storage
  1403. label: Additional Storage
  1404. schema:
  1405. type: list
  1406. default: []
  1407. items:
  1408. - variable: storageEntry
  1409. label: Storage Entry
  1410. schema:
  1411. type: dict
  1412. attrs:
  1413. - variable: type
  1414. label: Type
  1415. description: |
  1416. ixVolume: Is dataset created automatically by the system.</br>
  1417. Host Path: Is a path that already exists on the system.</br>
  1418. SMB Share: Is a SMB share that is mounted to as a volume.
  1419. schema:
  1420. type: string
  1421. required: true
  1422. default: "ix_volume"
  1423. enum:
  1424. - value: "host_path"
  1425. description: Host Path (Path that already exists on the system)
  1426. - value: "ix_volume"
  1427. description: ixVolume (Dataset created automatically by the system)
  1428. - value: "cifs"
  1429. description: SMB/CIFS Share (Mounts a volume to a SMB share)
  1430. - variable: read_only
  1431. label: Read Only
  1432. description: Mount the volume as read only.
  1433. schema:
  1434. type: boolean
  1435. default: false
  1436. - variable: mount_path
  1437. label: Mount Path
  1438. description: The path inside the container to mount the storage.
  1439. schema:
  1440. type: path
  1441. required: true
  1442. - variable: host_path_config
  1443. label: Host Path Configuration
  1444. schema:
  1445. type: dict
  1446. show_if: [["type", "=", "host_path"]]
  1447. attrs:
  1448. - variable: acl_enable
  1449. label: Enable ACL
  1450. description: Enable ACL for the storage.
  1451. schema:
  1452. type: boolean
  1453. default: false
  1454. - variable: acl
  1455. label: ACL Configuration
  1456. schema:
  1457. type: dict
  1458. show_if: [["acl_enable", "=", true]]
  1459. attrs: []
  1460. $ref:
  1461. - "normalize/acl"
  1462. - variable: path
  1463. label: Host Path
  1464. description: The host path to use for storage.
  1465. schema:
  1466. type: hostpath
  1467. show_if: [["acl_enable", "=", false]]
  1468. required: true
  1469. - variable: ix_volume_config
  1470. label: ixVolume Configuration
  1471. description: The configuration for the ixVolume dataset.
  1472. schema:
  1473. type: dict
  1474. show_if: [["type", "=", "ix_volume"]]
  1475. $ref:
  1476. - "normalize/ix_volume"
  1477. attrs:
  1478. - variable: acl_enable
  1479. label: Enable ACL
  1480. description: Enable ACL for the storage.
  1481. schema:
  1482. type: boolean
  1483. default: false
  1484. - variable: dataset_name
  1485. label: Dataset Name
  1486. description: The name of the dataset to use for storage.
  1487. schema:
  1488. type: string
  1489. required: true
  1490. default: "storage_entry"
  1491. - variable: acl_entries
  1492. label: ACL Configuration
  1493. schema:
  1494. type: dict
  1495. show_if: [["acl_enable", "=", true]]
  1496. attrs: []
  1497. $ref:
  1498. - "normalize/acl"
  1499. - variable: cifs_config
  1500. label: SMB Configuration
  1501. description: The configuration for the SMB dataset.
  1502. schema:
  1503. type: dict
  1504. show_if: [["type", "=", "cifs"]]
  1505. attrs:
  1506. - variable: server
  1507. label: Server
  1508. description: The server to mount the SMB share.
  1509. schema:
  1510. type: string
  1511. required: true
  1512. - variable: path
  1513. label: Path
  1514. description: The path to mount the SMB share.
  1515. schema:
  1516. type: string
  1517. required: true
  1518. - variable: username
  1519. label: Username
  1520. description: The username to use for the SMB share.
  1521. schema:
  1522. type: string
  1523. required: true
  1524. - variable: password
  1525. label: Password
  1526. description: The password to use for the SMB share.
  1527. schema:
  1528. type: string
  1529. required: true
  1530. private: true
  1531. - variable: domain
  1532. label: Domain
  1533. description: The domain to use for the SMB share.
  1534. schema:
  1535. type: string
  1536. - variable: labels
  1537. label: ""
  1538. group: Labels Configuration
  1539. schema:
  1540. type: list
  1541. default: []
  1542. items:
  1543. - variable: label
  1544. label: Label
  1545. schema:
  1546. type: dict
  1547. attrs:
  1548. - variable: key
  1549. label: Key
  1550. schema:
  1551. type: string
  1552. required: true
  1553. - variable: value
  1554. label: Value
  1555. schema:
  1556. type: string
  1557. required: true
  1558. - variable: containers
  1559. label: Containers
  1560. description: Containers where the label should be applied
  1561. schema:
  1562. type: list
  1563. items:
  1564. - variable: container
  1565. label: Container
  1566. schema:
  1567. type: string
  1568. required: true
  1569. enum:
  1570. - value: ddns
  1571. description: ddns
  1572. - variable: resources
  1573. label: ""
  1574. group: Resources Configuration
  1575. schema:
  1576. type: dict
  1577. attrs:
  1578. - variable: limits
  1579. label: Limits
  1580. schema:
  1581. type: dict
  1582. attrs:
  1583. - variable: cpus
  1584. label: CPUs
  1585. description: CPUs limit for DDNS Updater.
  1586. schema:
  1587. type: int
  1588. default: 2
  1589. required: true
  1590. - variable: memory
  1591. label: Memory (in MB)
  1592. description: Memory limit for DDNS Updater.
  1593. schema:
  1594. type: int
  1595. default: 4096
  1596. required: true