questions.yaml 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583
  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: Resources Configuration
  11. description: Configure Resources for Palworld
  12. questions:
  13. - variable: palworldConfig
  14. label: ""
  15. group: Palworld Configuration
  16. schema:
  17. type: dict
  18. attrs:
  19. - variable: adminPassword
  20. label: Admin Password
  21. description: Your server admin password
  22. schema:
  23. type: string
  24. private: true
  25. required: true
  26. default: ""
  27. valid_chars: "[a-zA-Z0-9!@#%-_]*"
  28. valid_chars_error: |
  29. Can contain at numbers, letters, and the following characters: !@#%-_
  30. - variable: server
  31. label: Server Configuration
  32. description: Configure the server for Palworld
  33. schema:
  34. type: dict
  35. attrs:
  36. - variable: name
  37. label: Server Name
  38. description: Your server name
  39. schema:
  40. type: string
  41. required: true
  42. default: "TrueNAS Palworld Server"
  43. - variable: description
  44. label: Server Description
  45. description: Your server description
  46. schema:
  47. type: string
  48. required: true
  49. default: "Palworld Server running on TrueNAS"
  50. - variable: password
  51. label: Server Password
  52. description: |
  53. Your server password, leave blank for no password
  54. schema:
  55. type: string
  56. private: true
  57. default: ""
  58. valid_chars: "[a-zA-Z0-9!@#%-_]*"
  59. valid_chars_error: |
  60. Can contain at numbers, letters, and the following characters: !@#%-_
  61. - variable: backup
  62. label: Backup
  63. description: Configure the backup for Palworld
  64. schema:
  65. type: dict
  66. attrs:
  67. - variable: enabled
  68. label: Enabled
  69. description: Enable the backup for Palworld
  70. schema:
  71. type: boolean
  72. default: false
  73. - variable: interval
  74. label: Interval
  75. description: Interval in minutes to backup the server
  76. schema:
  77. type: int
  78. show_if: [["enabled", "=", true]]
  79. default: 120
  80. required: true
  81. min: 15
  82. - variable: keep
  83. label: Keep
  84. description: How many backups to keep
  85. schema:
  86. type: int
  87. show_if: [["enabled", "=", true]]
  88. default: 3
  89. required: true
  90. min: 1
  91. - variable: gameParams
  92. label: Game Parameters
  93. description: |
  94. Enter your game parameters </br>
  95. Format: EpicApp=PalServer
  96. schema:
  97. type: list
  98. default:
  99. - EpicApp=PalServer
  100. items:
  101. - variable: gameParam
  102. label: Game Parameter
  103. schema:
  104. type: string
  105. required: true
  106. - variable: gameParamsExtra
  107. label: Extra Game Parameters
  108. description: |
  109. Enter your extra game parameters </br>
  110. Format: -NoAsyncLoadingThread
  111. schema:
  112. type: list
  113. default:
  114. - -useperfthreads
  115. - -NoAsyncLoadingThread
  116. - -UseMultithreadForDS
  117. items:
  118. - variable: gameParamExtra
  119. label: Extra Game Parameter
  120. schema:
  121. type: string
  122. required: true
  123. - variable: updatePublicIP
  124. label: Update Public IP
  125. description: |
  126. If enabled the container will check on each container
  127. start if the Public IP is still valid.
  128. schema:
  129. type: boolean
  130. default: false
  131. - variable: validate
  132. label: Validate
  133. description: If enabled the container validates the game data
  134. schema:
  135. type: boolean
  136. default: false
  137. - variable: username
  138. label: Username
  139. description: Leave blank for anonymous login
  140. schema:
  141. type: string
  142. default: ""
  143. - variable: password
  144. label: Password
  145. description: Leave blank for anonymous login
  146. schema:
  147. type: string
  148. default: ""
  149. show_if: [["username", "!=", ""]]
  150. private: true
  151. - variable: additionalEnvs
  152. label: Additional Environment Variables
  153. description: Configure additional environment variables for Palworld.
  154. schema:
  155. type: list
  156. default: []
  157. items:
  158. - variable: env
  159. label: Environment Variable
  160. schema:
  161. type: dict
  162. attrs:
  163. - variable: name
  164. label: Name
  165. schema:
  166. type: string
  167. required: true
  168. - variable: value
  169. label: Value
  170. schema:
  171. type: string
  172. required: true
  173. - variable: palworldID
  174. label: ""
  175. group: User and Group Configuration
  176. schema:
  177. type: dict
  178. attrs:
  179. - variable: user
  180. label: User ID
  181. description: The user id that Palworld files will be owned by.
  182. schema:
  183. type: int
  184. min: 568
  185. default: 568
  186. required: true
  187. - variable: group
  188. label: Group ID
  189. description: The group id that Palworld files will be owned by.
  190. schema:
  191. type: int
  192. min: 568
  193. default: 568
  194. required: true
  195. - variable: palworldNetwork
  196. label: ""
  197. group: Network Configuration
  198. schema:
  199. type: dict
  200. attrs:
  201. - variable: serverPort
  202. label: Server Port
  203. description: The UDP port for the Palworld Server.
  204. schema:
  205. type: int
  206. default: 38211
  207. min: 9000
  208. max: 65535
  209. required: true
  210. - variable: rconPort
  211. label: RCON Port
  212. description: The TCP port for the Palworld RCON.
  213. schema:
  214. type: int
  215. default: 38212
  216. min: 9000
  217. max: 65535
  218. required: true
  219. - variable: hostNetwork
  220. label: Host Network
  221. description: |
  222. Bind to the host network. It might be needed for the UDP server port to work.
  223. schema:
  224. type: boolean
  225. default: false
  226. - variable: palworldStorage
  227. label: ""
  228. group: Storage Configuration
  229. schema:
  230. type: dict
  231. attrs:
  232. - variable: steamcmd
  233. label: Palworld SteamCMD Storage
  234. description: The path to store Palworld SteamCMD.
  235. schema:
  236. type: dict
  237. attrs:
  238. - variable: type
  239. label: Type
  240. description: |
  241. ixVolume: Is dataset created automatically by the system.</br>
  242. Host Path: Is a path that already exists on the system.
  243. schema:
  244. type: string
  245. required: true
  246. immutable: true
  247. default: "ixVolume"
  248. enum:
  249. - value: "hostPath"
  250. description: Host Path (Path that already exists on the system)
  251. - value: "ixVolume"
  252. description: ixVolume (Dataset created automatically by the system)
  253. - variable: ixVolumeConfig
  254. label: ixVolume Configuration
  255. description: The configuration for the ixVolume dataset.
  256. schema:
  257. type: dict
  258. show_if: [["type", "=", "ixVolume"]]
  259. $ref:
  260. - "normalize/ixVolume"
  261. attrs:
  262. - variable: aclEnable
  263. label: Enable ACL
  264. description: Enable ACL for the dataset.
  265. schema:
  266. type: boolean
  267. default: false
  268. - variable: datasetName
  269. label: Dataset Name
  270. description: The name of the dataset to use for storage.
  271. schema:
  272. type: string
  273. required: true
  274. immutable: true
  275. hidden: true
  276. default: "steamcmd"
  277. - variable: aclEntries
  278. label: ACL Configuration
  279. schema:
  280. type: dict
  281. show_if: [["aclEnable", "=", true]]
  282. attrs: []
  283. - variable: hostPathConfig
  284. label: Host Path Configuration
  285. schema:
  286. type: dict
  287. show_if: [["type", "=", "hostPath"]]
  288. attrs:
  289. - variable: aclEnable
  290. label: Enable ACL
  291. description: Enable ACL for the dataset.
  292. schema:
  293. type: boolean
  294. default: false
  295. - variable: acl
  296. label: ACL Configuration
  297. schema:
  298. type: dict
  299. show_if: [["aclEnable", "=", true]]
  300. attrs: []
  301. $ref:
  302. - "normalize/acl"
  303. - variable: hostPath
  304. label: Host Path
  305. description: The host path to use for storage.
  306. schema:
  307. type: hostpath
  308. show_if: [["aclEnable", "=", false]]
  309. required: true
  310. - variable: server
  311. label: Palworld Server Storage
  312. description: The path to store Palworld Server.
  313. schema:
  314. type: dict
  315. attrs:
  316. - variable: type
  317. label: Type
  318. description: |
  319. ixVolume: Is dataset created automatically by the system.</br>
  320. Host Path: Is a path that already exists on the system.
  321. schema:
  322. type: string
  323. required: true
  324. immutable: true
  325. default: "ixVolume"
  326. enum:
  327. - value: "hostPath"
  328. description: Host Path (Path that already exists on the system)
  329. - value: "ixVolume"
  330. description: ixVolume (Dataset created automatically by the system)
  331. - variable: readOnly
  332. label: Read Only
  333. description: Mount the volume as read only.
  334. schema:
  335. type: boolean
  336. default: false
  337. - variable: ixVolumeConfig
  338. label: ixVolume Configuration
  339. description: The configuration for the ixVolume dataset.
  340. schema:
  341. type: dict
  342. show_if: [["type", "=", "ixVolume"]]
  343. $ref:
  344. - "normalize/ixVolume"
  345. attrs:
  346. - variable: aclEnable
  347. label: Enable ACL
  348. description: Enable ACL for the dataset.
  349. schema:
  350. type: boolean
  351. default: false
  352. - variable: datasetName
  353. label: Dataset Name
  354. description: The name of the dataset to use for storage.
  355. schema:
  356. type: string
  357. required: true
  358. immutable: true
  359. hidden: true
  360. default: "server"
  361. - variable: aclEntries
  362. label: ACL Configuration
  363. schema:
  364. type: dict
  365. show_if: [["aclEnable", "=", true]]
  366. attrs: []
  367. - variable: hostPathConfig
  368. label: Host Path Configuration
  369. schema:
  370. type: dict
  371. show_if: [["type", "=", "hostPath"]]
  372. attrs:
  373. - variable: aclEnable
  374. label: Enable ACL
  375. description: Enable ACL for the dataset.
  376. schema:
  377. type: boolean
  378. default: false
  379. - variable: acl
  380. label: ACL Configuration
  381. schema:
  382. type: dict
  383. show_if: [["aclEnable", "=", true]]
  384. attrs: []
  385. $ref:
  386. - "normalize/acl"
  387. - variable: hostPath
  388. label: Host Path
  389. description: The host path to use for storage.
  390. schema:
  391. type: hostpath
  392. show_if: [["aclEnable", "=", false]]
  393. required: true
  394. - variable: additionalStorages
  395. label: Additional Storage
  396. description: Additional storage for Palworld.
  397. schema:
  398. type: list
  399. default: []
  400. items:
  401. - variable: storageEntry
  402. label: Storage Entry
  403. schema:
  404. type: dict
  405. attrs:
  406. - variable: type
  407. label: Type
  408. description: |
  409. ixVolume: Is dataset created automatically by the system.</br>
  410. Host Path: Is a path that already exists on the system.</br>
  411. SMB Share: Is a SMB share that is mounted to a persistent volume claim.
  412. schema:
  413. type: string
  414. required: true
  415. default: "ixVolume"
  416. immutable: true
  417. enum:
  418. - value: "hostPath"
  419. description: Host Path (Path that already exists on the system)
  420. - value: "ixVolume"
  421. description: ixVolume (Dataset created automatically by the system)
  422. - value: "smb-pv-pvc"
  423. description: SMB Share (Mounts a persistent volume claim to a SMB share)
  424. - variable: readOnly
  425. label: Read Only
  426. description: Mount the volume as read only.
  427. schema:
  428. type: boolean
  429. default: false
  430. - variable: mountPath
  431. label: Mount Path
  432. description: The path inside the container to mount the storage.
  433. schema:
  434. type: path
  435. required: true
  436. - variable: hostPathConfig
  437. label: Host Path Configuration
  438. schema:
  439. type: dict
  440. show_if: [["type", "=", "hostPath"]]
  441. attrs:
  442. - variable: aclEnable
  443. label: Enable ACL
  444. description: Enable ACL for the dataset.
  445. schema:
  446. type: boolean
  447. default: false
  448. - variable: acl
  449. label: ACL Configuration
  450. schema:
  451. type: dict
  452. show_if: [["aclEnable", "=", true]]
  453. attrs: []
  454. $ref:
  455. - "normalize/acl"
  456. - variable: hostPath
  457. label: Host Path
  458. description: The host path to use for storage.
  459. schema:
  460. type: hostpath
  461. show_if: [["aclEnable", "=", false]]
  462. required: true
  463. - variable: ixVolumeConfig
  464. label: ixVolume Configuration
  465. description: The configuration for the ixVolume dataset.
  466. schema:
  467. type: dict
  468. show_if: [["type", "=", "ixVolume"]]
  469. $ref:
  470. - "normalize/ixVolume"
  471. attrs:
  472. - variable: aclEnable
  473. label: Enable ACL
  474. description: Enable ACL for the dataset.
  475. schema:
  476. type: boolean
  477. default: false
  478. - variable: datasetName
  479. label: Dataset Name
  480. description: The name of the dataset to use for storage.
  481. schema:
  482. type: string
  483. required: true
  484. immutable: true
  485. default: "storage_entry"
  486. - variable: aclEntries
  487. label: ACL Configuration
  488. schema:
  489. type: dict
  490. show_if: [["aclEnable", "=", true]]
  491. attrs: []
  492. - variable: smbConfig
  493. label: SMB Share Configuration
  494. description: The configuration for the SMB Share.
  495. schema:
  496. type: dict
  497. show_if: [["type", "=", "smb-pv-pvc"]]
  498. attrs:
  499. - variable: server
  500. label: Server
  501. description: The server for the SMB share.
  502. schema:
  503. type: string
  504. required: true
  505. - variable: share
  506. label: Share
  507. description: The share name for the SMB share.
  508. schema:
  509. type: string
  510. required: true
  511. - variable: domain
  512. label: Domain (Optional)
  513. description: The domain for the SMB share.
  514. schema:
  515. type: string
  516. - variable: username
  517. label: Username
  518. description: The username for the SMB share.
  519. schema:
  520. type: string
  521. required: true
  522. - variable: password
  523. label: Password
  524. description: The password for the SMB share.
  525. schema:
  526. type: string
  527. required: true
  528. private: true
  529. - variable: size
  530. label: Size (in Gi)
  531. description: The size of the volume quota.
  532. schema:
  533. type: int
  534. required: true
  535. min: 1
  536. default: 1
  537. - variable: resources
  538. group: Resources Configuration
  539. label: ""
  540. schema:
  541. type: dict
  542. attrs:
  543. - variable: limits
  544. label: Limits
  545. schema:
  546. type: dict
  547. attrs:
  548. - variable: cpu
  549. label: CPU
  550. description: CPU limit for Palworld.
  551. schema:
  552. type: string
  553. max_length: 6
  554. valid_chars: '^(0\.[1-9]|[1-9][0-9]*)(\.[0-9]|m?)$'
  555. valid_chars_error: |
  556. Valid CPU limit formats are</br>
  557. - Plain Integer - eg. 1</br>
  558. - Float - eg. 0.5</br>
  559. - Milicpu - eg. 500m
  560. default: "4000m"
  561. required: true
  562. - variable: memory
  563. label: Memory
  564. description: Memory limit for Palworld.
  565. schema:
  566. type: string
  567. max_length: 12
  568. valid_chars: '^[1-9][0-9]*([EPTGMK]i?|e[0-9]+)?$'
  569. valid_chars_error: |
  570. Valid Memory limit formats are</br>
  571. - Suffixed with E/P/T/G/M/K - eg. 1G</br>
  572. - Suffixed with Ei/Pi/Ti/Gi/Mi/Ki - eg. 1Gi</br>
  573. - Plain Integer in bytes - eg. 1024</br>
  574. - Exponent - eg. 134e6
  575. default: "8Gi"
  576. required: true