questions.yaml 33 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826
  1. groups:
  2. - name: Crafty 4 Configuration
  3. description: Configure Crafty 4
  4. - name: Network Configuration
  5. description: Configure Network for Crafty 4
  6. - name: Storage Configuration
  7. description: Configure Storage for Crafty 4
  8. - name: Labels Configuration
  9. description: Configure Labels for Crafty 4
  10. - name: Resources Configuration
  11. description: Configure Resources for Crafty 4
  12. questions:
  13. - variable: TZ
  14. group: Crafty 4 Configuration
  15. label: Timezone
  16. schema:
  17. type: string
  18. default: Etc/UTC
  19. required: true
  20. $ref:
  21. - definitions/timezone
  22. - variable: crafty
  23. label: ""
  24. group: Crafty 4 Configuration
  25. schema:
  26. type: dict
  27. attrs:
  28. - variable: additional_envs
  29. label: Additional Environment Variables
  30. schema:
  31. type: list
  32. default: []
  33. items:
  34. - variable: env
  35. label: Environment Variable
  36. schema:
  37. type: dict
  38. attrs:
  39. - variable: name
  40. label: Name
  41. schema:
  42. type: string
  43. required: true
  44. - variable: value
  45. label: Value
  46. schema:
  47. type: string
  48. - variable: network
  49. label: ""
  50. group: Network Configuration
  51. schema:
  52. type: dict
  53. attrs:
  54. - variable: web_port
  55. label: WebUI Port
  56. schema:
  57. type: dict
  58. show_if: [["host_network", "=", false]]
  59. attrs:
  60. - variable: bind_mode
  61. label: Port Bind Mode
  62. description: |
  63. The port bind mode.</br>
  64. - Publish: The port will be published on the host for external access.</br>
  65. - Expose: The port will be exposed for inter-container communication.</br>
  66. - None: The port will not be exposed or published.</br>
  67. Note: If the Dockerfile defines an EXPOSE directive,
  68. the port will still be exposed for inter-container communication regardless of this setting.
  69. schema:
  70. type: string
  71. default: "published"
  72. enum:
  73. - value: "published"
  74. description: Publish port on the host for external access
  75. - value: "exposed"
  76. description: Expose port for inter-container communication
  77. - value: ""
  78. description: None
  79. - variable: port_number
  80. label: Port Number
  81. schema:
  82. type: int
  83. default: 30146
  84. show_if: [["bind_mode", "=", "published"]]
  85. min: 1
  86. max: 65535
  87. required: true
  88. - variable: host_ips
  89. label: Host IPs
  90. description: IPs on the host to bind this port
  91. schema:
  92. type: list
  93. show_if: [["bind_mode", "=", "published"]]
  94. default: []
  95. items:
  96. - variable: host_ip
  97. label: Host IP
  98. schema:
  99. type: string
  100. required: true
  101. $ref:
  102. - definitions/node_bind_ip
  103. - variable: additional_ports
  104. label: Additional Ports
  105. schema:
  106. type: list
  107. show_if: [["host_network", "=", false]]
  108. items:
  109. - variable: port
  110. label: Port
  111. schema:
  112. type: dict
  113. attrs:
  114. - variable: bind_mode
  115. label: Port Bind Mode
  116. description: |
  117. The port bind mode.</br>
  118. - Publish: The port will be published on the host for external access.</br>
  119. - Expose: The port will be exposed for inter-container communication.</br>
  120. schema:
  121. type: string
  122. default: "published"
  123. enum:
  124. - value: "published"
  125. description: Publish port on the host for external access
  126. - value: "exposed"
  127. description: Expose port for inter-container communication
  128. - variable: port_number
  129. label: Port Number
  130. schema:
  131. type: int
  132. min: 1
  133. max: 65535
  134. required: true
  135. - variable: container_port
  136. label: Container Port
  137. schema:
  138. type: int
  139. min: 1
  140. max: 65535
  141. required: true
  142. - variable: protocol
  143. label: Protocol
  144. schema:
  145. type: string
  146. required: true
  147. default: "tcp"
  148. enum:
  149. - value: "tcp"
  150. description: TCP
  151. - value: "udp"
  152. description: UDP
  153. - variable: host_ips
  154. label: Host IPs
  155. description: IPs on the host to bind this port
  156. schema:
  157. type: list
  158. show_if: [["bind_mode", "=", "published"]]
  159. default: []
  160. items:
  161. - variable: host_ip
  162. label: Host IP
  163. schema:
  164. type: string
  165. required: true
  166. $ref:
  167. - definitions/node_bind_ip
  168. - variable: additional_port_ranges
  169. label: Additional Port Ranges
  170. description: Additional port ranges for SFTPGo.
  171. schema:
  172. type: list
  173. default: []
  174. show_if: [["host_network", "=", false]]
  175. items:
  176. - variable: port_range
  177. label: Port Range
  178. schema:
  179. type: dict
  180. attrs:
  181. - variable: bind_mode
  182. label: Port Bind Mode
  183. description: |
  184. The port bind mode.</br>
  185. - Publish: The port will be published on the host for external access.</br>
  186. - Expose: The port will be exposed for inter-container communication.</br>
  187. schema:
  188. type: string
  189. default: "published"
  190. enum:
  191. - value: "published"
  192. description: Publish port on the host for external access
  193. - value: "exposed"
  194. description: Expose port for inter-container communication
  195. - variable: protocol
  196. label: Protocol
  197. schema:
  198. type: string
  199. required: true
  200. default: "tcp"
  201. enum:
  202. - value: "tcp"
  203. description: TCP
  204. - value: "udp"
  205. description: UDP
  206. - variable: start
  207. label: Start
  208. description: The start of the range.
  209. schema:
  210. type: int
  211. min: 1
  212. max: 65535
  213. required: true
  214. - variable: end
  215. label: End
  216. description: The end of the range.
  217. schema:
  218. type: int
  219. min: 1
  220. max: 65535
  221. required: true
  222. - variable: host_ips
  223. label: Host IPs
  224. description: IPs on the host to bind this port
  225. schema:
  226. type: list
  227. show_if: [["bind_mode", "=", "published"]]
  228. default: []
  229. items:
  230. - variable: host_ip
  231. label: Host IP
  232. schema:
  233. type: string
  234. required: true
  235. $ref:
  236. - definitions/node_bind_ip
  237. - variable: host_network
  238. label: Host Network
  239. description: |
  240. Bind to the host network. It's recommended to keep this disabled.
  241. schema:
  242. type: boolean
  243. default: false
  244. - variable: storage
  245. label: ""
  246. group: Storage Configuration
  247. schema:
  248. type: dict
  249. attrs:
  250. - variable: config
  251. label: Crafty 4 Config Storage
  252. description: The path to store Crafty 4 Config.
  253. schema:
  254. type: dict
  255. attrs:
  256. - variable: type
  257. label: Type
  258. description: |
  259. ixVolume: Is dataset created automatically by the system.</br>
  260. Host Path: Is a path that already exists on the system.
  261. schema:
  262. type: string
  263. required: true
  264. default: "ix_volume"
  265. enum:
  266. - value: "host_path"
  267. description: Host Path (Path that already exists on the system)
  268. - value: "ix_volume"
  269. description: ixVolume (Dataset created automatically by the system)
  270. - variable: ix_volume_config
  271. label: ixVolume Configuration
  272. description: The configuration for the ixVolume dataset.
  273. schema:
  274. type: dict
  275. show_if: [["type", "=", "ix_volume"]]
  276. $ref:
  277. - "normalize/ix_volume"
  278. attrs:
  279. - variable: acl_enable
  280. label: Enable ACL
  281. description: Enable ACL for the storage.
  282. schema:
  283. type: boolean
  284. default: false
  285. - variable: dataset_name
  286. label: Dataset Name
  287. description: The name of the dataset to use for storage.
  288. schema:
  289. type: string
  290. required: true
  291. hidden: true
  292. default: "config"
  293. - variable: acl_entries
  294. label: ACL Configuration
  295. schema:
  296. type: dict
  297. show_if: [["acl_enable", "=", true]]
  298. attrs: []
  299. - variable: host_path_config
  300. label: Host Path Configuration
  301. schema:
  302. type: dict
  303. show_if: [["type", "=", "host_path"]]
  304. attrs:
  305. - variable: acl_enable
  306. label: Enable ACL
  307. description: Enable ACL for the storage.
  308. schema:
  309. type: boolean
  310. default: false
  311. - variable: acl
  312. label: ACL Configuration
  313. schema:
  314. type: dict
  315. show_if: [["acl_enable", "=", true]]
  316. attrs: []
  317. $ref:
  318. - "normalize/acl"
  319. - variable: path
  320. label: Host Path
  321. description: The host path to use for storage.
  322. schema:
  323. type: hostpath
  324. show_if: [["acl_enable", "=", false]]
  325. required: true
  326. - variable: servers
  327. label: Crafty 4 Servers Storage
  328. description: The path to store Crafty 4 Servers.
  329. schema:
  330. type: dict
  331. attrs:
  332. - variable: type
  333. label: Type
  334. description: |
  335. ixVolume: Is dataset created automatically by the system.</br>
  336. Host Path: Is a path that already exists on the system.
  337. schema:
  338. type: string
  339. required: true
  340. default: "ix_volume"
  341. enum:
  342. - value: "host_path"
  343. description: Host Path (Path that already exists on the system)
  344. - value: "ix_volume"
  345. description: ixVolume (Dataset created automatically by the system)
  346. - variable: ix_volume_config
  347. label: ixVolume Configuration
  348. description: The configuration for the ixVolume dataset.
  349. schema:
  350. type: dict
  351. show_if: [["type", "=", "ix_volume"]]
  352. $ref:
  353. - "normalize/ix_volume"
  354. attrs:
  355. - variable: acl_enable
  356. label: Enable ACL
  357. description: Enable ACL for the storage.
  358. schema:
  359. type: boolean
  360. default: false
  361. - variable: dataset_name
  362. label: Dataset Name
  363. description: The name of the dataset to use for storage.
  364. schema:
  365. type: string
  366. required: true
  367. hidden: true
  368. default: "servers"
  369. - variable: acl_entries
  370. label: ACL Configuration
  371. schema:
  372. type: dict
  373. show_if: [["acl_enable", "=", true]]
  374. attrs: []
  375. - variable: host_path_config
  376. label: Host Path Configuration
  377. schema:
  378. type: dict
  379. show_if: [["type", "=", "host_path"]]
  380. attrs:
  381. - variable: acl_enable
  382. label: Enable ACL
  383. description: Enable ACL for the storage.
  384. schema:
  385. type: boolean
  386. default: false
  387. - variable: acl
  388. label: ACL Configuration
  389. schema:
  390. type: dict
  391. show_if: [["acl_enable", "=", true]]
  392. attrs: []
  393. $ref:
  394. - "normalize/acl"
  395. - variable: path
  396. label: Host Path
  397. description: The host path to use for storage.
  398. schema:
  399. type: hostpath
  400. show_if: [["acl_enable", "=", false]]
  401. required: true
  402. - variable: logs
  403. label: Crafty 4 Logs Storage
  404. description: The path to store Crafty 4 Logs.
  405. schema:
  406. type: dict
  407. attrs:
  408. - variable: type
  409. label: Type
  410. description: |
  411. ixVolume: Is dataset created automatically by the system.</br>
  412. Host Path: Is a path that already exists on the system.
  413. schema:
  414. type: string
  415. required: true
  416. default: "ix_volume"
  417. enum:
  418. - value: "host_path"
  419. description: Host Path (Path that already exists on the system)
  420. - value: "ix_volume"
  421. description: ixVolume (Dataset created automatically by the system)
  422. - variable: ix_volume_config
  423. label: ixVolume Configuration
  424. description: The configuration for the ixVolume dataset.
  425. schema:
  426. type: dict
  427. show_if: [["type", "=", "ix_volume"]]
  428. $ref:
  429. - "normalize/ix_volume"
  430. attrs:
  431. - variable: acl_enable
  432. label: Enable ACL
  433. description: Enable ACL for the storage.
  434. schema:
  435. type: boolean
  436. default: false
  437. - variable: dataset_name
  438. label: Dataset Name
  439. description: The name of the dataset to use for storage.
  440. schema:
  441. type: string
  442. required: true
  443. hidden: true
  444. default: "logs"
  445. - variable: acl_entries
  446. label: ACL Configuration
  447. schema:
  448. type: dict
  449. show_if: [["acl_enable", "=", true]]
  450. attrs: []
  451. - variable: host_path_config
  452. label: Host Path Configuration
  453. schema:
  454. type: dict
  455. show_if: [["type", "=", "host_path"]]
  456. attrs:
  457. - variable: acl_enable
  458. label: Enable ACL
  459. description: Enable ACL for the storage.
  460. schema:
  461. type: boolean
  462. default: false
  463. - variable: acl
  464. label: ACL Configuration
  465. schema:
  466. type: dict
  467. show_if: [["acl_enable", "=", true]]
  468. attrs: []
  469. $ref:
  470. - "normalize/acl"
  471. - variable: path
  472. label: Host Path
  473. description: The host path to use for storage.
  474. schema:
  475. type: hostpath
  476. show_if: [["acl_enable", "=", false]]
  477. required: true
  478. - variable: backups
  479. label: Crafty 4 Backups Storage
  480. description: The path to store Crafty 4 Backups.
  481. schema:
  482. type: dict
  483. attrs:
  484. - variable: type
  485. label: Type
  486. description: |
  487. ixVolume: Is dataset created automatically by the system.</br>
  488. Host Path: Is a path that already exists on the system.
  489. schema:
  490. type: string
  491. required: true
  492. default: "ix_volume"
  493. enum:
  494. - value: "host_path"
  495. description: Host Path (Path that already exists on the system)
  496. - value: "ix_volume"
  497. description: ixVolume (Dataset created automatically by the system)
  498. - variable: ix_volume_config
  499. label: ixVolume Configuration
  500. description: The configuration for the ixVolume dataset.
  501. schema:
  502. type: dict
  503. show_if: [["type", "=", "ix_volume"]]
  504. $ref:
  505. - "normalize/ix_volume"
  506. attrs:
  507. - variable: acl_enable
  508. label: Enable ACL
  509. description: Enable ACL for the storage.
  510. schema:
  511. type: boolean
  512. default: false
  513. - variable: dataset_name
  514. label: Dataset Name
  515. description: The name of the dataset to use for storage.
  516. schema:
  517. type: string
  518. required: true
  519. hidden: true
  520. default: "backups"
  521. - variable: acl_entries
  522. label: ACL Configuration
  523. schema:
  524. type: dict
  525. show_if: [["acl_enable", "=", true]]
  526. attrs: []
  527. - variable: host_path_config
  528. label: Host Path Configuration
  529. schema:
  530. type: dict
  531. show_if: [["type", "=", "host_path"]]
  532. attrs:
  533. - variable: acl_enable
  534. label: Enable ACL
  535. description: Enable ACL for the storage.
  536. schema:
  537. type: boolean
  538. default: false
  539. - variable: acl
  540. label: ACL Configuration
  541. schema:
  542. type: dict
  543. show_if: [["acl_enable", "=", true]]
  544. attrs: []
  545. $ref:
  546. - "normalize/acl"
  547. - variable: path
  548. label: Host Path
  549. description: The host path to use for storage.
  550. schema:
  551. type: hostpath
  552. show_if: [["acl_enable", "=", false]]
  553. required: true
  554. - variable: import
  555. label: Crafty 4 Import Storage
  556. description: The path to store Crafty 4 Import.
  557. schema:
  558. type: dict
  559. attrs:
  560. - variable: type
  561. label: Type
  562. description: |
  563. ixVolume: Is dataset created automatically by the system.</br>
  564. Host Path: Is a path that already exists on the system.
  565. schema:
  566. type: string
  567. required: true
  568. default: "ix_volume"
  569. enum:
  570. - value: "host_path"
  571. description: Host Path (Path that already exists on the system)
  572. - value: "ix_volume"
  573. description: ixVolume (Dataset created automatically by the system)
  574. - variable: ix_volume_config
  575. label: ixVolume Configuration
  576. description: The configuration for the ixVolume dataset.
  577. schema:
  578. type: dict
  579. show_if: [["type", "=", "ix_volume"]]
  580. $ref:
  581. - "normalize/ix_volume"
  582. attrs:
  583. - variable: acl_enable
  584. label: Enable ACL
  585. description: Enable ACL for the storage.
  586. schema:
  587. type: boolean
  588. default: false
  589. - variable: dataset_name
  590. label: Dataset Name
  591. description: The name of the dataset to use for storage.
  592. schema:
  593. type: string
  594. required: true
  595. hidden: true
  596. default: "import"
  597. - variable: acl_entries
  598. label: ACL Configuration
  599. schema:
  600. type: dict
  601. show_if: [["acl_enable", "=", true]]
  602. attrs: []
  603. - variable: host_path_config
  604. label: Host Path Configuration
  605. schema:
  606. type: dict
  607. show_if: [["type", "=", "host_path"]]
  608. attrs:
  609. - variable: acl_enable
  610. label: Enable ACL
  611. description: Enable ACL for the storage.
  612. schema:
  613. type: boolean
  614. default: false
  615. - variable: acl
  616. label: ACL Configuration
  617. schema:
  618. type: dict
  619. show_if: [["acl_enable", "=", true]]
  620. attrs: []
  621. $ref:
  622. - "normalize/acl"
  623. - variable: path
  624. label: Host Path
  625. description: The host path to use for storage.
  626. schema:
  627. type: hostpath
  628. show_if: [["acl_enable", "=", false]]
  629. required: true
  630. - variable: additional_storage
  631. label: Additional Storage
  632. schema:
  633. type: list
  634. default: []
  635. items:
  636. - variable: storageEntry
  637. label: Storage Entry
  638. schema:
  639. type: dict
  640. attrs:
  641. - variable: type
  642. label: Type
  643. description: |
  644. ixVolume: Is dataset created automatically by the system.</br>
  645. Host Path: Is a path that already exists on the system.</br>
  646. SMB Share: Is a SMB share that is mounted to as a volume.
  647. schema:
  648. type: string
  649. required: true
  650. default: "ix_volume"
  651. enum:
  652. - value: "host_path"
  653. description: Host Path (Path that already exists on the system)
  654. - value: "ix_volume"
  655. description: ixVolume (Dataset created automatically by the system)
  656. - value: "cifs"
  657. description: SMB/CIFS Share (Mounts a volume to a SMB share)
  658. - variable: read_only
  659. label: Read Only
  660. description: Mount the volume as read only.
  661. schema:
  662. type: boolean
  663. default: false
  664. - variable: mount_path
  665. label: Mount Path
  666. description: The path inside the container to mount the storage.
  667. schema:
  668. type: path
  669. required: true
  670. - variable: host_path_config
  671. label: Host Path Configuration
  672. schema:
  673. type: dict
  674. show_if: [["type", "=", "host_path"]]
  675. attrs:
  676. - variable: acl_enable
  677. label: Enable ACL
  678. description: Enable ACL for the storage.
  679. schema:
  680. type: boolean
  681. default: false
  682. - variable: acl
  683. label: ACL Configuration
  684. schema:
  685. type: dict
  686. show_if: [["acl_enable", "=", true]]
  687. attrs: []
  688. $ref:
  689. - "normalize/acl"
  690. - variable: path
  691. label: Host Path
  692. description: The host path to use for storage.
  693. schema:
  694. type: hostpath
  695. show_if: [["acl_enable", "=", false]]
  696. required: true
  697. - variable: ix_volume_config
  698. label: ixVolume Configuration
  699. description: The configuration for the ixVolume dataset.
  700. schema:
  701. type: dict
  702. show_if: [["type", "=", "ix_volume"]]
  703. $ref:
  704. - "normalize/ix_volume"
  705. attrs:
  706. - variable: acl_enable
  707. label: Enable ACL
  708. description: Enable ACL for the storage.
  709. schema:
  710. type: boolean
  711. default: false
  712. - variable: dataset_name
  713. label: Dataset Name
  714. description: The name of the dataset to use for storage.
  715. schema:
  716. type: string
  717. required: true
  718. default: "storage_entry"
  719. - variable: acl_entries
  720. label: ACL Configuration
  721. schema:
  722. type: dict
  723. show_if: [["acl_enable", "=", true]]
  724. attrs: []
  725. $ref:
  726. - "normalize/acl"
  727. - variable: cifs_config
  728. label: SMB Configuration
  729. description: The configuration for the SMB dataset.
  730. schema:
  731. type: dict
  732. show_if: [["type", "=", "cifs"]]
  733. attrs:
  734. - variable: server
  735. label: Server
  736. description: The server to mount the SMB share.
  737. schema:
  738. type: string
  739. required: true
  740. - variable: path
  741. label: Path
  742. description: The path to mount the SMB share.
  743. schema:
  744. type: string
  745. required: true
  746. - variable: username
  747. label: Username
  748. description: The username to use for the SMB share.
  749. schema:
  750. type: string
  751. required: true
  752. - variable: password
  753. label: Password
  754. description: The password to use for the SMB share.
  755. schema:
  756. type: string
  757. required: true
  758. private: true
  759. - variable: domain
  760. label: Domain
  761. description: The domain to use for the SMB share.
  762. schema:
  763. type: string
  764. - variable: labels
  765. label: ""
  766. group: Labels Configuration
  767. schema:
  768. type: list
  769. default: []
  770. items:
  771. - variable: label
  772. label: Label
  773. schema:
  774. type: dict
  775. attrs:
  776. - variable: key
  777. label: Key
  778. schema:
  779. type: string
  780. required: true
  781. - variable: value
  782. label: Value
  783. schema:
  784. type: string
  785. required: true
  786. - variable: containers
  787. label: Containers
  788. description: Containers where the label should be applied
  789. schema:
  790. type: list
  791. items:
  792. - variable: container
  793. label: Container
  794. schema:
  795. type: string
  796. required: true
  797. enum:
  798. - value: crafty-4
  799. description: crafty-4
  800. - variable: resources
  801. label: ""
  802. group: Resources Configuration
  803. schema:
  804. type: dict
  805. attrs:
  806. - variable: limits
  807. label: Limits
  808. schema:
  809. type: dict
  810. attrs:
  811. - variable: cpus
  812. label: CPUs
  813. description: CPUs limit for Crafty 4.
  814. schema:
  815. type: int
  816. default: 2
  817. required: true
  818. - variable: memory
  819. label: Memory (in MB)
  820. description: Memory limit for Crafty 4.
  821. schema:
  822. type: int
  823. default: 4096
  824. required: true