questions.yaml 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685
  1. groups:
  2. - name: Palworld Configuration
  3. description: Configure Palworld
  4. - name: User and Group Configuration
  5. description: Configure User and Group for Palworld
  6. - name: Network Configuration
  7. description: Configure Network for Palworld
  8. - name: Storage Configuration
  9. description: Configure Storage for Palworld
  10. - name: Labels Configuration
  11. description: Configure Labels for Palworld
  12. - name: Resources Configuration
  13. description: Configure Resources for Palworld
  14. questions:
  15. - variable: palworld
  16. label: ""
  17. group: Palworld Configuration
  18. schema:
  19. type: dict
  20. attrs:
  21. - variable: admin_password
  22. label: Admin Password
  23. description: Your server admin password
  24. schema:
  25. type: string
  26. private: true
  27. required: true
  28. default: ""
  29. - variable: server
  30. label: Server Configuration
  31. description: Configure the server for Palworld
  32. schema:
  33. type: dict
  34. attrs:
  35. - variable: name
  36. label: Server Name
  37. description: Your server name
  38. schema:
  39. type: string
  40. required: true
  41. default: "TrueNAS Palworld Server"
  42. - variable: description
  43. label: Server Description
  44. description: Your server description
  45. schema:
  46. type: string
  47. required: true
  48. default: "Palworld Server running on TrueNAS"
  49. - variable: password
  50. label: Server Password
  51. description: |
  52. Your server password, leave blank for no password
  53. schema:
  54. type: string
  55. private: true
  56. default: ""
  57. - variable: allow_platform
  58. label: Platform
  59. description: Specify which platforms are allowed to connect
  60. schema:
  61. type: string
  62. required: true
  63. default: "Steam"
  64. enum:
  65. - value: "Steam"
  66. description: Steam platform
  67. - value: "Xbox"
  68. description: Xbox platform
  69. - variable: ini_keys
  70. label: Configure INI Keys
  71. description: |
  72. Enter your INI keys </br>
  73. Updates the keys in PalWorldSettings.ini
  74. schema:
  75. type: list
  76. default: []
  77. items:
  78. - variable: ini_key
  79. label: INI Key
  80. schema:
  81. type: dict
  82. attrs:
  83. - variable: key
  84. label: Key
  85. schema:
  86. type: string
  87. default: ""
  88. required: true
  89. - variable: value
  90. label: Value
  91. schema:
  92. type: string
  93. default: ""
  94. - variable: backup
  95. label: Backup
  96. description: Configure the backup for Palworld
  97. schema:
  98. type: dict
  99. attrs:
  100. - variable: enabled
  101. label: Enabled
  102. description: Enable the backup for Palworld
  103. schema:
  104. type: boolean
  105. default: false
  106. - variable: interval
  107. label: Interval
  108. description: Interval in minutes to backup the server
  109. schema:
  110. type: int
  111. show_if: [["enabled", "=", true]]
  112. default: 120
  113. required: true
  114. min: 15
  115. - variable: keep
  116. label: Keep
  117. description: How many backups to keep
  118. schema:
  119. type: int
  120. show_if: [["enabled", "=", true]]
  121. default: 3
  122. required: true
  123. min: 1
  124. - variable: game_params
  125. label: Game Parameters
  126. description: |
  127. Enter your game parameters </br>
  128. Format: EpicApp=PalServer
  129. schema:
  130. type: list
  131. default:
  132. - EpicApp=PalServer
  133. items:
  134. - variable: game_param
  135. label: Game Parameter
  136. schema:
  137. type: string
  138. required: true
  139. - variable: game_params_extra
  140. label: Extra Game Parameters
  141. description: |
  142. Enter your extra game parameters </br>
  143. Format: -NoAsyncLoadingThread
  144. schema:
  145. type: list
  146. default:
  147. - -useperfthreads
  148. - -NoAsyncLoadingThread
  149. - -UseMultithreadForDS
  150. items:
  151. - variable: game_param_extra
  152. label: Extra Game Parameter
  153. schema:
  154. type: string
  155. required: true
  156. - variable: update_public_ip
  157. label: Update Public IP
  158. description: |
  159. If enabled the container will check on each container
  160. start if the Public IP is still valid.
  161. schema:
  162. type: boolean
  163. default: false
  164. - variable: validate
  165. label: Validate
  166. description: If enabled the container validates the game data
  167. schema:
  168. type: boolean
  169. default: false
  170. - variable: username
  171. label: Username
  172. description: Leave blank for anonymous login
  173. schema:
  174. type: string
  175. default: ""
  176. - variable: password
  177. label: Password
  178. description: Leave blank for anonymous login
  179. schema:
  180. type: string
  181. default: ""
  182. show_if: [["username", "!=", ""]]
  183. private: true
  184. - variable: additional_envs
  185. label: Additional Environment Variables
  186. schema:
  187. type: list
  188. default: []
  189. items:
  190. - variable: env
  191. label: Environment Variable
  192. schema:
  193. type: dict
  194. attrs:
  195. - variable: name
  196. label: Name
  197. schema:
  198. type: string
  199. required: true
  200. - variable: value
  201. label: Value
  202. schema:
  203. type: string
  204. - variable: run_as
  205. label: ""
  206. group: User and Group Configuration
  207. schema:
  208. type: dict
  209. attrs:
  210. - variable: user
  211. label: User ID
  212. description: The user id that Palworld files will be owned by.
  213. schema:
  214. type: int
  215. min: 568
  216. default: 568
  217. required: true
  218. - variable: group
  219. label: Group ID
  220. description: The group id that Palworld files will be owned by.
  221. schema:
  222. type: int
  223. min: 568
  224. default: 568
  225. required: true
  226. - variable: network
  227. label: ""
  228. group: Network Configuration
  229. schema:
  230. type: dict
  231. attrs:
  232. - variable: server_port
  233. label: Server Port
  234. schema:
  235. type: dict
  236. attrs:
  237. - variable: bind_mode
  238. label: Port Bind Mode
  239. description: |
  240. The port bind mode.</br>
  241. - Publish: The port will be published on the host for external access.</br>
  242. - Expose: The port will be exposed for inter-container communication.</br>
  243. - None: The port will not be exposed or published.</br>
  244. Note: If the Dockerfile defines an EXPOSE directive,
  245. the port will still be exposed for inter-container communication regardless of this setting.
  246. schema:
  247. type: string
  248. default: "published"
  249. enum:
  250. - value: "published"
  251. description: Publish port on the host for external access
  252. - value: "exposed"
  253. description: Expose port for inter-container communication
  254. - value: ""
  255. description: None
  256. - variable: port_number
  257. label: Port Number
  258. schema:
  259. type: int
  260. default: 38211
  261. min: 1
  262. max: 65535
  263. required: true
  264. - variable: host_ips
  265. label: Host IPs
  266. description: IPs on the host to bind this port
  267. schema:
  268. type: list
  269. show_if: [["bind_mode", "=", "published"]]
  270. default: []
  271. items:
  272. - variable: host_ip
  273. label: Host IP
  274. schema:
  275. type: string
  276. required: true
  277. $ref:
  278. - definitions/node_bind_ip
  279. - variable: rcon_port
  280. label: RCON Port
  281. schema:
  282. type: dict
  283. attrs:
  284. - variable: bind_mode
  285. label: Port Bind Mode
  286. description: |
  287. The port bind mode.</br>
  288. - Publish: The port will be published on the host for external access.</br>
  289. - Expose: The port will be exposed for inter-container communication.</br>
  290. - None: The port will not be exposed or published.</br>
  291. Note: If the Dockerfile defines an EXPOSE directive,
  292. the port will still be exposed for inter-container communication regardless of this setting.
  293. schema:
  294. type: string
  295. default: "published"
  296. enum:
  297. - value: "published"
  298. description: Publish port on the host for external access
  299. - value: "exposed"
  300. description: Expose port for inter-container communication
  301. - value: ""
  302. description: None
  303. - variable: port_number
  304. label: Port Number
  305. schema:
  306. type: int
  307. default: 38212
  308. min: 1
  309. max: 65535
  310. required: true
  311. - variable: host_ips
  312. label: Host IPs
  313. description: IPs on the host to bind this port
  314. schema:
  315. type: list
  316. show_if: [["bind_mode", "=", "published"]]
  317. default: []
  318. items:
  319. - variable: host_ip
  320. label: Host IP
  321. schema:
  322. type: string
  323. required: true
  324. $ref:
  325. - definitions/node_bind_ip
  326. - variable: host_network
  327. label: Host Network
  328. description: |
  329. Bind to the host network. It's recommended to keep this disabled.
  330. schema:
  331. type: boolean
  332. default: false
  333. - variable: storage
  334. label: ""
  335. group: Storage Configuration
  336. schema:
  337. type: dict
  338. attrs:
  339. - variable: steamcmd
  340. label: Palworld SteamCMD Storage
  341. description: The path to store Palworld SteamCMD.
  342. schema:
  343. type: dict
  344. attrs:
  345. - variable: type
  346. label: Type
  347. description: |
  348. ixVolume: Is dataset created automatically by the system.</br>
  349. Host Path: Is a path that already exists on the system.
  350. schema:
  351. type: string
  352. required: true
  353. default: "ix_volume"
  354. enum:
  355. - value: "host_path"
  356. description: Host Path (Path that already exists on the system)
  357. - value: "ix_volume"
  358. description: ixVolume (Dataset created automatically by the system)
  359. - variable: ix_volume_config
  360. label: ixVolume Configuration
  361. description: The configuration for the ixVolume dataset.
  362. schema:
  363. type: dict
  364. show_if: [["type", "=", "ix_volume"]]
  365. $ref:
  366. - "normalize/ix_volume"
  367. attrs:
  368. - variable: acl_enable
  369. label: Enable ACL
  370. description: Enable ACL for the storage.
  371. schema:
  372. type: boolean
  373. default: false
  374. - variable: dataset_name
  375. label: Dataset Name
  376. description: The name of the dataset to use for storage.
  377. schema:
  378. type: string
  379. required: true
  380. hidden: true
  381. default: "steamcmd"
  382. - variable: acl_entries
  383. label: ACL Configuration
  384. schema:
  385. type: dict
  386. show_if: [["acl_enable", "=", true]]
  387. attrs: []
  388. - variable: host_path_config
  389. label: Host Path Configuration
  390. schema:
  391. type: dict
  392. show_if: [["type", "=", "host_path"]]
  393. attrs:
  394. - variable: acl_enable
  395. label: Enable ACL
  396. description: Enable ACL for the storage.
  397. schema:
  398. type: boolean
  399. default: false
  400. - variable: acl
  401. label: ACL Configuration
  402. schema:
  403. type: dict
  404. show_if: [["acl_enable", "=", true]]
  405. attrs: []
  406. $ref:
  407. - "normalize/acl"
  408. - variable: path
  409. label: Host Path
  410. description: The host path to use for storage.
  411. schema:
  412. type: hostpath
  413. show_if: [["acl_enable", "=", false]]
  414. required: true
  415. - variable: server
  416. label: Palworld Server Storage
  417. description: The path to store Palworld Server.
  418. schema:
  419. type: dict
  420. attrs:
  421. - variable: type
  422. label: Type
  423. description: |
  424. ixVolume: Is dataset created automatically by the system.</br>
  425. Host Path: Is a path that already exists on the system.
  426. schema:
  427. type: string
  428. required: true
  429. default: "ix_volume"
  430. enum:
  431. - value: "host_path"
  432. description: Host Path (Path that already exists on the system)
  433. - value: "ix_volume"
  434. description: ixVolume (Dataset created automatically by the system)
  435. - variable: ix_volume_config
  436. label: ixVolume Configuration
  437. description: The configuration for the ixVolume dataset.
  438. schema:
  439. type: dict
  440. show_if: [["type", "=", "ix_volume"]]
  441. $ref:
  442. - "normalize/ix_volume"
  443. attrs:
  444. - variable: acl_enable
  445. label: Enable ACL
  446. description: Enable ACL for the storage.
  447. schema:
  448. type: boolean
  449. default: false
  450. - variable: dataset_name
  451. label: Dataset Name
  452. description: The name of the dataset to use for storage.
  453. schema:
  454. type: string
  455. required: true
  456. hidden: true
  457. default: "server"
  458. - variable: acl_entries
  459. label: ACL Configuration
  460. schema:
  461. type: dict
  462. show_if: [["acl_enable", "=", true]]
  463. attrs: []
  464. - variable: host_path_config
  465. label: Host Path Configuration
  466. schema:
  467. type: dict
  468. show_if: [["type", "=", "host_path"]]
  469. attrs:
  470. - variable: acl_enable
  471. label: Enable ACL
  472. description: Enable ACL for the storage.
  473. schema:
  474. type: boolean
  475. default: false
  476. - variable: acl
  477. label: ACL Configuration
  478. schema:
  479. type: dict
  480. show_if: [["acl_enable", "=", true]]
  481. attrs: []
  482. $ref:
  483. - "normalize/acl"
  484. - variable: path
  485. label: Host Path
  486. description: The host path to use for storage.
  487. schema:
  488. type: hostpath
  489. show_if: [["acl_enable", "=", false]]
  490. required: true
  491. - variable: additional_storage
  492. label: Additional Storage
  493. schema:
  494. type: list
  495. default: []
  496. items:
  497. - variable: storageEntry
  498. label: Storage Entry
  499. schema:
  500. type: dict
  501. attrs:
  502. - variable: type
  503. label: Type
  504. description: |
  505. ixVolume: Is dataset created automatically by the system.</br>
  506. Host Path: Is a path that already exists on the system.</br>
  507. SMB Share: Is a SMB share that is mounted to as a volume.
  508. schema:
  509. type: string
  510. required: true
  511. default: "ix_volume"
  512. enum:
  513. - value: "host_path"
  514. description: Host Path (Path that already exists on the system)
  515. - value: "ix_volume"
  516. description: ixVolume (Dataset created automatically by the system)
  517. - value: "cifs"
  518. description: SMB/CIFS Share (Mounts a volume to a SMB share)
  519. - variable: read_only
  520. label: Read Only
  521. description: Mount the volume as read only.
  522. schema:
  523. type: boolean
  524. default: false
  525. - variable: mount_path
  526. label: Mount Path
  527. description: The path inside the container to mount the storage.
  528. schema:
  529. type: path
  530. required: true
  531. - variable: host_path_config
  532. label: Host Path Configuration
  533. schema:
  534. type: dict
  535. show_if: [["type", "=", "host_path"]]
  536. attrs:
  537. - variable: acl_enable
  538. label: Enable ACL
  539. description: Enable ACL for the storage.
  540. schema:
  541. type: boolean
  542. default: false
  543. - variable: acl
  544. label: ACL Configuration
  545. schema:
  546. type: dict
  547. show_if: [["acl_enable", "=", true]]
  548. attrs: []
  549. $ref:
  550. - "normalize/acl"
  551. - variable: path
  552. label: Host Path
  553. description: The host path to use for storage.
  554. schema:
  555. type: hostpath
  556. show_if: [["acl_enable", "=", false]]
  557. required: true
  558. - variable: ix_volume_config
  559. label: ixVolume Configuration
  560. description: The configuration for the ixVolume dataset.
  561. schema:
  562. type: dict
  563. show_if: [["type", "=", "ix_volume"]]
  564. $ref:
  565. - "normalize/ix_volume"
  566. attrs:
  567. - variable: acl_enable
  568. label: Enable ACL
  569. description: Enable ACL for the storage.
  570. schema:
  571. type: boolean
  572. default: false
  573. - variable: dataset_name
  574. label: Dataset Name
  575. description: The name of the dataset to use for storage.
  576. schema:
  577. type: string
  578. required: true
  579. default: "storage_entry"
  580. - variable: acl_entries
  581. label: ACL Configuration
  582. schema:
  583. type: dict
  584. show_if: [["acl_enable", "=", true]]
  585. attrs: []
  586. - variable: cifs_config
  587. label: SMB Configuration
  588. description: The configuration for the SMB dataset.
  589. schema:
  590. type: dict
  591. show_if: [["type", "=", "cifs"]]
  592. attrs:
  593. - variable: server
  594. label: Server
  595. description: The server to mount the SMB share.
  596. schema:
  597. type: string
  598. required: true
  599. - variable: path
  600. label: Path
  601. description: The path to mount the SMB share.
  602. schema:
  603. type: string
  604. required: true
  605. - variable: username
  606. label: Username
  607. description: The username to use for the SMB share.
  608. schema:
  609. type: string
  610. required: true
  611. - variable: password
  612. label: Password
  613. description: The password to use for the SMB share.
  614. schema:
  615. type: string
  616. required: true
  617. private: true
  618. - variable: domain
  619. label: Domain
  620. description: The domain to use for the SMB share.
  621. schema:
  622. type: string
  623. - variable: labels
  624. label: ""
  625. group: Labels Configuration
  626. schema:
  627. type: list
  628. default: []
  629. items:
  630. - variable: label
  631. label: Label
  632. schema:
  633. type: dict
  634. attrs:
  635. - variable: key
  636. label: Key
  637. schema:
  638. type: string
  639. required: true
  640. - variable: value
  641. label: Value
  642. schema:
  643. type: string
  644. required: true
  645. - variable: containers
  646. label: Containers
  647. description: Containers where the label should be applied
  648. schema:
  649. type: list
  650. items:
  651. - variable: container
  652. label: Container
  653. schema:
  654. type: string
  655. required: true
  656. enum:
  657. - value: palworld
  658. description: palworld
  659. - variable: resources
  660. label: ""
  661. group: Resources Configuration
  662. schema:
  663. type: dict
  664. attrs:
  665. - variable: limits
  666. label: Limits
  667. schema:
  668. type: dict
  669. attrs:
  670. - variable: cpus
  671. label: CPUs
  672. description: CPUs limit for Palworld.
  673. schema:
  674. type: int
  675. default: 2
  676. required: true
  677. - variable: memory
  678. label: Memory (in MB)
  679. description: Memory limit for Palworld.
  680. schema:
  681. type: int
  682. default: 4096
  683. required: true