questions.yaml 35 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937
  1. groups:
  2. - name: Minecraft Configuration
  3. description: Configure Minecraft
  4. - name: User and Group Configuration
  5. description: Configure User and Group for Minecraft
  6. - name: Network Configuration
  7. description: Configure Network for Minecraft
  8. - name: Storage Configuration
  9. description: Configure Storage for Minecraft
  10. - name: Labels Configuration
  11. description: Configure Labels for Minecraft
  12. - name: Resources Configuration
  13. description: Configure Resources for Minecraft
  14. questions:
  15. - variable: TZ
  16. group: Minecraft Configuration
  17. label: Timezone
  18. schema:
  19. type: string
  20. default: Etc/UTC
  21. required: true
  22. $ref:
  23. - definitions/timezone
  24. - variable: minecraft
  25. label: ""
  26. group: Minecraft Configuration
  27. schema:
  28. type: dict
  29. attrs:
  30. - variable: eula
  31. label: EULA
  32. description: The EULA for Minecraft
  33. schema:
  34. type: boolean
  35. default: false
  36. required: true
  37. - variable: image_selector
  38. label: Image Selector
  39. description: The image selector for Minecraft
  40. schema:
  41. type: string
  42. default: image
  43. required: true
  44. enum:
  45. - value: j8_image
  46. description: Java 8 HotSpot (Alpine)
  47. - value: j8_j9_image
  48. description: Java 8 OpenJ9 (Debian)
  49. - value: j8_jdk_image
  50. description: Java 8 HotSpot+JDK (Ubuntu)
  51. - value: j8_gce_image
  52. description: Java 8 GraalVM CE (Oracle)
  53. - value: j11_image
  54. description: Java 11 HotSpot (Ubuntu)
  55. - value: j11_j9_image
  56. description: Java 11 OpenJ9 (Debian)
  57. - value: j11_jdk_image
  58. description: Java 11 HotSpot+JDK (Ubuntu)
  59. - value: j17_image
  60. description: Java 17 HotSpot (Ubuntu)
  61. - value: j17_j9_image
  62. description: Java 17 OpenJ9 (Debian)
  63. - value: j17_jdk_image
  64. description: Java 17 HotSpot+JDK (Ubuntu)
  65. - value: j17_gce_image
  66. description: Java 17 GraalVM CE (Oracle)
  67. - value: j17_alpine_image
  68. description: Java 17 HotSpot (Alpine)
  69. - value: j19_image
  70. description: Java 19 HotSpot (Ubuntu)
  71. - value: image
  72. description: Java 21 HotSpot (Ubuntu)
  73. - value: j21_g_image
  74. description: Java 21 GraalVM (Oracle)
  75. - value: j21_alpine_image
  76. description: Java 21 HotSpot (Alpine)
  77. - variable: type
  78. label: Type
  79. description: |
  80. The type of Minecraft server to run.</br>
  81. Depending on the type you select, you might need
  82. to add additional environment variables. </br>
  83. https://itzg.github.io/docker-minecraft-docs/java/server-types/bukkit-spigot
  84. schema:
  85. type: string
  86. default: "VANILLA"
  87. required: true
  88. enum:
  89. - value: VANILLA
  90. description: Vanilla
  91. - value: SPIGOT
  92. description: Spigot
  93. - value: BUKKIT
  94. description: Bukkit
  95. - value: PAPER
  96. description: Paper
  97. - value: FOLIA
  98. description: Folia
  99. - value: FABRIC
  100. description: Fabric
  101. - value: FORGE
  102. description: Forge
  103. - value: NEOFORGE
  104. description: NeoForge
  105. - value: AUTO_CURSEFORGE
  106. description: CurseForge
  107. - value: MODRINTH
  108. description: Modrinth
  109. - value: FTBA
  110. description: Feed the Beast
  111. - value: PUFFERFISH
  112. description: Pufferfish
  113. - value: PURPUR
  114. description: Purpur
  115. - value: QUILT
  116. description: Quilt
  117. - value: MAGMA
  118. description: Magma
  119. - value: MAGMA_MAINTAINED
  120. description: Magma Maintained
  121. - value: KETTING
  122. description: Ketting
  123. - value: MOHIST
  124. description: Mohist
  125. - value: CATSERVER
  126. description: Catserver
  127. - value: SPONGEVANILLA
  128. description: SpongeVanilla
  129. - value: LIMBO
  130. description: Limbo
  131. - value: CRUCIBLE
  132. description: Crucible
  133. - value: CUSTOM
  134. description: Custom
  135. - variable: version
  136. label: Version
  137. description: |
  138. The minecraft version.</br>
  139. https://itzg.github.io/docker-minecraft-docs/java/versions/minecraft
  140. schema:
  141. type: string
  142. default: "LATEST"
  143. required: true
  144. - variable: mode
  145. label: Game Mode
  146. description: |
  147. The game mode of the Minecraft server.</br>
  148. https://itzg.github.io/docker-minecraft-docs/java/configuration/gamemode
  149. schema:
  150. type: string
  151. default: "survival"
  152. required: true
  153. enum:
  154. - value: survival
  155. description: Survival
  156. - value: creative
  157. description: Creative
  158. - value: adventure
  159. description: Adventure
  160. - value: spectator
  161. description: Spectator
  162. - variable: server_name
  163. label: Server Name
  164. description: |
  165. The name of the Minecraft server.</br>
  166. https://itzg.github.io/docker-minecraft-docs/java/configuration/servername
  167. schema:
  168. type: string
  169. default: "Minecraft Server"
  170. required: true
  171. - variable: difficulty
  172. label: Difficulty
  173. description: |
  174. The difficulty of the Minecraft server.</br>
  175. https://itzg.github.io/docker-minecraft-docs/java/configuration/difficulty
  176. schema:
  177. type: string
  178. default: "easy"
  179. required: true
  180. enum:
  181. - value: peaceful
  182. description: Peaceful
  183. - value: easy
  184. description: Easy
  185. - value: normal
  186. description: Normal
  187. - value: hard
  188. description: Hard
  189. - variable: seed
  190. label: Seed
  191. description: |
  192. The seed for the Minecraft server.</br>
  193. https://itzg.github.io/docker-minecraft-docs/java/configuration/seed </br>
  194. (Quotes is handled by the field automatically)
  195. schema:
  196. type: string
  197. default: ""
  198. - variable: level_type
  199. label: Level Type
  200. description: |
  201. The level type of the Minecraft server.</br>
  202. https://itzg.github.io/docker-minecraft-docs/java/configuration/#level-type-and-generator-settings
  203. schema:
  204. type: string
  205. default: "minecraft:default"
  206. required: true
  207. enum:
  208. - value: minecraft:default
  209. description: Default
  210. - value: minecraft:flat
  211. description: Flat
  212. - value: minecraft:large_biomes
  213. description: Large Biomes
  214. - value: minecraft:amplified
  215. description: Amplified
  216. - value: minecraft:single_biome_surface
  217. description: Single Biome Surface
  218. - value: buffet
  219. description: Buffet
  220. - value: customized
  221. description: Customized
  222. - variable: motd
  223. label: Message of the Day
  224. description: |
  225. The message of the day for the Minecraft server.</br>
  226. https://itzg.github.io/docker-minecraft-docs/java/configuration/motd
  227. schema:
  228. type: string
  229. default: "Welcome to Minecraft on TrueNAS!"
  230. required: true
  231. - variable: enable_rcon
  232. label: Enable RCON
  233. description: |
  234. Enable RCON for the Minecraft server.</br>
  235. It is recommended to keep this enabled, as it helps to
  236. shut down the minecraft server gracefully.</br>
  237. https://itzg.github.io/docker-minecraft-docs/java/rcon
  238. schema:
  239. type: boolean
  240. default: true
  241. - variable: rcon_password
  242. label: RCON Password
  243. description: The RCON password for the Minecraft server.
  244. schema:
  245. type: string
  246. default: ""
  247. show_if: [["enable_rcon", "=", true]]
  248. private: true
  249. required: true
  250. - variable: max_players
  251. label: Max Players
  252. description: |
  253. The maximum number of players that can join the server.</br>
  254. https://itzg.github.io/docker-minecraft-docs/java/configuration/maxplayers
  255. schema:
  256. type: int
  257. default: 20
  258. min: 1
  259. required: true
  260. - variable: max_world_size
  261. label: Max World Size
  262. description: |
  263. The maximum possible size in blocks, expressed as a radius.</br>
  264. https://itzg.github.io/docker-minecraft-docs/java/configuration/maxworldsize
  265. schema:
  266. type: int
  267. default: 10000
  268. min: 1
  269. required: true
  270. - variable: max_build_height
  271. label: Max Build Height
  272. description: |
  273. The maximum height in which building is allowed.
  274. Terrain may still naturally generate above a low height limit.</br>
  275. https://itzg.github.io/docker-minecraft-docs/java/configuration/maxbuildheight
  276. schema:
  277. type: int
  278. default: 256
  279. min: 1
  280. required: true
  281. - variable: allow_nether
  282. label: Allow Nether
  283. description: |
  284. Allows players to travel to the Nether.</br>
  285. https://itzg.github.io/docker-minecraft-docs/java/configuration/allownether
  286. schema:
  287. type: boolean
  288. default: true
  289. - variable: announce_player_achievements
  290. label: Announce Player Achievements
  291. description: |
  292. Allows server to announce when a player gets an achievement.</br>
  293. https://itzg.github.io/docker-minecraft-docs/java/configuration/announceachievements
  294. schema:
  295. type: boolean
  296. default: true
  297. - variable: enable_command_block
  298. label: Enable Command Block
  299. description: |
  300. Enables the command blocks.</br>
  301. https://itzg.github.io/docker-minecraft-docs/java/configuration/enablecommandblock
  302. schema:
  303. type: boolean
  304. default: false
  305. - variable: force_game_mode
  306. label: Force Game Mode
  307. description: |
  308. Force players to join in the default game mode.</br>
  309. https://itzg.github.io/docker-minecraft-docs/java/configuration/forcegamemode
  310. schema:
  311. type: boolean
  312. default: false
  313. - variable: generate_structures
  314. label: Generate Structures
  315. description: |
  316. Defines whether structures (such as villages) will be generated.</br>
  317. https://itzg.github.io/docker-minecraft-docs/java/configuration/generatestructures
  318. schema:
  319. type: boolean
  320. default: true
  321. - variable: hardcore
  322. label: Hardcore
  323. description: |
  324. If set to true, players will be set to spectator mode if they die.</br>
  325. https://itzg.github.io/docker-minecraft-docs/java/configuration/hardcore
  326. schema:
  327. type: boolean
  328. default: false
  329. - variable: spawn_animals
  330. label: Spawn Animals
  331. description: |
  332. Determines if animals will be able to spawn.</br>
  333. https://itzg.github.io/docker-minecraft-docs/java/configuration/spawnanimals
  334. schema:
  335. type: boolean
  336. default: true
  337. - variable: spawn_npcs
  338. label: Spawn NPCs
  339. description: |
  340. Determines if villagers will be spawned.</br>
  341. https://itzg.github.io/docker-minecraft-docs/java/configuration/spawnnpcs
  342. schema:
  343. type: boolean
  344. default: true
  345. - variable: spawn_monsters
  346. label: Spawn Monsters
  347. description: |
  348. Determines if monsters will be spawned.</br>
  349. https://itzg.github.io/docker-minecraft-docs/java/configuration/spawnmonsters
  350. schema:
  351. type: boolean
  352. default: true
  353. - variable: spawn_protection
  354. label: Spawn Protection
  355. description: |
  356. The radius of the spawn protection.</br>
  357. https://itzg.github.io/docker-minecraft-docs/java/configuration/spawnprotection
  358. schema:
  359. type: int
  360. default: 16
  361. min: 0
  362. required: true
  363. - variable: pvp
  364. label: PVP
  365. description: |
  366. Determines if PVP will be enabled.</br>
  367. https://itzg.github.io/docker-minecraft-docs/java/configuration/pvp
  368. schema:
  369. type: boolean
  370. default: true
  371. - variable: allow_flight
  372. label: Allow Flight
  373. description: |
  374. Allows users to use flight on your server while in Survival mode,
  375. if they have a mod that provides flight installed.</br>
  376. https://itzg.github.io/docker-minecraft-docs/java/configuration/allowflight
  377. schema:
  378. type: boolean
  379. default: false
  380. - variable: view_distance
  381. label: View Distance
  382. description: |
  383. Sets the amount of world data the server sends the client,
  384. measured in chunks in each direction of the player (radius, not diameter).
  385. It determines the server-side viewing distance.</br>
  386. https://itzg.github.io/docker-minecraft-docs/java/configuration/viewdistance
  387. schema:
  388. type: int
  389. default: 10
  390. min: 3
  391. max: 32
  392. required: true
  393. - variable: online_mode
  394. label: Online Mode
  395. description: |
  396. If set to true, the server will attempt to authenticate clients
  397. connecting to it with the Minecraft account database.</br>
  398. https://itzg.github.io/docker-minecraft-docs/java/configuration/onlinemode
  399. schema:
  400. type: boolean
  401. default: true
  402. - variable: max_tick_time
  403. label: Max Tick Time
  404. description: |
  405. The maximum number of milliseconds a single tick may take
  406. before the server watchdog stops the server with the message,
  407. A single server tick took 60.00 seconds (should be max 0.05);
  408. Considering it to be crashed, server will forcibly shutdown.</br>
  409. https://itzg.github.io/docker-minecraft-docs/java/configuration/maxticktime
  410. schema:
  411. type: int
  412. default: 60000
  413. min: 0
  414. required: true
  415. - variable: ops
  416. label: Operators / Administrators
  417. description: |
  418. A list of player names who should be considered operators.</br>
  419. https://itzg.github.io/docker-minecraft-docs/java/configuration/ops
  420. schema:
  421. type: list
  422. default: []
  423. items:
  424. - variable: op_player
  425. label: OP Player
  426. schema:
  427. type: string
  428. default: ""
  429. required: true
  430. - variable: whitelist
  431. label: Whitelist
  432. description: |
  433. A list of player names who are allowed to play on the server.</br>
  434. https://itzg.github.io/docker-minecraft-docs/java/configuration/whitelist
  435. schema:
  436. type: list
  437. default: []
  438. items:
  439. - variable: white_player
  440. label: Whitelisted Player
  441. schema:
  442. type: string
  443. default: ""
  444. required: true
  445. - variable: additional_envs
  446. label: Additional Environment Variables
  447. schema:
  448. type: list
  449. default: []
  450. items:
  451. - variable: env
  452. label: Environment Variable
  453. schema:
  454. type: dict
  455. attrs:
  456. - variable: name
  457. label: Name
  458. schema:
  459. type: string
  460. required: true
  461. - variable: value
  462. label: Value
  463. schema:
  464. type: string
  465. - variable: run_as
  466. label: ""
  467. group: User and Group Configuration
  468. schema:
  469. type: dict
  470. attrs:
  471. - variable: user
  472. label: User ID
  473. description: The user id that Minecraft files will be owned by.
  474. schema:
  475. type: int
  476. min: 568
  477. default: 568
  478. required: true
  479. - variable: group
  480. label: Group ID
  481. description: The group id that Minecraft files will be owned by.
  482. schema:
  483. type: int
  484. min: 568
  485. default: 568
  486. required: true
  487. - variable: network
  488. label: ""
  489. group: Network Configuration
  490. schema:
  491. type: dict
  492. attrs:
  493. - variable: server_port
  494. label: Server Port
  495. schema:
  496. type: dict
  497. attrs:
  498. - variable: bind_mode
  499. label: Port Bind Mode
  500. description: |
  501. The port bind mode.</br>
  502. - Publish: The port will be published on the host for external access.</br>
  503. - Expose: The port will be exposed for inter-container communication.</br>
  504. - None: The port will not be exposed or published.</br>
  505. Note: If the Dockerfile defines an EXPOSE directive,
  506. the port will still be exposed for inter-container communication regardless of this setting.
  507. schema:
  508. type: string
  509. default: "published"
  510. enum:
  511. - value: "published"
  512. description: Publish port on the host for external access
  513. - value: "exposed"
  514. description: Expose port for inter-container communication
  515. - value: ""
  516. description: None
  517. - variable: port_number
  518. label: Port Number
  519. schema:
  520. type: int
  521. default: 25535
  522. min: 1
  523. max: 65535
  524. required: true
  525. - variable: host_ips
  526. label: Host IPs
  527. description: IPs on the host to bind this port
  528. schema:
  529. type: list
  530. show_if: [["bind_mode", "=", "published"]]
  531. default: []
  532. items:
  533. - variable: host_ip
  534. label: Host IP
  535. schema:
  536. type: string
  537. required: true
  538. $ref:
  539. - definitions/node_bind_ip
  540. - variable: rcon_port
  541. label: RCON Port
  542. schema:
  543. type: dict
  544. attrs:
  545. - variable: bind_mode
  546. label: Port Bind Mode
  547. description: |
  548. The port bind mode.</br>
  549. - Publish: The port will be published on the host for external access.</br>
  550. - Expose: The port will be exposed for inter-container communication.</br>
  551. - None: The port will not be exposed or published.</br>
  552. Note: If the Dockerfile defines an EXPOSE directive,
  553. the port will still be exposed for inter-container communication regardless of this setting.
  554. schema:
  555. type: string
  556. default: "published"
  557. enum:
  558. - value: "published"
  559. description: Publish port on the host for external access
  560. - value: "exposed"
  561. description: Expose port for inter-container communication
  562. - value: ""
  563. description: None
  564. - variable: port_number
  565. label: Port Number
  566. schema:
  567. type: int
  568. default: 25575
  569. min: 1
  570. max: 65535
  571. required: true
  572. - variable: host_ips
  573. label: Host IPs
  574. description: IPs on the host to bind this port
  575. schema:
  576. type: list
  577. show_if: [["bind_mode", "=", "published"]]
  578. default: []
  579. items:
  580. - variable: host_ip
  581. label: Host IP
  582. schema:
  583. type: string
  584. required: true
  585. $ref:
  586. - definitions/node_bind_ip
  587. - variable: host_network
  588. label: Host Network
  589. description: |
  590. Bind to the host network. It's recommended to keep this disabled.
  591. schema:
  592. type: boolean
  593. default: false
  594. - variable: additional_ports
  595. label: Additional Ports
  596. schema:
  597. type: list
  598. show_if: [["host_network", "=", false]]
  599. items:
  600. - variable: port
  601. label: Port
  602. schema:
  603. type: dict
  604. attrs:
  605. - variable: bind_mode
  606. label: Port Bind Mode
  607. description: |
  608. The port bind mode.</br>
  609. - Publish: The port will be published on the host for external access.</br>
  610. - Expose: The port will be exposed for inter-container communication.</br>
  611. schema:
  612. type: string
  613. default: "published"
  614. enum:
  615. - value: "published"
  616. description: Publish port on the host for external access
  617. - value: "exposed"
  618. description: Expose port for inter-container communication
  619. - variable: port_number
  620. label: Port Number
  621. schema:
  622. type: int
  623. min: 1
  624. max: 65535
  625. required: true
  626. - variable: container_port
  627. label: Container Port
  628. schema:
  629. type: int
  630. min: 1
  631. max: 65535
  632. required: true
  633. - variable: protocol
  634. label: Protocol
  635. schema:
  636. type: string
  637. required: true
  638. default: "tcp"
  639. enum:
  640. - value: "tcp"
  641. description: TCP
  642. - value: "udp"
  643. description: UDP
  644. - variable: host_ips
  645. label: Host IPs
  646. description: IPs on the host to bind this port
  647. schema:
  648. type: list
  649. show_if: [["bind_mode", "=", "published"]]
  650. default: []
  651. items:
  652. - variable: host_ip
  653. label: Host IP
  654. schema:
  655. type: string
  656. required: true
  657. $ref:
  658. - definitions/node_bind_ip
  659. - variable: storage
  660. label: ""
  661. group: Storage Configuration
  662. schema:
  663. type: dict
  664. attrs:
  665. - variable: data
  666. label: Minecraft Data Storage
  667. description: The path to store Minecraft Data.
  668. schema:
  669. type: dict
  670. attrs:
  671. - variable: type
  672. label: Type
  673. description: |
  674. ixVolume: Is dataset created automatically by the system.</br>
  675. Host Path: Is a path that already exists on the system.
  676. schema:
  677. type: string
  678. required: true
  679. default: "ix_volume"
  680. enum:
  681. - value: "host_path"
  682. description: Host Path (Path that already exists on the system)
  683. - value: "ix_volume"
  684. description: ixVolume (Dataset created automatically by the system)
  685. - variable: ix_volume_config
  686. label: ixVolume Configuration
  687. description: The configuration for the ixVolume dataset.
  688. schema:
  689. type: dict
  690. show_if: [["type", "=", "ix_volume"]]
  691. $ref:
  692. - "normalize/ix_volume"
  693. attrs:
  694. - variable: acl_enable
  695. label: Enable ACL
  696. description: Enable ACL for the storage.
  697. schema:
  698. type: boolean
  699. default: false
  700. - variable: dataset_name
  701. label: Dataset Name
  702. description: The name of the dataset to use for storage.
  703. schema:
  704. type: string
  705. required: true
  706. hidden: true
  707. default: "data"
  708. - variable: acl_entries
  709. label: ACL Configuration
  710. schema:
  711. type: dict
  712. show_if: [["acl_enable", "=", true]]
  713. attrs: []
  714. - variable: host_path_config
  715. label: Host Path Configuration
  716. schema:
  717. type: dict
  718. show_if: [["type", "=", "host_path"]]
  719. attrs:
  720. - variable: acl_enable
  721. label: Enable ACL
  722. description: Enable ACL for the storage.
  723. schema:
  724. type: boolean
  725. default: false
  726. - variable: acl
  727. label: ACL Configuration
  728. schema:
  729. type: dict
  730. show_if: [["acl_enable", "=", true]]
  731. attrs: []
  732. $ref:
  733. - "normalize/acl"
  734. - variable: path
  735. label: Host Path
  736. description: The host path to use for storage.
  737. schema:
  738. type: hostpath
  739. show_if: [["acl_enable", "=", false]]
  740. required: true
  741. - variable: additional_storage
  742. label: Additional Storage
  743. schema:
  744. type: list
  745. default: []
  746. items:
  747. - variable: storageEntry
  748. label: Storage Entry
  749. schema:
  750. type: dict
  751. attrs:
  752. - variable: type
  753. label: Type
  754. description: |
  755. ixVolume: Is dataset created automatically by the system.</br>
  756. Host Path: Is a path that already exists on the system.</br>
  757. SMB Share: Is a SMB share that is mounted to as a volume.
  758. schema:
  759. type: string
  760. required: true
  761. default: "ix_volume"
  762. enum:
  763. - value: "host_path"
  764. description: Host Path (Path that already exists on the system)
  765. - value: "ix_volume"
  766. description: ixVolume (Dataset created automatically by the system)
  767. - value: "cifs"
  768. description: SMB/CIFS Share (Mounts a volume to a SMB share)
  769. - variable: read_only
  770. label: Read Only
  771. description: Mount the volume as read only.
  772. schema:
  773. type: boolean
  774. default: false
  775. - variable: mount_path
  776. label: Mount Path
  777. description: The path inside the container to mount the storage.
  778. schema:
  779. type: path
  780. required: true
  781. - variable: host_path_config
  782. label: Host Path Configuration
  783. schema:
  784. type: dict
  785. show_if: [["type", "=", "host_path"]]
  786. attrs:
  787. - variable: acl_enable
  788. label: Enable ACL
  789. description: Enable ACL for the storage.
  790. schema:
  791. type: boolean
  792. default: false
  793. - variable: acl
  794. label: ACL Configuration
  795. schema:
  796. type: dict
  797. show_if: [["acl_enable", "=", true]]
  798. attrs: []
  799. $ref:
  800. - "normalize/acl"
  801. - variable: path
  802. label: Host Path
  803. description: The host path to use for storage.
  804. schema:
  805. type: hostpath
  806. show_if: [["acl_enable", "=", false]]
  807. required: true
  808. - variable: ix_volume_config
  809. label: ixVolume Configuration
  810. description: The configuration for the ixVolume dataset.
  811. schema:
  812. type: dict
  813. show_if: [["type", "=", "ix_volume"]]
  814. $ref:
  815. - "normalize/ix_volume"
  816. attrs:
  817. - variable: acl_enable
  818. label: Enable ACL
  819. description: Enable ACL for the storage.
  820. schema:
  821. type: boolean
  822. default: false
  823. - variable: dataset_name
  824. label: Dataset Name
  825. description: The name of the dataset to use for storage.
  826. schema:
  827. type: string
  828. required: true
  829. default: "storage_entry"
  830. - variable: acl_entries
  831. label: ACL Configuration
  832. schema:
  833. type: dict
  834. show_if: [["acl_enable", "=", true]]
  835. attrs: []
  836. - variable: cifs_config
  837. label: SMB Configuration
  838. description: The configuration for the SMB dataset.
  839. schema:
  840. type: dict
  841. show_if: [["type", "=", "cifs"]]
  842. attrs:
  843. - variable: server
  844. label: Server
  845. description: The server to mount the SMB share.
  846. schema:
  847. type: string
  848. required: true
  849. - variable: path
  850. label: Path
  851. description: The path to mount the SMB share.
  852. schema:
  853. type: string
  854. required: true
  855. - variable: username
  856. label: Username
  857. description: The username to use for the SMB share.
  858. schema:
  859. type: string
  860. required: true
  861. - variable: password
  862. label: Password
  863. description: The password to use for the SMB share.
  864. schema:
  865. type: string
  866. required: true
  867. private: true
  868. - variable: domain
  869. label: Domain
  870. description: The domain to use for the SMB share.
  871. schema:
  872. type: string
  873. - variable: labels
  874. label: ""
  875. group: Labels Configuration
  876. schema:
  877. type: list
  878. default: []
  879. items:
  880. - variable: label
  881. label: Label
  882. schema:
  883. type: dict
  884. attrs:
  885. - variable: key
  886. label: Key
  887. schema:
  888. type: string
  889. required: true
  890. - variable: value
  891. label: Value
  892. schema:
  893. type: string
  894. required: true
  895. - variable: containers
  896. label: Containers
  897. description: Containers where the label should be applied
  898. schema:
  899. type: list
  900. items:
  901. - variable: container
  902. label: Container
  903. schema:
  904. type: string
  905. required: true
  906. enum:
  907. - value: minecraft
  908. description: minecraft
  909. - variable: resources
  910. label: ""
  911. group: Resources Configuration
  912. schema:
  913. type: dict
  914. attrs:
  915. - variable: limits
  916. label: Limits
  917. schema:
  918. type: dict
  919. attrs:
  920. - variable: cpus
  921. label: CPUs
  922. description: CPUs limit for Minecraft.
  923. schema:
  924. type: int
  925. default: 2
  926. required: true
  927. - variable: memory
  928. label: Memory (in MB)
  929. description: Memory limit for Minecraft.
  930. schema:
  931. type: int
  932. default: 4096
  933. required: true