app_versions.json 71 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210
  1. {
  2. "1.0.12": {
  3. "healthy": true,
  4. "supported": true,
  5. "healthy_error": null,
  6. "location": "/__w/apps/apps/trains/community/fireshare/1.0.12",
  7. "last_update": "2025-09-02 11:33:24",
  8. "required_features": [],
  9. "human_version": "v1.2.30_1.0.12",
  10. "version": "1.0.12",
  11. "app_metadata": {
  12. "app_version": "v1.2.30",
  13. "capabilities": [
  14. {
  15. "description": "Fireshare is able to change file ownership arbitrarily",
  16. "name": "CHOWN"
  17. },
  18. {
  19. "description": "Fireshare is able to bypass file permission checks",
  20. "name": "DAC_OVERRIDE"
  21. },
  22. {
  23. "description": "Fireshare is able to bypass permission checks for file operations",
  24. "name": "FOWNER"
  25. },
  26. {
  27. "description": "Fireshare is able to change group ID of processes",
  28. "name": "SETGID"
  29. },
  30. {
  31. "description": "Fireshare is able to change user ID of processes",
  32. "name": "SETUID"
  33. }
  34. ],
  35. "categories": [
  36. "media"
  37. ],
  38. "changelog_url": "https://github.com/ShaneIsrael/fireshare/releases",
  39. "date_added": "2025-05-23",
  40. "description": "Share your game clips, videos, or other media via unique links.",
  41. "home": "https://github.com/ShaneIsrael/fireshare",
  42. "host_mounts": [],
  43. "icon": "https://media.sys.truenas.net/apps/fireshare/icons/icon.png",
  44. "keywords": [
  45. "file-sharing",
  46. "video-sharing"
  47. ],
  48. "lib_version": "2.1.49",
  49. "lib_version_hash": "e71e6b0122c9446fa5ea6fb07e7eb01b11fb42d549a19845426bbd7e21a42634",
  50. "maintainers": [
  51. {
  52. "email": "dev@ixsystems.com",
  53. "name": "truenas",
  54. "url": "https://www.truenas.com/"
  55. }
  56. ],
  57. "name": "fireshare",
  58. "run_as_context": [
  59. {
  60. "description": "Fireshare runs as root user.",
  61. "gid": 0,
  62. "group_name": "root",
  63. "uid": 0,
  64. "user_name": "root"
  65. }
  66. ],
  67. "screenshots": [
  68. "https://media.sys.truenas.net/apps/fireshare/screenshots/screenshot1.png"
  69. ],
  70. "sources": [
  71. "https://github.com/ShaneIsrael/fireshare",
  72. "https://hub.docker.com/r/shaneisrael/fireshare"
  73. ],
  74. "title": "Fireshare",
  75. "train": "community",
  76. "version": "1.0.12"
  77. },
  78. "schema": {
  79. "groups": [
  80. {
  81. "name": "Fireshare Configuration",
  82. "description": "Configure Fireshare"
  83. },
  84. {
  85. "name": "User and Group Configuration",
  86. "description": "Configure User and Group for Fireshare"
  87. },
  88. {
  89. "name": "Network Configuration",
  90. "description": "Configure Network for Fireshare"
  91. },
  92. {
  93. "name": "Storage Configuration",
  94. "description": "Configure Storage for Fireshare"
  95. },
  96. {
  97. "name": "Labels Configuration",
  98. "description": "Configure Labels for Fireshare"
  99. },
  100. {
  101. "name": "Resources Configuration",
  102. "description": "Configure Resources for Fireshare"
  103. }
  104. ],
  105. "questions": [
  106. {
  107. "variable": "TZ",
  108. "group": "Fireshare Configuration",
  109. "label": "Timezone",
  110. "schema": {
  111. "type": "string",
  112. "default": "Etc/UTC",
  113. "required": true,
  114. "$ref": [
  115. "definitions/timezone"
  116. ]
  117. }
  118. },
  119. {
  120. "variable": "fireshare",
  121. "label": "",
  122. "group": "Fireshare Configuration",
  123. "schema": {
  124. "type": "dict",
  125. "attrs": [
  126. {
  127. "variable": "admin_username",
  128. "label": "Admin Username",
  129. "schema": {
  130. "type": "string",
  131. "default": "",
  132. "required": true
  133. }
  134. },
  135. {
  136. "variable": "admin_password",
  137. "label": "Admin Password",
  138. "schema": {
  139. "type": "string",
  140. "default": "",
  141. "required": true,
  142. "private": true
  143. }
  144. },
  145. {
  146. "variable": "secret_key",
  147. "label": "Secret Key",
  148. "schema": {
  149. "type": "string",
  150. "default": "",
  151. "required": true,
  152. "private": true
  153. }
  154. },
  155. {
  156. "variable": "minutes_between_video_scans",
  157. "label": "Minutes Between Video Scans",
  158. "description": "How often to scan for new videos",
  159. "schema": {
  160. "type": "int",
  161. "default": 5,
  162. "min": 1,
  163. "required": true
  164. }
  165. },
  166. {
  167. "variable": "thumbnail_video_location",
  168. "label": "Thumbnail Video Location",
  169. "description": "Frame position for video thumbnails (0-100, where 50 is middle)",
  170. "schema": {
  171. "type": "int",
  172. "default": 0,
  173. "min": 0,
  174. "max": 100,
  175. "required": true
  176. }
  177. },
  178. {
  179. "variable": "domain",
  180. "label": "Domain",
  181. "description": "Domain where your instance is hosted\n(without http/https, e.g., v.fireshare.net)\n",
  182. "schema": {
  183. "type": "string",
  184. "default": ""
  185. }
  186. },
  187. {
  188. "variable": "additional_envs",
  189. "label": "Additional Environment Variables",
  190. "schema": {
  191. "type": "list",
  192. "default": [],
  193. "items": [
  194. {
  195. "variable": "env",
  196. "label": "Environment Variable",
  197. "schema": {
  198. "type": "dict",
  199. "attrs": [
  200. {
  201. "variable": "name",
  202. "label": "Name",
  203. "schema": {
  204. "type": "string",
  205. "required": true
  206. }
  207. },
  208. {
  209. "variable": "value",
  210. "label": "Value",
  211. "schema": {
  212. "type": "string"
  213. }
  214. }
  215. ]
  216. }
  217. }
  218. ]
  219. }
  220. }
  221. ]
  222. }
  223. },
  224. {
  225. "variable": "run_as",
  226. "label": "",
  227. "group": "User and Group Configuration",
  228. "schema": {
  229. "type": "dict",
  230. "attrs": [
  231. {
  232. "variable": "user",
  233. "label": "User ID",
  234. "description": "The user id that Fireshare files will be owned by.",
  235. "schema": {
  236. "type": "int",
  237. "min": 568,
  238. "default": 568,
  239. "required": true
  240. }
  241. },
  242. {
  243. "variable": "group",
  244. "label": "Group ID",
  245. "description": "The group id that Fireshare files will be owned by.",
  246. "schema": {
  247. "type": "int",
  248. "min": 568,
  249. "default": 568,
  250. "required": true
  251. }
  252. }
  253. ]
  254. }
  255. },
  256. {
  257. "variable": "network",
  258. "label": "",
  259. "group": "Network Configuration",
  260. "schema": {
  261. "type": "dict",
  262. "attrs": [
  263. {
  264. "variable": "web_port",
  265. "label": "WebUI Port",
  266. "schema": {
  267. "type": "dict",
  268. "show_if": [
  269. [
  270. "host_network",
  271. "=",
  272. false
  273. ]
  274. ],
  275. "attrs": [
  276. {
  277. "variable": "bind_mode",
  278. "label": "Port Bind Mode",
  279. "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",
  280. "schema": {
  281. "type": "string",
  282. "default": "published",
  283. "enum": [
  284. {
  285. "value": "published",
  286. "description": "Publish port on the host for external access"
  287. },
  288. {
  289. "value": "exposed",
  290. "description": "Expose port for inter-container communication"
  291. },
  292. {
  293. "value": "",
  294. "description": "None"
  295. }
  296. ]
  297. }
  298. },
  299. {
  300. "variable": "port_number",
  301. "label": "Port Number",
  302. "schema": {
  303. "type": "int",
  304. "default": 30175,
  305. "show_if": [
  306. [
  307. "bind_mode",
  308. "=",
  309. "published"
  310. ]
  311. ],
  312. "min": 1,
  313. "max": 65535,
  314. "required": true
  315. }
  316. },
  317. {
  318. "variable": "host_ips",
  319. "label": "Host IPs",
  320. "description": "IPs on the host to bind this port",
  321. "schema": {
  322. "type": "list",
  323. "show_if": [
  324. [
  325. "bind_mode",
  326. "=",
  327. "published"
  328. ]
  329. ],
  330. "default": [],
  331. "items": [
  332. {
  333. "variable": "host_ip",
  334. "label": "Host IP",
  335. "schema": {
  336. "type": "string",
  337. "required": true,
  338. "$ref": [
  339. "definitions/node_bind_ip"
  340. ]
  341. }
  342. }
  343. ]
  344. }
  345. }
  346. ]
  347. }
  348. },
  349. {
  350. "variable": "host_network",
  351. "label": "Host Network",
  352. "description": "Bind to the host network. It's recommended to keep this disabled.\n",
  353. "schema": {
  354. "type": "boolean",
  355. "default": false
  356. }
  357. }
  358. ]
  359. }
  360. },
  361. {
  362. "variable": "storage",
  363. "label": "",
  364. "group": "Storage Configuration",
  365. "schema": {
  366. "type": "dict",
  367. "attrs": [
  368. {
  369. "variable": "data",
  370. "label": "Fireshare Data Storage",
  371. "description": "The path to store Fireshare configuration and database.",
  372. "schema": {
  373. "type": "dict",
  374. "attrs": [
  375. {
  376. "variable": "type",
  377. "label": "Type",
  378. "description": "ixVolume: Is dataset created automatically by the system.</br>\nHost Path: Is a path that already exists on the system.\n",
  379. "schema": {
  380. "type": "string",
  381. "required": true,
  382. "default": "ix_volume",
  383. "enum": [
  384. {
  385. "value": "host_path",
  386. "description": "Host Path (Path that already exists on the system)"
  387. },
  388. {
  389. "value": "ix_volume",
  390. "description": "ixVolume (Dataset created automatically by the system)"
  391. }
  392. ]
  393. }
  394. },
  395. {
  396. "variable": "ix_volume_config",
  397. "label": "ixVolume Configuration",
  398. "description": "The configuration for the ixVolume dataset.",
  399. "schema": {
  400. "type": "dict",
  401. "show_if": [
  402. [
  403. "type",
  404. "=",
  405. "ix_volume"
  406. ]
  407. ],
  408. "$ref": [
  409. "normalize/ix_volume"
  410. ],
  411. "attrs": [
  412. {
  413. "variable": "acl_enable",
  414. "label": "Enable ACL",
  415. "description": "Enable ACL for the storage.",
  416. "schema": {
  417. "type": "boolean",
  418. "default": false
  419. }
  420. },
  421. {
  422. "variable": "dataset_name",
  423. "label": "Dataset Name",
  424. "description": "The name of the dataset to use for storage.",
  425. "schema": {
  426. "type": "string",
  427. "required": true,
  428. "hidden": true,
  429. "default": "data"
  430. }
  431. },
  432. {
  433. "variable": "acl_entries",
  434. "label": "ACL Configuration",
  435. "schema": {
  436. "type": "dict",
  437. "show_if": [
  438. [
  439. "acl_enable",
  440. "=",
  441. true
  442. ]
  443. ],
  444. "attrs": []
  445. }
  446. }
  447. ]
  448. }
  449. },
  450. {
  451. "variable": "host_path_config",
  452. "label": "Host Path Configuration",
  453. "schema": {
  454. "type": "dict",
  455. "show_if": [
  456. [
  457. "type",
  458. "=",
  459. "host_path"
  460. ]
  461. ],
  462. "attrs": [
  463. {
  464. "variable": "acl_enable",
  465. "label": "Enable ACL",
  466. "description": "Enable ACL for the storage.",
  467. "schema": {
  468. "type": "boolean",
  469. "default": false
  470. }
  471. },
  472. {
  473. "variable": "acl",
  474. "label": "ACL Configuration",
  475. "schema": {
  476. "type": "dict",
  477. "show_if": [
  478. [
  479. "acl_enable",
  480. "=",
  481. true
  482. ]
  483. ],
  484. "attrs": [],
  485. "$ref": [
  486. "normalize/acl"
  487. ]
  488. }
  489. },
  490. {
  491. "variable": "path",
  492. "label": "Host Path",
  493. "description": "The host path to use for storage.",
  494. "schema": {
  495. "type": "hostpath",
  496. "show_if": [
  497. [
  498. "acl_enable",
  499. "=",
  500. false
  501. ]
  502. ],
  503. "required": true
  504. }
  505. }
  506. ]
  507. }
  508. }
  509. ]
  510. }
  511. },
  512. {
  513. "variable": "processed",
  514. "label": "Fireshare Processed Storage",
  515. "description": "The path to store processed files.",
  516. "schema": {
  517. "type": "dict",
  518. "attrs": [
  519. {
  520. "variable": "type",
  521. "label": "Type",
  522. "description": "ixVolume: Is dataset created automatically by the system.</br>\nHost Path: Is a path that already exists on the system.\n",
  523. "schema": {
  524. "type": "string",
  525. "required": true,
  526. "default": "ix_volume",
  527. "enum": [
  528. {
  529. "value": "host_path",
  530. "description": "Host Path (Path that already exists on the system)"
  531. },
  532. {
  533. "value": "ix_volume",
  534. "description": "ixVolume (Dataset created automatically by the system)"
  535. }
  536. ]
  537. }
  538. },
  539. {
  540. "variable": "ix_volume_config",
  541. "label": "ixVolume Configuration",
  542. "description": "The configuration for the ixVolume dataset.",
  543. "schema": {
  544. "type": "dict",
  545. "show_if": [
  546. [
  547. "type",
  548. "=",
  549. "ix_volume"
  550. ]
  551. ],
  552. "$ref": [
  553. "normalize/ix_volume"
  554. ],
  555. "attrs": [
  556. {
  557. "variable": "acl_enable",
  558. "label": "Enable ACL",
  559. "description": "Enable ACL for the storage.",
  560. "schema": {
  561. "type": "boolean",
  562. "default": false
  563. }
  564. },
  565. {
  566. "variable": "dataset_name",
  567. "label": "Dataset Name",
  568. "description": "The name of the dataset to use for storage.",
  569. "schema": {
  570. "type": "string",
  571. "required": true,
  572. "hidden": true,
  573. "default": "processed"
  574. }
  575. },
  576. {
  577. "variable": "acl_entries",
  578. "label": "ACL Configuration",
  579. "schema": {
  580. "type": "dict",
  581. "show_if": [
  582. [
  583. "acl_enable",
  584. "=",
  585. true
  586. ]
  587. ],
  588. "attrs": []
  589. }
  590. }
  591. ]
  592. }
  593. },
  594. {
  595. "variable": "host_path_config",
  596. "label": "Host Path Configuration",
  597. "schema": {
  598. "type": "dict",
  599. "show_if": [
  600. [
  601. "type",
  602. "=",
  603. "host_path"
  604. ]
  605. ],
  606. "attrs": [
  607. {
  608. "variable": "acl_enable",
  609. "label": "Enable ACL",
  610. "description": "Enable ACL for the storage.",
  611. "schema": {
  612. "type": "boolean",
  613. "default": false
  614. }
  615. },
  616. {
  617. "variable": "acl",
  618. "label": "ACL Configuration",
  619. "schema": {
  620. "type": "dict",
  621. "show_if": [
  622. [
  623. "acl_enable",
  624. "=",
  625. true
  626. ]
  627. ],
  628. "attrs": [],
  629. "$ref": [
  630. "normalize/acl"
  631. ]
  632. }
  633. },
  634. {
  635. "variable": "path",
  636. "label": "Host Path",
  637. "description": "The host path to use for storage.",
  638. "schema": {
  639. "type": "hostpath",
  640. "show_if": [
  641. [
  642. "acl_enable",
  643. "=",
  644. false
  645. ]
  646. ],
  647. "required": true
  648. }
  649. }
  650. ]
  651. }
  652. }
  653. ]
  654. }
  655. },
  656. {
  657. "variable": "videos",
  658. "label": "Fireshare Videos Storage",
  659. "description": "The path to store video files.",
  660. "schema": {
  661. "type": "dict",
  662. "attrs": [
  663. {
  664. "variable": "type",
  665. "label": "Type",
  666. "description": "ixVolume: Is dataset created automatically by the system.</br>\nHost Path: Is a path that already exists on the system.\n",
  667. "schema": {
  668. "type": "string",
  669. "required": true,
  670. "default": "ix_volume",
  671. "enum": [
  672. {
  673. "value": "host_path",
  674. "description": "Host Path (Path that already exists on the system)"
  675. },
  676. {
  677. "value": "ix_volume",
  678. "description": "ixVolume (Dataset created automatically by the system)"
  679. }
  680. ]
  681. }
  682. },
  683. {
  684. "variable": "ix_volume_config",
  685. "label": "ixVolume Configuration",
  686. "description": "The configuration for the ixVolume dataset.",
  687. "schema": {
  688. "type": "dict",
  689. "show_if": [
  690. [
  691. "type",
  692. "=",
  693. "ix_volume"
  694. ]
  695. ],
  696. "$ref": [
  697. "normalize/ix_volume"
  698. ],
  699. "attrs": [
  700. {
  701. "variable": "acl_enable",
  702. "label": "Enable ACL",
  703. "description": "Enable ACL for the storage.",
  704. "schema": {
  705. "type": "boolean",
  706. "default": false
  707. }
  708. },
  709. {
  710. "variable": "dataset_name",
  711. "label": "Dataset Name",
  712. "description": "The name of the dataset to use for storage.",
  713. "schema": {
  714. "type": "string",
  715. "required": true,
  716. "hidden": true,
  717. "default": "videos"
  718. }
  719. },
  720. {
  721. "variable": "acl_entries",
  722. "label": "ACL Configuration",
  723. "schema": {
  724. "type": "dict",
  725. "show_if": [
  726. [
  727. "acl_enable",
  728. "=",
  729. true
  730. ]
  731. ],
  732. "attrs": []
  733. }
  734. }
  735. ]
  736. }
  737. },
  738. {
  739. "variable": "host_path_config",
  740. "label": "Host Path Configuration",
  741. "schema": {
  742. "type": "dict",
  743. "show_if": [
  744. [
  745. "type",
  746. "=",
  747. "host_path"
  748. ]
  749. ],
  750. "attrs": [
  751. {
  752. "variable": "acl_enable",
  753. "label": "Enable ACL",
  754. "description": "Enable ACL for the storage.",
  755. "schema": {
  756. "type": "boolean",
  757. "default": false
  758. }
  759. },
  760. {
  761. "variable": "acl",
  762. "label": "ACL Configuration",
  763. "schema": {
  764. "type": "dict",
  765. "show_if": [
  766. [
  767. "acl_enable",
  768. "=",
  769. true
  770. ]
  771. ],
  772. "attrs": [],
  773. "$ref": [
  774. "normalize/acl"
  775. ]
  776. }
  777. },
  778. {
  779. "variable": "path",
  780. "label": "Host Path",
  781. "description": "The host path to use for storage.",
  782. "schema": {
  783. "type": "hostpath",
  784. "show_if": [
  785. [
  786. "acl_enable",
  787. "=",
  788. false
  789. ]
  790. ],
  791. "required": true
  792. }
  793. }
  794. ]
  795. }
  796. }
  797. ]
  798. }
  799. },
  800. {
  801. "variable": "additional_storage",
  802. "label": "Additional Storage",
  803. "schema": {
  804. "type": "list",
  805. "default": [],
  806. "items": [
  807. {
  808. "variable": "storageEntry",
  809. "label": "Storage Entry",
  810. "schema": {
  811. "type": "dict",
  812. "attrs": [
  813. {
  814. "variable": "type",
  815. "label": "Type",
  816. "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",
  817. "schema": {
  818. "type": "string",
  819. "required": true,
  820. "default": "ix_volume",
  821. "enum": [
  822. {
  823. "value": "host_path",
  824. "description": "Host Path (Path that already exists on the system)"
  825. },
  826. {
  827. "value": "ix_volume",
  828. "description": "ixVolume (Dataset created automatically by the system)"
  829. },
  830. {
  831. "value": "cifs",
  832. "description": "SMB/CIFS Share (Mounts a volume to a SMB share)"
  833. }
  834. ]
  835. }
  836. },
  837. {
  838. "variable": "read_only",
  839. "label": "Read Only",
  840. "description": "Mount the volume as read only.",
  841. "schema": {
  842. "type": "boolean",
  843. "default": false
  844. }
  845. },
  846. {
  847. "variable": "mount_path",
  848. "label": "Mount Path",
  849. "description": "The path inside the container to mount the storage.",
  850. "schema": {
  851. "type": "path",
  852. "required": true
  853. }
  854. },
  855. {
  856. "variable": "host_path_config",
  857. "label": "Host Path Configuration",
  858. "schema": {
  859. "type": "dict",
  860. "show_if": [
  861. [
  862. "type",
  863. "=",
  864. "host_path"
  865. ]
  866. ],
  867. "attrs": [
  868. {
  869. "variable": "acl_enable",
  870. "label": "Enable ACL",
  871. "description": "Enable ACL for the storage.",
  872. "schema": {
  873. "type": "boolean",
  874. "default": false
  875. }
  876. },
  877. {
  878. "variable": "acl",
  879. "label": "ACL Configuration",
  880. "schema": {
  881. "type": "dict",
  882. "show_if": [
  883. [
  884. "acl_enable",
  885. "=",
  886. true
  887. ]
  888. ],
  889. "attrs": [],
  890. "$ref": [
  891. "normalize/acl"
  892. ]
  893. }
  894. },
  895. {
  896. "variable": "path",
  897. "label": "Host Path",
  898. "description": "The host path to use for storage.",
  899. "schema": {
  900. "type": "hostpath",
  901. "show_if": [
  902. [
  903. "acl_enable",
  904. "=",
  905. false
  906. ]
  907. ],
  908. "required": true
  909. }
  910. }
  911. ]
  912. }
  913. },
  914. {
  915. "variable": "ix_volume_config",
  916. "label": "ixVolume Configuration",
  917. "description": "The configuration for the ixVolume dataset.",
  918. "schema": {
  919. "type": "dict",
  920. "show_if": [
  921. [
  922. "type",
  923. "=",
  924. "ix_volume"
  925. ]
  926. ],
  927. "$ref": [
  928. "normalize/ix_volume"
  929. ],
  930. "attrs": [
  931. {
  932. "variable": "acl_enable",
  933. "label": "Enable ACL",
  934. "description": "Enable ACL for the storage.",
  935. "schema": {
  936. "type": "boolean",
  937. "default": false
  938. }
  939. },
  940. {
  941. "variable": "dataset_name",
  942. "label": "Dataset Name",
  943. "description": "The name of the dataset to use for storage.",
  944. "schema": {
  945. "type": "string",
  946. "required": true,
  947. "default": "storage_entry"
  948. }
  949. },
  950. {
  951. "variable": "acl_entries",
  952. "label": "ACL Configuration",
  953. "schema": {
  954. "type": "dict",
  955. "show_if": [
  956. [
  957. "acl_enable",
  958. "=",
  959. true
  960. ]
  961. ],
  962. "attrs": []
  963. }
  964. }
  965. ]
  966. }
  967. },
  968. {
  969. "variable": "cifs_config",
  970. "label": "SMB Configuration",
  971. "description": "The configuration for the SMB dataset.",
  972. "schema": {
  973. "type": "dict",
  974. "show_if": [
  975. [
  976. "type",
  977. "=",
  978. "cifs"
  979. ]
  980. ],
  981. "attrs": [
  982. {
  983. "variable": "server",
  984. "label": "Server",
  985. "description": "The server to mount the SMB share.",
  986. "schema": {
  987. "type": "string",
  988. "required": true
  989. }
  990. },
  991. {
  992. "variable": "path",
  993. "label": "Path",
  994. "description": "The path to mount the SMB share.",
  995. "schema": {
  996. "type": "string",
  997. "required": true
  998. }
  999. },
  1000. {
  1001. "variable": "username",
  1002. "label": "Username",
  1003. "description": "The username to use for the SMB share.",
  1004. "schema": {
  1005. "type": "string",
  1006. "required": true
  1007. }
  1008. },
  1009. {
  1010. "variable": "password",
  1011. "label": "Password",
  1012. "description": "The password to use for the SMB share.",
  1013. "schema": {
  1014. "type": "string",
  1015. "required": true,
  1016. "private": true
  1017. }
  1018. },
  1019. {
  1020. "variable": "domain",
  1021. "label": "Domain",
  1022. "description": "The domain to use for the SMB share.",
  1023. "schema": {
  1024. "type": "string"
  1025. }
  1026. }
  1027. ]
  1028. }
  1029. }
  1030. ]
  1031. }
  1032. }
  1033. ]
  1034. }
  1035. }
  1036. ]
  1037. }
  1038. },
  1039. {
  1040. "variable": "labels",
  1041. "label": "",
  1042. "group": "Labels Configuration",
  1043. "schema": {
  1044. "type": "list",
  1045. "default": [],
  1046. "items": [
  1047. {
  1048. "variable": "label",
  1049. "label": "Label",
  1050. "schema": {
  1051. "type": "dict",
  1052. "attrs": [
  1053. {
  1054. "variable": "key",
  1055. "label": "Key",
  1056. "schema": {
  1057. "type": "string",
  1058. "required": true
  1059. }
  1060. },
  1061. {
  1062. "variable": "value",
  1063. "label": "Value",
  1064. "schema": {
  1065. "type": "string",
  1066. "required": true
  1067. }
  1068. },
  1069. {
  1070. "variable": "containers",
  1071. "label": "Containers",
  1072. "description": "Containers where the label should be applied",
  1073. "schema": {
  1074. "type": "list",
  1075. "items": [
  1076. {
  1077. "variable": "container",
  1078. "label": "Container",
  1079. "schema": {
  1080. "type": "string",
  1081. "required": true,
  1082. "enum": [
  1083. {
  1084. "value": "fireshare",
  1085. "description": "fireshare"
  1086. }
  1087. ]
  1088. }
  1089. }
  1090. ]
  1091. }
  1092. }
  1093. ]
  1094. }
  1095. }
  1096. ]
  1097. }
  1098. },
  1099. {
  1100. "variable": "resources",
  1101. "label": "",
  1102. "group": "Resources Configuration",
  1103. "schema": {
  1104. "type": "dict",
  1105. "attrs": [
  1106. {
  1107. "variable": "limits",
  1108. "label": "Limits",
  1109. "schema": {
  1110. "type": "dict",
  1111. "attrs": [
  1112. {
  1113. "variable": "cpus",
  1114. "label": "CPUs",
  1115. "description": "CPUs limit for Fireshare.",
  1116. "schema": {
  1117. "type": "int",
  1118. "default": 4,
  1119. "required": true
  1120. }
  1121. },
  1122. {
  1123. "variable": "memory",
  1124. "label": "Memory (in MB)",
  1125. "description": "Memory limit for Fireshare.",
  1126. "schema": {
  1127. "type": "int",
  1128. "default": 4096,
  1129. "required": true
  1130. }
  1131. }
  1132. ]
  1133. }
  1134. }
  1135. ]
  1136. }
  1137. }
  1138. ]
  1139. },
  1140. "readme": "<h1>Fireshare</h1> <p><a href=\"https://fireshare.net\">Fireshare</a> is a self-hosted file sharing platform that allows you to share your files with others.</p>",
  1141. "changelog": null,
  1142. "chart_metadata": {
  1143. "app_version": "v1.2.30",
  1144. "capabilities": [
  1145. {
  1146. "description": "Fireshare is able to change file ownership arbitrarily",
  1147. "name": "CHOWN"
  1148. },
  1149. {
  1150. "description": "Fireshare is able to bypass file permission checks",
  1151. "name": "DAC_OVERRIDE"
  1152. },
  1153. {
  1154. "description": "Fireshare is able to bypass permission checks for file operations",
  1155. "name": "FOWNER"
  1156. },
  1157. {
  1158. "description": "Fireshare is able to change group ID of processes",
  1159. "name": "SETGID"
  1160. },
  1161. {
  1162. "description": "Fireshare is able to change user ID of processes",
  1163. "name": "SETUID"
  1164. }
  1165. ],
  1166. "categories": [
  1167. "media"
  1168. ],
  1169. "changelog_url": "https://github.com/ShaneIsrael/fireshare/releases",
  1170. "date_added": "2025-05-23",
  1171. "description": "Share your game clips, videos, or other media via unique links.",
  1172. "home": "https://github.com/ShaneIsrael/fireshare",
  1173. "host_mounts": [],
  1174. "icon": "https://media.sys.truenas.net/apps/fireshare/icons/icon.png",
  1175. "keywords": [
  1176. "file-sharing",
  1177. "video-sharing"
  1178. ],
  1179. "lib_version": "2.1.49",
  1180. "lib_version_hash": "e71e6b0122c9446fa5ea6fb07e7eb01b11fb42d549a19845426bbd7e21a42634",
  1181. "maintainers": [
  1182. {
  1183. "email": "dev@ixsystems.com",
  1184. "name": "truenas",
  1185. "url": "https://www.truenas.com/"
  1186. }
  1187. ],
  1188. "name": "fireshare",
  1189. "run_as_context": [
  1190. {
  1191. "description": "Fireshare runs as root user.",
  1192. "gid": 0,
  1193. "group_name": "root",
  1194. "uid": 0,
  1195. "user_name": "root"
  1196. }
  1197. ],
  1198. "screenshots": [
  1199. "https://media.sys.truenas.net/apps/fireshare/screenshots/screenshot1.png"
  1200. ],
  1201. "sources": [
  1202. "https://github.com/ShaneIsrael/fireshare",
  1203. "https://hub.docker.com/r/shaneisrael/fireshare"
  1204. ],
  1205. "title": "Fireshare",
  1206. "train": "community",
  1207. "version": "1.0.12"
  1208. }
  1209. }
  1210. }