questions.yaml 24 KB

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