app_versions.json 67 KB

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