questions.yaml 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328
  1. groups:
  2. - name: Whoogle Configuration
  3. description: Configure Whoogle
  4. - name: Network Configuration
  5. description: Configure Network for Whoogle
  6. - name: Storage Configuration
  7. description: Configure Storage for Whoogle
  8. - name: Labels Configuration
  9. description: Configure Labels for Zerotier
  10. - name: Resources Configuration
  11. description: Configure Resources for Whoogle
  12. questions:
  13. - variable: whoogle
  14. label: ""
  15. group: Whoogle Configuration
  16. schema:
  17. type: dict
  18. attrs:
  19. - variable: redirects
  20. label: Specify sites that should be redirected elsewhere
  21. description: Configure redirects for Whoogle.
  22. schema:
  23. type: list
  24. default: []
  25. items:
  26. - variable: redirect
  27. label: Redirect
  28. schema:
  29. type: dict
  30. attrs:
  31. - variable: src
  32. label: Source
  33. description: |
  34. The source domain.</br>
  35. Format: domain.tld
  36. schema:
  37. type: string
  38. required: true
  39. - variable: dst
  40. label: Destination
  41. description: |
  42. The destination domain.</br>
  43. Format: domain.tld
  44. schema:
  45. type: string
  46. required: true
  47. - variable: additional_envs
  48. label: Additional Environment Variables
  49. schema:
  50. type: list
  51. default: []
  52. items:
  53. - variable: env
  54. label: Environment Variable
  55. schema:
  56. type: dict
  57. attrs:
  58. - variable: name
  59. label: Name
  60. schema:
  61. type: string
  62. required: true
  63. - variable: value
  64. label: Value
  65. schema:
  66. type: string
  67. - variable: network
  68. label: ""
  69. group: Network Configuration
  70. schema:
  71. type: dict
  72. attrs:
  73. - variable: web_port
  74. label: WebUI Port
  75. schema:
  76. type: dict
  77. attrs:
  78. - variable: bind_mode
  79. label: Port Bind Mode
  80. description: |
  81. The port bind mode.</br>
  82. - Publish: The port will be published on the host for external access.</br>
  83. - Expose: The port will be exposed for inter-container communication.</br>
  84. - None: The port will not be exposed or published.</br>
  85. Note: If the Dockerfile defines an EXPOSE directive,
  86. the port will still be exposed for inter-container communication regardless of this setting.
  87. schema:
  88. type: string
  89. default: ""
  90. enum:
  91. - value: "published"
  92. description: Publish port on the host for external access
  93. - value: "exposed"
  94. description: Expose port for inter-container communication
  95. - value: ""
  96. description: None
  97. - variable: port_number
  98. label: Port Number
  99. schema:
  100. type: int
  101. default: 30110
  102. min: 1
  103. max: 65535
  104. required: true
  105. - variable: host_ips
  106. label: Host IPs
  107. description: IPs on the host to bind this port
  108. schema:
  109. type: list
  110. show_if: [["bind_mode", "=", "published"]]
  111. default: []
  112. items:
  113. - variable: host_ip
  114. label: Host IP
  115. schema:
  116. type: string
  117. required: true
  118. $ref:
  119. - definitions/node_bind_ip
  120. - variable: host_network
  121. label: Host Network
  122. description: |
  123. Bind to the host network. It's recommended to keep this disabled.
  124. schema:
  125. type: boolean
  126. default: false
  127. - variable: storage
  128. label: ""
  129. group: Storage Configuration
  130. schema:
  131. type: dict
  132. attrs:
  133. - variable: additional_storage
  134. label: Additional Storage
  135. schema:
  136. type: list
  137. default: []
  138. items:
  139. - variable: storageEntry
  140. label: Storage Entry
  141. schema:
  142. type: dict
  143. attrs:
  144. - variable: type
  145. label: Type
  146. description: |
  147. ixVolume: Is dataset created automatically by the system.</br>
  148. Host Path: Is a path that already exists on the system.</br>
  149. SMB Share: Is a SMB share that is mounted to as a volume.
  150. schema:
  151. type: string
  152. required: true
  153. default: "ix_volume"
  154. enum:
  155. - value: "host_path"
  156. description: Host Path (Path that already exists on the system)
  157. - value: "ix_volume"
  158. description: ixVolume (Dataset created automatically by the system)
  159. - value: "cifs"
  160. description: SMB/CIFS Share (Mounts a volume to a SMB share)
  161. - variable: read_only
  162. label: Read Only
  163. description: Mount the volume as read only.
  164. schema:
  165. type: boolean
  166. default: false
  167. - variable: mount_path
  168. label: Mount Path
  169. description: The path inside the container to mount the storage.
  170. schema:
  171. type: path
  172. required: true
  173. - variable: host_path_config
  174. label: Host Path Configuration
  175. schema:
  176. type: dict
  177. show_if: [["type", "=", "host_path"]]
  178. attrs:
  179. - variable: acl_enable
  180. label: Enable ACL
  181. description: Enable ACL for the storage.
  182. schema:
  183. type: boolean
  184. default: false
  185. - variable: acl
  186. label: ACL Configuration
  187. schema:
  188. type: dict
  189. show_if: [["acl_enable", "=", true]]
  190. attrs: []
  191. $ref:
  192. - "normalize/acl"
  193. - variable: path
  194. label: Host Path
  195. description: The host path to use for storage.
  196. schema:
  197. type: hostpath
  198. show_if: [["acl_enable", "=", false]]
  199. required: true
  200. - variable: ix_volume_config
  201. label: ixVolume Configuration
  202. description: The configuration for the ixVolume dataset.
  203. schema:
  204. type: dict
  205. show_if: [["type", "=", "ix_volume"]]
  206. $ref:
  207. - "normalize/ix_volume"
  208. attrs:
  209. - variable: acl_enable
  210. label: Enable ACL
  211. description: Enable ACL for the storage.
  212. schema:
  213. type: boolean
  214. default: false
  215. - variable: dataset_name
  216. label: Dataset Name
  217. description: The name of the dataset to use for storage.
  218. schema:
  219. type: string
  220. required: true
  221. default: "storage_entry"
  222. - variable: acl_entries
  223. label: ACL Configuration
  224. schema:
  225. type: dict
  226. show_if: [["acl_enable", "=", true]]
  227. attrs: []
  228. $ref:
  229. - "normalize/acl"
  230. - variable: cifs_config
  231. label: SMB Configuration
  232. description: The configuration for the SMB dataset.
  233. schema:
  234. type: dict
  235. show_if: [["type", "=", "cifs"]]
  236. attrs:
  237. - variable: server
  238. label: Server
  239. description: The server to mount the SMB share.
  240. schema:
  241. type: string
  242. required: true
  243. - variable: path
  244. label: Path
  245. description: The path to mount the SMB share.
  246. schema:
  247. type: string
  248. required: true
  249. - variable: username
  250. label: Username
  251. description: The username to use for the SMB share.
  252. schema:
  253. type: string
  254. required: true
  255. - variable: password
  256. label: Password
  257. description: The password to use for the SMB share.
  258. schema:
  259. type: string
  260. required: true
  261. private: true
  262. - variable: domain
  263. label: Domain
  264. description: The domain to use for the SMB share.
  265. schema:
  266. type: string
  267. - variable: labels
  268. label: ""
  269. group: Labels Configuration
  270. schema:
  271. type: list
  272. default: []
  273. items:
  274. - variable: label
  275. label: Label
  276. schema:
  277. type: dict
  278. attrs:
  279. - variable: key
  280. label: Key
  281. schema:
  282. type: string
  283. required: true
  284. - variable: value
  285. label: Value
  286. schema:
  287. type: string
  288. required: true
  289. - variable: containers
  290. label: Containers
  291. description: Containers where the label should be applied
  292. schema:
  293. type: list
  294. items:
  295. - variable: container
  296. label: Container
  297. schema:
  298. type: string
  299. required: true
  300. enum:
  301. - value: whoogle
  302. description: whoogle
  303. - variable: resources
  304. label: ""
  305. group: Resources Configuration
  306. schema:
  307. type: dict
  308. attrs:
  309. - variable: limits
  310. label: Limits
  311. schema:
  312. type: dict
  313. attrs:
  314. - variable: cpus
  315. label: CPUs
  316. description: CPUs limit for Whoogle.
  317. schema:
  318. type: int
  319. default: 2
  320. required: true
  321. - variable: memory
  322. label: Memory (in MB)
  323. description: Memory limit for Whoogle.
  324. schema:
  325. type: int
  326. default: 4096
  327. required: true