questions.yaml 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590
  1. groups:
  2. - name: NocoDB Configuration
  3. description: Configure NocoDB
  4. - name: User and Group Configuration
  5. description: Configure User and Group for NocoDB
  6. - name: Network Configuration
  7. description: Configure Network for NocoDB
  8. - name: Storage Configuration
  9. description: Configure Storage for NocoDB
  10. - name: Labels Configuration
  11. description: Configure Labels for NocoDB
  12. - name: Resources Configuration
  13. description: Configure Resources for NocoDB
  14. questions:
  15. - variable: TZ
  16. group: NocoDB Configuration
  17. label: Timezone
  18. schema:
  19. type: string
  20. default: Etc/UTC
  21. required: true
  22. $ref:
  23. - definitions/timezone
  24. - variable: nocodb
  25. label: ""
  26. group: NocoDB Configuration
  27. schema:
  28. type: dict
  29. attrs:
  30. - variable: postgres_image_selector
  31. label: Postgres Image (CAUTION)
  32. description: |
  33. If you are changing this after the postgres directory has been initialized,</br>
  34. STOP! and make sure you have a backup of your data.</br>
  35. Changing this will trigger an one way database upgrade.</br>
  36. You can only select newer versions of postgres.</br>
  37. Selecting an older version will refuse to start.</br>
  38. If something goes wrong, you will have to restore from backup.
  39. schema:
  40. type: string
  41. default: postgres_17_image
  42. required: true
  43. enum:
  44. - value: postgres_17_image
  45. description: Postgres 17
  46. - variable: db_password
  47. label: Database Password
  48. description: Password for the postgres user. (Keep this safe!)
  49. schema:
  50. type: string
  51. default: ""
  52. private: true
  53. required: true
  54. - variable: redis_password
  55. label: Redis Password
  56. description: |
  57. Password for the Redis cache server.</br>
  58. Leave blank to auto-generate a secure password.
  59. schema:
  60. type: string
  61. default: ""
  62. private: true
  63. required: true
  64. - variable: jwt_secret
  65. label: JWT Secret
  66. description: |
  67. Secret for generating authentication tokens.</br>
  68. This should be kept secure and not shared.
  69. schema:
  70. type: string
  71. default: ""
  72. private: true
  73. required: true
  74. - variable: admin_email
  75. label: Admin Email
  76. description: |
  77. Email address for the super admin account.</br>
  78. Leave blank to skip initial admin setup.
  79. schema:
  80. type: string
  81. default: ""
  82. - variable: admin_password
  83. label: Admin Password
  84. description: |
  85. Password for the super admin account.</br>
  86. Must be at least 8 characters with uppercase, lowercase, number, and special character.</br>
  87. Leave blank to skip initial admin setup.
  88. schema:
  89. type: string
  90. show_if: [["admin_email", "!=", ""]]
  91. default: ""
  92. private: true
  93. required: true
  94. - variable: public_url
  95. label: Public URL
  96. description: |
  97. Base URL where NocoDB will be accessible.</br>
  98. Example: https://nocodb.example.com</br>
  99. Leave blank to use default.
  100. schema:
  101. type: uri
  102. default: ""
  103. - variable: invite_only_signup
  104. label: Invite Only Signup
  105. description: |
  106. When enabled, only invited users can sign up.</br>
  107. Recommended for production deployments.
  108. schema:
  109. type: boolean
  110. default: false
  111. - variable: disable_telemetry
  112. label: Disable Telemetry
  113. description: |
  114. Disable anonymous usage data collection.</br>
  115. Enable this for privacy.
  116. schema:
  117. type: boolean
  118. default: true
  119. - variable: additional_envs
  120. label: Additional Environment Variables
  121. schema:
  122. type: list
  123. default: []
  124. items:
  125. - variable: env
  126. label: Environment Variable
  127. schema:
  128. type: dict
  129. attrs:
  130. - variable: name
  131. label: Name
  132. schema:
  133. type: string
  134. required: true
  135. - variable: value
  136. label: Value
  137. schema:
  138. type: string
  139. - variable: run_as
  140. label: ""
  141. group: User and Group Configuration
  142. schema:
  143. type: dict
  144. attrs:
  145. - variable: user
  146. label: User ID
  147. description: The user id that NocoDB will run as.
  148. schema:
  149. type: int
  150. min: 568
  151. default: 568
  152. required: true
  153. - variable: group
  154. label: Group ID
  155. description: The group id that NocoDB will run as.
  156. schema:
  157. type: int
  158. min: 568
  159. default: 568
  160. required: true
  161. - variable: network
  162. label: ""
  163. group: Network Configuration
  164. schema:
  165. type: dict
  166. attrs:
  167. - variable: web_port
  168. label: WebUI Port
  169. schema:
  170. type: dict
  171. attrs:
  172. - variable: bind_mode
  173. label: Port Bind Mode
  174. description: |
  175. The port bind mode.</br>
  176. - Publish: The port will be published on the host for external access.</br>
  177. - Expose: The port will be exposed for inter-container communication.</br>
  178. - None: The port will not be exposed or published.</br>
  179. Note: If the Dockerfile defines an EXPOSE directive,
  180. the port will still be exposed for inter-container communication regardless of this setting.
  181. schema:
  182. type: string
  183. default: "published"
  184. enum:
  185. - value: "published"
  186. description: Publish port on the host for external access
  187. - value: "exposed"
  188. description: Expose port for inter-container communication
  189. - value: ""
  190. description: None
  191. - variable: port_number
  192. label: Port Number
  193. schema:
  194. type: int
  195. default: 30183
  196. min: 1
  197. max: 65535
  198. required: true
  199. - variable: host_ips
  200. label: Host IPs
  201. description: IPs on the host to bind this port
  202. schema:
  203. type: list
  204. show_if: [["bind_mode", "=", "published"]]
  205. default: []
  206. items:
  207. - variable: host_ip
  208. label: Host IP
  209. schema:
  210. type: string
  211. required: true
  212. $ref:
  213. - definitions/node_bind_ip
  214. - variable: storage
  215. label: ""
  216. group: Storage Configuration
  217. schema:
  218. type: dict
  219. attrs:
  220. - variable: data
  221. label: NocoDB Data Storage
  222. description: The path to store NocoDB data.
  223. schema:
  224. type: dict
  225. attrs:
  226. - variable: type
  227. label: Type
  228. description: |
  229. ixVolume: Is dataset created automatically by the system.</br>
  230. Host Path: Is a path that already exists on the system.
  231. schema:
  232. type: string
  233. required: true
  234. default: "ix_volume"
  235. enum:
  236. - value: "host_path"
  237. description: Host Path (Path that already exists on the system)
  238. - value: "ix_volume"
  239. description: ixVolume (Dataset created automatically by the system)
  240. - variable: ix_volume_config
  241. label: ixVolume Configuration
  242. description: The configuration for the ixVolume dataset.
  243. schema:
  244. type: dict
  245. show_if: [["type", "=", "ix_volume"]]
  246. $ref:
  247. - "normalize/ix_volume"
  248. attrs:
  249. - variable: acl_enable
  250. label: Enable ACL
  251. description: Enable ACL for the storage.
  252. schema:
  253. type: boolean
  254. default: false
  255. - variable: dataset_name
  256. label: Dataset Name
  257. description: The name of the dataset to use for storage.
  258. schema:
  259. type: string
  260. required: true
  261. hidden: true
  262. default: "data"
  263. - variable: acl_entries
  264. label: ACL Configuration
  265. schema:
  266. type: dict
  267. show_if: [["acl_enable", "=", true]]
  268. attrs: []
  269. - variable: host_path_config
  270. label: Host Path Configuration
  271. schema:
  272. type: dict
  273. show_if: [["type", "=", "host_path"]]
  274. attrs:
  275. - variable: acl_enable
  276. label: Enable ACL
  277. description: Enable ACL for the storage.
  278. schema:
  279. type: boolean
  280. default: false
  281. - variable: acl
  282. label: ACL Configuration
  283. schema:
  284. type: dict
  285. show_if: [["acl_enable", "=", true]]
  286. attrs: []
  287. $ref:
  288. - "normalize/acl"
  289. - variable: path
  290. label: Host Path
  291. description: The host path to use for storage.
  292. schema:
  293. type: hostpath
  294. show_if: [["acl_enable", "=", false]]
  295. required: true
  296. - variable: postgres_data
  297. label: Postgres Data Storage
  298. description: The path to store Postgres Data.
  299. schema:
  300. type: dict
  301. attrs:
  302. - variable: type
  303. label: Type
  304. description: |
  305. ixVolume: Is dataset created automatically by the system.</br>
  306. Host Path: Is a path that already exists on the system.
  307. schema:
  308. type: string
  309. required: true
  310. default: "ix_volume"
  311. enum:
  312. - value: "host_path"
  313. description: Host Path (Path that already exists on the system)
  314. - value: "ix_volume"
  315. description: ixVolume (Dataset created automatically by the system)
  316. - variable: ix_volume_config
  317. label: ixVolume Configuration
  318. description: The configuration for the ixVolume dataset.
  319. schema:
  320. type: dict
  321. show_if: [["type", "=", "ix_volume"]]
  322. $ref:
  323. - "normalize/ix_volume"
  324. attrs:
  325. - variable: acl_enable
  326. label: Enable ACL
  327. description: Enable ACL for the storage.
  328. schema:
  329. type: boolean
  330. default: false
  331. - variable: dataset_name
  332. label: Dataset Name
  333. description: The name of the dataset to use for storage.
  334. schema:
  335. type: string
  336. required: true
  337. hidden: true
  338. default: "pg_data"
  339. - variable: acl_entries
  340. label: ACL Configuration
  341. schema:
  342. type: dict
  343. show_if: [["acl_enable", "=", true]]
  344. attrs: []
  345. - variable: host_path_config
  346. label: Host Path Configuration
  347. schema:
  348. type: dict
  349. show_if: [["type", "=", "host_path"]]
  350. attrs:
  351. - variable: acl_enable
  352. label: Enable ACL
  353. description: Enable ACL for the storage.
  354. schema:
  355. type: boolean
  356. default: false
  357. - variable: acl
  358. label: ACL Configuration
  359. schema:
  360. type: dict
  361. show_if: [["acl_enable", "=", true]]
  362. attrs: []
  363. $ref:
  364. - "normalize/acl"
  365. - variable: path
  366. label: Host Path
  367. description: The host path to use for storage.
  368. schema:
  369. type: hostpath
  370. show_if: [["acl_enable", "=", false]]
  371. required: true
  372. - variable: auto_permissions
  373. label: Automatic Permissions
  374. description: |
  375. Automatically set permissions for the host path.
  376. Enabling this, will check the top level directory,</br>
  377. If it finds incorrect permissions, it will `chown` the
  378. host path to the user and group required for the
  379. postgres container.
  380. schema:
  381. type: boolean
  382. default: false
  383. show_if: [["acl_enable", "=", false]]
  384. - variable: additional_storage
  385. label: Additional Storage
  386. schema:
  387. type: list
  388. default: []
  389. items:
  390. - variable: storageEntry
  391. label: Storage Entry
  392. schema:
  393. type: dict
  394. attrs:
  395. - variable: type
  396. label: Type
  397. description: |
  398. ixVolume: Is dataset created automatically by the system.</br>
  399. Host Path: Is a path that already exists on the system.</br>
  400. SMB Share: Is a SMB share that is mounted to as a volume.
  401. schema:
  402. type: string
  403. required: true
  404. default: "ix_volume"
  405. enum:
  406. - value: "host_path"
  407. description: Host Path (Path that already exists on the system)
  408. - value: "ix_volume"
  409. description: ixVolume (Dataset created automatically by the system)
  410. - value: "cifs"
  411. description: SMB/CIFS Share (Mounts a volume to a SMB share)
  412. - variable: read_only
  413. label: Read Only
  414. description: Mount the volume as read only.
  415. schema:
  416. type: boolean
  417. default: false
  418. - variable: mount_path
  419. label: Mount Path
  420. description: The path inside the container to mount the storage.
  421. schema:
  422. type: path
  423. required: true
  424. - variable: host_path_config
  425. label: Host Path Configuration
  426. schema:
  427. type: dict
  428. show_if: [["type", "=", "host_path"]]
  429. attrs:
  430. - variable: acl_enable
  431. label: Enable ACL
  432. description: Enable ACL for the storage.
  433. schema:
  434. type: boolean
  435. default: false
  436. - variable: acl
  437. label: ACL Configuration
  438. schema:
  439. type: dict
  440. show_if: [["acl_enable", "=", true]]
  441. attrs: []
  442. $ref:
  443. - "normalize/acl"
  444. - variable: path
  445. label: Host Path
  446. description: The host path to use for storage.
  447. schema:
  448. type: hostpath
  449. show_if: [["acl_enable", "=", false]]
  450. required: true
  451. - variable: ix_volume_config
  452. label: ixVolume Configuration
  453. description: The configuration for the ixVolume dataset.
  454. schema:
  455. type: dict
  456. show_if: [["type", "=", "ix_volume"]]
  457. $ref:
  458. - "normalize/ix_volume"
  459. attrs:
  460. - variable: acl_enable
  461. label: Enable ACL
  462. description: Enable ACL for the storage.
  463. schema:
  464. type: boolean
  465. default: false
  466. - variable: dataset_name
  467. label: Dataset Name
  468. description: The name of the dataset to use for storage.
  469. schema:
  470. type: string
  471. required: true
  472. default: "storage_entry"
  473. - variable: acl_entries
  474. label: ACL Configuration
  475. schema:
  476. type: dict
  477. show_if: [["acl_enable", "=", true]]
  478. attrs: []
  479. $ref:
  480. - "normalize/acl"
  481. - variable: cifs_config
  482. label: SMB Configuration
  483. description: The configuration for the SMB dataset.
  484. schema:
  485. type: dict
  486. show_if: [["type", "=", "cifs"]]
  487. attrs:
  488. - variable: server
  489. label: Server
  490. description: The server to mount the SMB share.
  491. schema:
  492. type: string
  493. required: true
  494. - variable: path
  495. label: Path
  496. description: The path to mount the SMB share.
  497. schema:
  498. type: string
  499. required: true
  500. - variable: username
  501. label: Username
  502. description: The username to use for the SMB share.
  503. schema:
  504. type: string
  505. required: true
  506. - variable: password
  507. label: Password
  508. description: The password to use for the SMB share.
  509. schema:
  510. type: string
  511. required: true
  512. private: true
  513. - variable: domain
  514. label: Domain
  515. description: The domain to use for the SMB share.
  516. schema:
  517. type: string
  518. - variable: labels
  519. label: ""
  520. group: Labels Configuration
  521. schema:
  522. type: list
  523. default: []
  524. items:
  525. - variable: label
  526. label: Label
  527. schema:
  528. type: dict
  529. attrs:
  530. - variable: key
  531. label: Key
  532. schema:
  533. type: string
  534. required: true
  535. - variable: value
  536. label: Value
  537. schema:
  538. type: string
  539. required: true
  540. - variable: containers
  541. label: Containers
  542. description: Containers where the label should be applied
  543. schema:
  544. type: list
  545. items:
  546. - variable: container
  547. label: Container
  548. schema:
  549. type: string
  550. required: true
  551. enum:
  552. - value: nocodb
  553. description: nocodb
  554. - value: postgres
  555. description: postgres
  556. - value: redis
  557. description: redis
  558. - variable: resources
  559. label: ""
  560. group: Resources Configuration
  561. schema:
  562. type: dict
  563. attrs:
  564. - variable: limits
  565. label: Limits
  566. schema:
  567. type: dict
  568. attrs:
  569. - variable: cpus
  570. label: CPUs
  571. description: CPUs limit for NocoDB.
  572. schema:
  573. type: int
  574. default: 2
  575. required: true
  576. - variable: memory
  577. label: Memory (MB)
  578. description: Memory limit for NocoDB.
  579. schema:
  580. type: int
  581. default: 4096
  582. required: true