questions.yaml 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439
  1. groups:
  2. - name: Octoprint Configuration
  3. description: Configure Octoprint
  4. - name: Network Configuration
  5. description: Configure Network for Octoprint
  6. - name: Storage Configuration
  7. description: Configure Storage for Octoprint
  8. - name: Labels Configuration
  9. description: Configure Labels for Octoprint
  10. - name: Resources Configuration
  11. description: Configure Resources for Octoprint
  12. questions:
  13. - variable: TZ
  14. group: Octoprint Configuration
  15. label: Timezone
  16. schema:
  17. type: string
  18. default: Etc/UTC
  19. required: true
  20. $ref:
  21. - definitions/timezone
  22. - variable: octoprint
  23. label: ""
  24. group: Octoprint Configuration
  25. schema:
  26. type: dict
  27. attrs:
  28. - variable: devices
  29. label: Devices
  30. description: |
  31. Devices to use for Octoprint.
  32. Eg: Host Device: /dev/ttyUSB0, Container Device: /dev/ttyACM0
  33. schema:
  34. type: list
  35. default: []
  36. items:
  37. - variable: device
  38. label: Device
  39. schema:
  40. type: dict
  41. attrs:
  42. - variable: host_device
  43. label: Host Device
  44. schema:
  45. type: string
  46. required: true
  47. - variable: container_device
  48. label: Container Device
  49. schema:
  50. type: string
  51. required: true
  52. - variable: video_enable
  53. label: Enable Video Streamer
  54. description: Enable Octoprint built in MJPG Video Streamer
  55. schema:
  56. type: boolean
  57. show_if: [["devices", "!=", []]]
  58. default: false
  59. - variable: video_device
  60. label: Camera device
  61. description: |
  62. Specify which camera device to use (eg /dev/video0).</br>
  63. Note: You still need to specify the device in the devices section.
  64. schema:
  65. type: string
  66. show_if: [["devices", "!=", []], ["video_enable", "=", true]]
  67. default: ""
  68. required: true
  69. - variable: mjpg_streamer_input
  70. label: MJPG Streamer Input
  71. description: Specify the MJPG streamer input arguments.
  72. schema:
  73. type: string
  74. show_if: [["devices", "!=", []], ["video_enable", "=", true]]
  75. required: true
  76. default: "-y -n -r 640x480"
  77. - variable: additional_envs
  78. label: Additional Environment Variables
  79. schema:
  80. type: list
  81. default: []
  82. items:
  83. - variable: env
  84. label: Environment Variable
  85. schema:
  86. type: dict
  87. attrs:
  88. - variable: name
  89. label: Name
  90. schema:
  91. type: string
  92. required: true
  93. - variable: value
  94. label: Value
  95. schema:
  96. type: string
  97. - variable: network
  98. label: ""
  99. group: Network Configuration
  100. schema:
  101. type: dict
  102. attrs:
  103. - variable: web_port
  104. label: WebUI Port
  105. schema:
  106. type: dict
  107. attrs:
  108. - variable: bind_mode
  109. label: Port Bind Mode
  110. description: |
  111. The port bind mode.</br>
  112. - Publish: The port will be published on the host for external access.</br>
  113. - Expose: The port will be exposed for inter-container communication.</br>
  114. - None: The port will not be exposed or published.</br>
  115. Note: If the Dockerfile defines an EXPOSE directive,
  116. the port will still be exposed for inter-container communication regardless of this setting.
  117. schema:
  118. type: string
  119. default: "published"
  120. enum:
  121. - value: "published"
  122. description: Publish port on the host for external access
  123. - value: "exposed"
  124. description: Expose port for inter-container communication
  125. - value: ""
  126. description: None
  127. - variable: port_number
  128. label: Port Number
  129. schema:
  130. type: int
  131. show_if: [["bind_mode", "=", "published"]]
  132. default: 30114
  133. min: 1
  134. max: 65535
  135. required: true
  136. - variable: host_ips
  137. label: Host IPs
  138. description: IPs on the host to bind this port
  139. schema:
  140. type: list
  141. show_if: [["bind_mode", "=", "published"]]
  142. default: []
  143. items:
  144. - variable: host_ip
  145. label: Host IP
  146. schema:
  147. type: string
  148. required: true
  149. $ref:
  150. - definitions/node_bind_ip
  151. - variable: host_network
  152. label: Host Network
  153. description: |
  154. Bind to the host network. It's recommended to keep this disabled.
  155. schema:
  156. type: boolean
  157. default: false
  158. - variable: storage
  159. label: ""
  160. group: Storage Configuration
  161. schema:
  162. type: dict
  163. attrs:
  164. - variable: data
  165. label: Octoprint Data Storage
  166. description: The path to store Octoprint Data.
  167. schema:
  168. type: dict
  169. attrs:
  170. - variable: type
  171. label: Type
  172. description: |
  173. ixVolume: Is dataset created automatically by the system.</br>
  174. Host Path: Is a path that already exists on the system.
  175. schema:
  176. type: string
  177. required: true
  178. default: "ix_volume"
  179. enum:
  180. - value: "host_path"
  181. description: Host Path (Path that already exists on the system)
  182. - value: "ix_volume"
  183. description: ixVolume (Dataset created automatically by the system)
  184. - variable: ix_volume_config
  185. label: ixVolume Configuration
  186. description: The configuration for the ixVolume dataset.
  187. schema:
  188. type: dict
  189. show_if: [["type", "=", "ix_volume"]]
  190. $ref:
  191. - "normalize/ix_volume"
  192. attrs:
  193. - variable: acl_enable
  194. label: Enable ACL
  195. description: Enable ACL for the storage.
  196. schema:
  197. type: boolean
  198. default: false
  199. - variable: dataset_name
  200. label: Dataset Name
  201. description: The name of the dataset to use for storage.
  202. schema:
  203. type: string
  204. required: true
  205. hidden: true
  206. default: "data"
  207. - variable: acl_entries
  208. label: ACL Configuration
  209. schema:
  210. type: dict
  211. show_if: [["acl_enable", "=", true]]
  212. attrs: []
  213. - variable: host_path_config
  214. label: Host Path Configuration
  215. schema:
  216. type: dict
  217. show_if: [["type", "=", "host_path"]]
  218. attrs:
  219. - variable: acl_enable
  220. label: Enable ACL
  221. description: Enable ACL for the storage.
  222. schema:
  223. type: boolean
  224. default: false
  225. - variable: acl
  226. label: ACL Configuration
  227. schema:
  228. type: dict
  229. show_if: [["acl_enable", "=", true]]
  230. attrs: []
  231. $ref:
  232. - "normalize/acl"
  233. - variable: path
  234. label: Host Path
  235. description: The host path to use for storage.
  236. schema:
  237. type: hostpath
  238. show_if: [["acl_enable", "=", false]]
  239. required: true
  240. - variable: additional_storage
  241. label: Additional Storage
  242. schema:
  243. type: list
  244. default: []
  245. items:
  246. - variable: storageEntry
  247. label: Storage Entry
  248. schema:
  249. type: dict
  250. attrs:
  251. - variable: type
  252. label: Type
  253. description: |
  254. ixVolume: Is dataset created automatically by the system.</br>
  255. Host Path: Is a path that already exists on the system.</br>
  256. SMB Share: Is a SMB share that is mounted to as a volume.
  257. schema:
  258. type: string
  259. required: true
  260. default: "ix_volume"
  261. enum:
  262. - value: "host_path"
  263. description: Host Path (Path that already exists on the system)
  264. - value: "ix_volume"
  265. description: ixVolume (Dataset created automatically by the system)
  266. - value: "cifs"
  267. description: SMB/CIFS Share (Mounts a volume to a SMB share)
  268. - variable: read_only
  269. label: Read Only
  270. description: Mount the volume as read only.
  271. schema:
  272. type: boolean
  273. default: false
  274. - variable: mount_path
  275. label: Mount Path
  276. description: The path inside the container to mount the storage.
  277. schema:
  278. type: path
  279. required: true
  280. - variable: host_path_config
  281. label: Host Path Configuration
  282. schema:
  283. type: dict
  284. show_if: [["type", "=", "host_path"]]
  285. attrs:
  286. - variable: acl_enable
  287. label: Enable ACL
  288. description: Enable ACL for the storage.
  289. schema:
  290. type: boolean
  291. default: false
  292. - variable: acl
  293. label: ACL Configuration
  294. schema:
  295. type: dict
  296. show_if: [["acl_enable", "=", true]]
  297. attrs: []
  298. $ref:
  299. - "normalize/acl"
  300. - variable: path
  301. label: Host Path
  302. description: The host path to use for storage.
  303. schema:
  304. type: hostpath
  305. show_if: [["acl_enable", "=", false]]
  306. required: true
  307. - variable: ix_volume_config
  308. label: ixVolume Configuration
  309. description: The configuration for the ixVolume dataset.
  310. schema:
  311. type: dict
  312. show_if: [["type", "=", "ix_volume"]]
  313. $ref:
  314. - "normalize/ix_volume"
  315. attrs:
  316. - variable: acl_enable
  317. label: Enable ACL
  318. description: Enable ACL for the storage.
  319. schema:
  320. type: boolean
  321. default: false
  322. - variable: dataset_name
  323. label: Dataset Name
  324. description: The name of the dataset to use for storage.
  325. schema:
  326. type: string
  327. required: true
  328. default: "storage_entry"
  329. - variable: acl_entries
  330. label: ACL Configuration
  331. schema:
  332. type: dict
  333. show_if: [["acl_enable", "=", true]]
  334. attrs: []
  335. $ref:
  336. - "normalize/acl"
  337. - variable: cifs_config
  338. label: SMB Configuration
  339. description: The configuration for the SMB dataset.
  340. schema:
  341. type: dict
  342. show_if: [["type", "=", "cifs"]]
  343. attrs:
  344. - variable: server
  345. label: Server
  346. description: The server to mount the SMB share.
  347. schema:
  348. type: string
  349. required: true
  350. - variable: path
  351. label: Path
  352. description: The path to mount the SMB share.
  353. schema:
  354. type: string
  355. required: true
  356. - variable: username
  357. label: Username
  358. description: The username to use for the SMB share.
  359. schema:
  360. type: string
  361. required: true
  362. - variable: password
  363. label: Password
  364. description: The password to use for the SMB share.
  365. schema:
  366. type: string
  367. required: true
  368. private: true
  369. - variable: domain
  370. label: Domain
  371. description: The domain to use for the SMB share.
  372. schema:
  373. type: string
  374. - variable: labels
  375. label: ""
  376. group: Labels Configuration
  377. schema:
  378. type: list
  379. default: []
  380. items:
  381. - variable: label
  382. label: Label
  383. schema:
  384. type: dict
  385. attrs:
  386. - variable: key
  387. label: Key
  388. schema:
  389. type: string
  390. required: true
  391. - variable: value
  392. label: Value
  393. schema:
  394. type: string
  395. required: true
  396. - variable: containers
  397. label: Containers
  398. description: Containers where the label should be applied
  399. schema:
  400. type: list
  401. items:
  402. - variable: container
  403. label: Container
  404. schema:
  405. type: string
  406. required: true
  407. enum:
  408. - value: octoprint
  409. description: octoprint
  410. - variable: resources
  411. label: ""
  412. group: Resources Configuration
  413. schema:
  414. type: dict
  415. attrs:
  416. - variable: limits
  417. label: Limits
  418. schema:
  419. type: dict
  420. attrs:
  421. - variable: cpus
  422. label: CPUs
  423. description: CPUs limit for Emby.
  424. schema:
  425. type: int
  426. default: 2
  427. required: true
  428. - variable: memory
  429. label: Memory (in MB)
  430. description: Memory limit for Emby.
  431. schema:
  432. type: int
  433. default: 4096
  434. required: true