app_versions.json 47 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812
  1. {
  2. "1.1.7": {
  3. "healthy": true,
  4. "supported": true,
  5. "healthy_error": null,
  6. "location": "/__w/apps/apps/trains/community/flood/1.1.7",
  7. "last_update": "2025-09-02 11:33:24",
  8. "required_features": [],
  9. "human_version": "4.9.5_1.1.7",
  10. "version": "1.1.7",
  11. "app_metadata": {
  12. "annotations": {
  13. "min_scale_version": "24.10.2.2"
  14. },
  15. "app_version": "4.9.5",
  16. "capabilities": [],
  17. "categories": [
  18. "media"
  19. ],
  20. "changelog_url": "https://github.com/jesec/flood/releases",
  21. "date_added": "2025-03-10",
  22. "description": "A modern web UI for various torrent clients with a Node.js backend and React frontend.",
  23. "home": "https://flood.js.org",
  24. "host_mounts": [],
  25. "icon": "https://media.sys.truenas.net/apps/flood/icons/icon.png",
  26. "keywords": [
  27. "torrent"
  28. ],
  29. "lib_version": "2.1.49",
  30. "lib_version_hash": "e71e6b0122c9446fa5ea6fb07e7eb01b11fb42d549a19845426bbd7e21a42634",
  31. "maintainers": [
  32. {
  33. "email": "dev@ixsystems.com",
  34. "name": "truenas",
  35. "url": "https://www.truenas.com/"
  36. }
  37. ],
  38. "name": "flood",
  39. "run_as_context": [
  40. {
  41. "description": "Flood runs as any non-root user.",
  42. "gid": 568,
  43. "group_name": "flood",
  44. "uid": 568,
  45. "user_name": "flood"
  46. }
  47. ],
  48. "screenshots": [
  49. "https://media.sys.truenas.net/apps/flood/screenshots/screenshot1.png"
  50. ],
  51. "sources": [
  52. "https://github.com/jesec/flood",
  53. "https://hub.docker.com/r/jesec/flood"
  54. ],
  55. "title": "Flood",
  56. "train": "community",
  57. "version": "1.1.7"
  58. },
  59. "schema": {
  60. "groups": [
  61. {
  62. "name": "Flood Configuration",
  63. "description": "Configure Flood"
  64. },
  65. {
  66. "name": "User and Group Configuration",
  67. "description": "Configure User and Group for Flood"
  68. },
  69. {
  70. "name": "Network Configuration",
  71. "description": "Configure Network for Flood"
  72. },
  73. {
  74. "name": "Storage Configuration",
  75. "description": "Configure Storage for Flood"
  76. },
  77. {
  78. "name": "Labels Configuration",
  79. "description": "Configure Labels for Flood"
  80. },
  81. {
  82. "name": "Resources Configuration",
  83. "description": "Configure Resources for Flood"
  84. }
  85. ],
  86. "questions": [
  87. {
  88. "variable": "TZ",
  89. "group": "Flood Configuration",
  90. "label": "Timezone",
  91. "schema": {
  92. "type": "string",
  93. "default": "Etc/UTC",
  94. "required": true,
  95. "$ref": [
  96. "definitions/timezone"
  97. ]
  98. }
  99. },
  100. {
  101. "variable": "flood",
  102. "label": "",
  103. "group": "Flood Configuration",
  104. "schema": {
  105. "type": "dict",
  106. "attrs": [
  107. {
  108. "variable": "additional_envs",
  109. "label": "Additional Environment Variables",
  110. "schema": {
  111. "type": "list",
  112. "default": [],
  113. "items": [
  114. {
  115. "variable": "env",
  116. "label": "Environment Variable",
  117. "schema": {
  118. "type": "dict",
  119. "attrs": [
  120. {
  121. "variable": "name",
  122. "label": "Name",
  123. "schema": {
  124. "type": "string",
  125. "required": true
  126. }
  127. },
  128. {
  129. "variable": "value",
  130. "label": "Value",
  131. "schema": {
  132. "type": "string"
  133. }
  134. }
  135. ]
  136. }
  137. }
  138. ]
  139. }
  140. }
  141. ]
  142. }
  143. },
  144. {
  145. "variable": "run_as",
  146. "label": "",
  147. "group": "User and Group Configuration",
  148. "schema": {
  149. "type": "dict",
  150. "attrs": [
  151. {
  152. "variable": "user",
  153. "label": "User ID",
  154. "description": "The user id that Flood files will be owned by.",
  155. "schema": {
  156. "type": "int",
  157. "min": 568,
  158. "default": 568,
  159. "required": true
  160. }
  161. },
  162. {
  163. "variable": "group",
  164. "label": "Group ID",
  165. "description": "The group id that Flood files will be owned by.",
  166. "schema": {
  167. "type": "int",
  168. "min": 568,
  169. "default": 568,
  170. "required": true
  171. }
  172. }
  173. ]
  174. }
  175. },
  176. {
  177. "variable": "network",
  178. "label": "",
  179. "group": "Network Configuration",
  180. "schema": {
  181. "type": "dict",
  182. "attrs": [
  183. {
  184. "variable": "web_port",
  185. "label": "WebUI Port",
  186. "schema": {
  187. "type": "dict",
  188. "attrs": [
  189. {
  190. "variable": "bind_mode",
  191. "label": "Port Bind Mode",
  192. "description": "The port bind mode.</br>\n- Publish: The port will be published on the host for external access.</br>\n- Expose: The port will be exposed for inter-container communication.</br>\n- None: The port will not be exposed or published.</br>\nNote: If the Dockerfile defines an EXPOSE directive,\nthe port will still be exposed for inter-container communication regardless of this setting.\n",
  193. "schema": {
  194. "type": "string",
  195. "default": "published",
  196. "enum": [
  197. {
  198. "value": "published",
  199. "description": "Publish port on the host for external access"
  200. },
  201. {
  202. "value": "exposed",
  203. "description": "Expose port for inter-container communication"
  204. },
  205. {
  206. "value": "",
  207. "description": "None"
  208. }
  209. ]
  210. }
  211. },
  212. {
  213. "variable": "port_number",
  214. "label": "Port Number",
  215. "schema": {
  216. "type": "int",
  217. "default": 30127,
  218. "min": 1,
  219. "max": 65535,
  220. "required": true
  221. }
  222. },
  223. {
  224. "variable": "host_ips",
  225. "label": "Host IPs",
  226. "description": "IPs on the host to bind this port",
  227. "schema": {
  228. "type": "list",
  229. "show_if": [
  230. [
  231. "bind_mode",
  232. "=",
  233. "published"
  234. ]
  235. ],
  236. "default": [],
  237. "items": [
  238. {
  239. "variable": "host_ip",
  240. "label": "Host IP",
  241. "schema": {
  242. "type": "string",
  243. "required": true,
  244. "$ref": [
  245. "definitions/node_bind_ip"
  246. ]
  247. }
  248. }
  249. ]
  250. }
  251. }
  252. ]
  253. }
  254. },
  255. {
  256. "variable": "host_network",
  257. "label": "Host Network",
  258. "description": "Bind to the host network. It's recommended to keep this disabled.\n",
  259. "schema": {
  260. "type": "boolean",
  261. "default": false
  262. }
  263. }
  264. ]
  265. }
  266. },
  267. {
  268. "variable": "storage",
  269. "label": "",
  270. "group": "Storage Configuration",
  271. "schema": {
  272. "type": "dict",
  273. "attrs": [
  274. {
  275. "variable": "config",
  276. "label": "Flood Config Storage",
  277. "description": "The path to store Flood Config.",
  278. "schema": {
  279. "type": "dict",
  280. "attrs": [
  281. {
  282. "variable": "type",
  283. "label": "Type",
  284. "description": "ixVolume: Is dataset created automatically by the system.</br>\nHost Path: Is a path that already exists on the system.\n",
  285. "schema": {
  286. "type": "string",
  287. "required": true,
  288. "default": "ix_volume",
  289. "enum": [
  290. {
  291. "value": "host_path",
  292. "description": "Host Path (Path that already exists on the system)"
  293. },
  294. {
  295. "value": "ix_volume",
  296. "description": "ixVolume (Dataset created automatically by the system)"
  297. }
  298. ]
  299. }
  300. },
  301. {
  302. "variable": "ix_volume_config",
  303. "label": "ixVolume Configuration",
  304. "description": "The configuration for the ixVolume dataset.",
  305. "schema": {
  306. "type": "dict",
  307. "show_if": [
  308. [
  309. "type",
  310. "=",
  311. "ix_volume"
  312. ]
  313. ],
  314. "$ref": [
  315. "normalize/ix_volume"
  316. ],
  317. "attrs": [
  318. {
  319. "variable": "acl_enable",
  320. "label": "Enable ACL",
  321. "description": "Enable ACL for the storage.",
  322. "schema": {
  323. "type": "boolean",
  324. "default": false
  325. }
  326. },
  327. {
  328. "variable": "dataset_name",
  329. "label": "Dataset Name",
  330. "description": "The name of the dataset to use for storage.",
  331. "schema": {
  332. "type": "string",
  333. "required": true,
  334. "hidden": true,
  335. "default": "config"
  336. }
  337. },
  338. {
  339. "variable": "acl_entries",
  340. "label": "ACL Configuration",
  341. "schema": {
  342. "type": "dict",
  343. "show_if": [
  344. [
  345. "acl_enable",
  346. "=",
  347. true
  348. ]
  349. ],
  350. "attrs": []
  351. }
  352. }
  353. ]
  354. }
  355. },
  356. {
  357. "variable": "host_path_config",
  358. "label": "Host Path Configuration",
  359. "schema": {
  360. "type": "dict",
  361. "show_if": [
  362. [
  363. "type",
  364. "=",
  365. "host_path"
  366. ]
  367. ],
  368. "attrs": [
  369. {
  370. "variable": "acl_enable",
  371. "label": "Enable ACL",
  372. "description": "Enable ACL for the storage.",
  373. "schema": {
  374. "type": "boolean",
  375. "default": false
  376. }
  377. },
  378. {
  379. "variable": "acl",
  380. "label": "ACL Configuration",
  381. "schema": {
  382. "type": "dict",
  383. "show_if": [
  384. [
  385. "acl_enable",
  386. "=",
  387. true
  388. ]
  389. ],
  390. "attrs": [],
  391. "$ref": [
  392. "normalize/acl"
  393. ]
  394. }
  395. },
  396. {
  397. "variable": "path",
  398. "label": "Host Path",
  399. "description": "The host path to use for storage.",
  400. "schema": {
  401. "type": "hostpath",
  402. "show_if": [
  403. [
  404. "acl_enable",
  405. "=",
  406. false
  407. ]
  408. ],
  409. "required": true
  410. }
  411. }
  412. ]
  413. }
  414. }
  415. ]
  416. }
  417. },
  418. {
  419. "variable": "additional_storage",
  420. "label": "Additional Storage",
  421. "schema": {
  422. "type": "list",
  423. "default": [],
  424. "items": [
  425. {
  426. "variable": "storageEntry",
  427. "label": "Storage Entry",
  428. "schema": {
  429. "type": "dict",
  430. "attrs": [
  431. {
  432. "variable": "type",
  433. "label": "Type",
  434. "description": "ixVolume: Is dataset created automatically by the system.</br>\nHost Path: Is a path that already exists on the system.</br>\nSMB Share: Is a SMB share that is mounted to as a volume.\n",
  435. "schema": {
  436. "type": "string",
  437. "required": true,
  438. "default": "ix_volume",
  439. "enum": [
  440. {
  441. "value": "host_path",
  442. "description": "Host Path (Path that already exists on the system)"
  443. },
  444. {
  445. "value": "ix_volume",
  446. "description": "ixVolume (Dataset created automatically by the system)"
  447. },
  448. {
  449. "value": "cifs",
  450. "description": "SMB/CIFS Share (Mounts a volume to a SMB share)"
  451. }
  452. ]
  453. }
  454. },
  455. {
  456. "variable": "read_only",
  457. "label": "Read Only",
  458. "description": "Mount the volume as read only.",
  459. "schema": {
  460. "type": "boolean",
  461. "default": false
  462. }
  463. },
  464. {
  465. "variable": "mount_path",
  466. "label": "Mount Path",
  467. "description": "The path inside the container to mount the storage.",
  468. "schema": {
  469. "type": "path",
  470. "required": true
  471. }
  472. },
  473. {
  474. "variable": "host_path_config",
  475. "label": "Host Path Configuration",
  476. "schema": {
  477. "type": "dict",
  478. "show_if": [
  479. [
  480. "type",
  481. "=",
  482. "host_path"
  483. ]
  484. ],
  485. "attrs": [
  486. {
  487. "variable": "acl_enable",
  488. "label": "Enable ACL",
  489. "description": "Enable ACL for the storage.",
  490. "schema": {
  491. "type": "boolean",
  492. "default": false
  493. }
  494. },
  495. {
  496. "variable": "acl",
  497. "label": "ACL Configuration",
  498. "schema": {
  499. "type": "dict",
  500. "show_if": [
  501. [
  502. "acl_enable",
  503. "=",
  504. true
  505. ]
  506. ],
  507. "attrs": [],
  508. "$ref": [
  509. "normalize/acl"
  510. ]
  511. }
  512. },
  513. {
  514. "variable": "path",
  515. "label": "Host Path",
  516. "description": "The host path to use for storage.",
  517. "schema": {
  518. "type": "hostpath",
  519. "show_if": [
  520. [
  521. "acl_enable",
  522. "=",
  523. false
  524. ]
  525. ],
  526. "required": true
  527. }
  528. }
  529. ]
  530. }
  531. },
  532. {
  533. "variable": "ix_volume_config",
  534. "label": "ixVolume Configuration",
  535. "description": "The configuration for the ixVolume dataset.",
  536. "schema": {
  537. "type": "dict",
  538. "show_if": [
  539. [
  540. "type",
  541. "=",
  542. "ix_volume"
  543. ]
  544. ],
  545. "$ref": [
  546. "normalize/ix_volume"
  547. ],
  548. "attrs": [
  549. {
  550. "variable": "acl_enable",
  551. "label": "Enable ACL",
  552. "description": "Enable ACL for the storage.",
  553. "schema": {
  554. "type": "boolean",
  555. "default": false
  556. }
  557. },
  558. {
  559. "variable": "dataset_name",
  560. "label": "Dataset Name",
  561. "description": "The name of the dataset to use for storage.",
  562. "schema": {
  563. "type": "string",
  564. "required": true,
  565. "default": "storage_entry"
  566. }
  567. },
  568. {
  569. "variable": "acl_entries",
  570. "label": "ACL Configuration",
  571. "schema": {
  572. "type": "dict",
  573. "show_if": [
  574. [
  575. "acl_enable",
  576. "=",
  577. true
  578. ]
  579. ],
  580. "attrs": [],
  581. "$ref": [
  582. "normalize/acl"
  583. ]
  584. }
  585. }
  586. ]
  587. }
  588. },
  589. {
  590. "variable": "cifs_config",
  591. "label": "SMB Configuration",
  592. "description": "The configuration for the SMB dataset.",
  593. "schema": {
  594. "type": "dict",
  595. "show_if": [
  596. [
  597. "type",
  598. "=",
  599. "cifs"
  600. ]
  601. ],
  602. "attrs": [
  603. {
  604. "variable": "server",
  605. "label": "Server",
  606. "description": "The server to mount the SMB share.",
  607. "schema": {
  608. "type": "string",
  609. "required": true
  610. }
  611. },
  612. {
  613. "variable": "path",
  614. "label": "Path",
  615. "description": "The path to mount the SMB share.",
  616. "schema": {
  617. "type": "string",
  618. "required": true
  619. }
  620. },
  621. {
  622. "variable": "username",
  623. "label": "Username",
  624. "description": "The username to use for the SMB share.",
  625. "schema": {
  626. "type": "string",
  627. "required": true
  628. }
  629. },
  630. {
  631. "variable": "password",
  632. "label": "Password",
  633. "description": "The password to use for the SMB share.",
  634. "schema": {
  635. "type": "string",
  636. "required": true,
  637. "private": true
  638. }
  639. },
  640. {
  641. "variable": "domain",
  642. "label": "Domain",
  643. "description": "The domain to use for the SMB share.",
  644. "schema": {
  645. "type": "string"
  646. }
  647. }
  648. ]
  649. }
  650. }
  651. ]
  652. }
  653. }
  654. ]
  655. }
  656. }
  657. ]
  658. }
  659. },
  660. {
  661. "variable": "labels",
  662. "label": "",
  663. "group": "Labels Configuration",
  664. "schema": {
  665. "type": "list",
  666. "default": [],
  667. "items": [
  668. {
  669. "variable": "label",
  670. "label": "Label",
  671. "schema": {
  672. "type": "dict",
  673. "attrs": [
  674. {
  675. "variable": "key",
  676. "label": "Key",
  677. "schema": {
  678. "type": "string",
  679. "required": true
  680. }
  681. },
  682. {
  683. "variable": "value",
  684. "label": "Value",
  685. "schema": {
  686. "type": "string",
  687. "required": true
  688. }
  689. },
  690. {
  691. "variable": "containers",
  692. "label": "Containers",
  693. "description": "Containers where the label should be applied",
  694. "schema": {
  695. "type": "list",
  696. "items": [
  697. {
  698. "variable": "container",
  699. "label": "Container",
  700. "schema": {
  701. "type": "string",
  702. "required": true,
  703. "enum": [
  704. {
  705. "value": "flood",
  706. "description": "flood"
  707. }
  708. ]
  709. }
  710. }
  711. ]
  712. }
  713. }
  714. ]
  715. }
  716. }
  717. ]
  718. }
  719. },
  720. {
  721. "variable": "resources",
  722. "label": "",
  723. "group": "Resources Configuration",
  724. "schema": {
  725. "type": "dict",
  726. "attrs": [
  727. {
  728. "variable": "limits",
  729. "label": "Limits",
  730. "schema": {
  731. "type": "dict",
  732. "attrs": [
  733. {
  734. "variable": "cpus",
  735. "label": "CPUs",
  736. "description": "CPUs limit for Flood.",
  737. "schema": {
  738. "type": "int",
  739. "default": 2,
  740. "required": true
  741. }
  742. },
  743. {
  744. "variable": "memory",
  745. "label": "Memory (in MB)",
  746. "description": "Memory limit for Flood.",
  747. "schema": {
  748. "type": "int",
  749. "default": 4096,
  750. "required": true
  751. }
  752. }
  753. ]
  754. }
  755. }
  756. ]
  757. }
  758. }
  759. ]
  760. },
  761. "readme": "<h1>Flood</h1> <p><a href=\"https://flood.js.org\">Flood</a> is a modern web UI for various torrent clients with a Node.js backend and React frontend.</p>",
  762. "changelog": null,
  763. "chart_metadata": {
  764. "annotations": {
  765. "min_scale_version": "24.10.2.2"
  766. },
  767. "app_version": "4.9.5",
  768. "capabilities": [],
  769. "categories": [
  770. "media"
  771. ],
  772. "changelog_url": "https://github.com/jesec/flood/releases",
  773. "date_added": "2025-03-10",
  774. "description": "A modern web UI for various torrent clients with a Node.js backend and React frontend.",
  775. "home": "https://flood.js.org",
  776. "host_mounts": [],
  777. "icon": "https://media.sys.truenas.net/apps/flood/icons/icon.png",
  778. "keywords": [
  779. "torrent"
  780. ],
  781. "lib_version": "2.1.49",
  782. "lib_version_hash": "e71e6b0122c9446fa5ea6fb07e7eb01b11fb42d549a19845426bbd7e21a42634",
  783. "maintainers": [
  784. {
  785. "email": "dev@ixsystems.com",
  786. "name": "truenas",
  787. "url": "https://www.truenas.com/"
  788. }
  789. ],
  790. "name": "flood",
  791. "run_as_context": [
  792. {
  793. "description": "Flood runs as any non-root user.",
  794. "gid": 568,
  795. "group_name": "flood",
  796. "uid": 568,
  797. "user_name": "flood"
  798. }
  799. ],
  800. "screenshots": [
  801. "https://media.sys.truenas.net/apps/flood/screenshots/screenshot1.png"
  802. ],
  803. "sources": [
  804. "https://github.com/jesec/flood",
  805. "https://hub.docker.com/r/jesec/flood"
  806. ],
  807. "title": "Flood",
  808. "train": "community",
  809. "version": "1.1.7"
  810. }
  811. }
  812. }