app_versions.json 44 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822
  1. {
  2. "1.0.13": {
  3. "healthy": true,
  4. "supported": true,
  5. "healthy_error": null,
  6. "location": "/__w/apps/apps/trains/community/mempool/1.0.13",
  7. "last_update": "2025-09-02 11:33:24",
  8. "required_features": [],
  9. "human_version": "v3.2.1_1.0.13",
  10. "version": "1.0.13",
  11. "app_metadata": {
  12. "app_version": "v3.2.1",
  13. "capabilities": [],
  14. "categories": [
  15. "financial"
  16. ],
  17. "changelog_url": "https://github.com/mempool/mempool/releases",
  18. "date_added": "2024-08-25",
  19. "description": "A fully-featured Bitcoin mempool visualizer, block explorer, and API service.",
  20. "home": "https://mempool.space",
  21. "host_mounts": [],
  22. "icon": "https://media.sys.truenas.net/apps/mempool/icons/icon.svg",
  23. "keywords": [
  24. "bitcoin",
  25. "cryptocurrency",
  26. "blockchain"
  27. ],
  28. "lib_version": "2.1.49",
  29. "lib_version_hash": "e71e6b0122c9446fa5ea6fb07e7eb01b11fb42d549a19845426bbd7e21a42634",
  30. "maintainers": [
  31. {
  32. "email": "dev@ixsystems.com",
  33. "name": "truenas",
  34. "url": "https://www.truenas.com/"
  35. }
  36. ],
  37. "name": "mempool",
  38. "run_as_context": [
  39. {
  40. "description": "Mempool Backend runs as non-root user.",
  41. "gid": 1000,
  42. "group_name": "mempool",
  43. "uid": 1000,
  44. "user_name": "mempool"
  45. },
  46. {
  47. "description": "Mempool Frontend runs as non-root user.",
  48. "gid": 1000,
  49. "group_name": "mempool",
  50. "uid": 1000,
  51. "user_name": "mempool"
  52. },
  53. {
  54. "description": "MariaDB runs as non-root user.",
  55. "gid": 999,
  56. "group_name": "mariadb",
  57. "uid": 999,
  58. "user_name": "mariadb"
  59. }
  60. ],
  61. "screenshots": [],
  62. "sources": [
  63. "https://github.com/mempool/mempool"
  64. ],
  65. "title": "Mempool",
  66. "train": "community",
  67. "version": "1.0.13"
  68. },
  69. "schema": {
  70. "groups": [
  71. {
  72. "name": "Mempool Configuration",
  73. "description": "Configure Mempool"
  74. },
  75. {
  76. "name": "Network Configuration",
  77. "description": "Configure Network for Mempool"
  78. },
  79. {
  80. "name": "Storage Configuration",
  81. "description": "Configure Storage for Mempool"
  82. },
  83. {
  84. "name": "Labels Configuration",
  85. "description": "Configure Labels for Mempool"
  86. },
  87. {
  88. "name": "Resources Configuration",
  89. "description": "Configure Resources for Mempool"
  90. }
  91. ],
  92. "questions": [
  93. {
  94. "variable": "TZ",
  95. "group": "Mempool Configuration",
  96. "label": "Timezone",
  97. "schema": {
  98. "type": "string",
  99. "default": "Etc/UTC",
  100. "required": true,
  101. "$ref": [
  102. "definitions/timezone"
  103. ]
  104. }
  105. },
  106. {
  107. "variable": "mempool",
  108. "label": "",
  109. "group": "Mempool Configuration",
  110. "schema": {
  111. "type": "dict",
  112. "attrs": [
  113. {
  114. "variable": "db_password",
  115. "label": "Database Password",
  116. "description": "The database password for Mempool.",
  117. "schema": {
  118. "type": "string",
  119. "default": "",
  120. "required": true,
  121. "private": true
  122. }
  123. },
  124. {
  125. "variable": "db_root_password",
  126. "label": "Root Database Password",
  127. "description": "The root database password for Mempool.",
  128. "schema": {
  129. "type": "string",
  130. "default": "",
  131. "required": true,
  132. "private": true
  133. }
  134. },
  135. {
  136. "variable": "use_installed_bitcoin_app",
  137. "label": "Connect to Installed Bitcoin Node App",
  138. "description": "Enabling this option will attempt to connect to the installed Bitcoin Node TrueNAS app.\nMempool won't work if your node is pruned.\n",
  139. "schema": {
  140. "type": "boolean",
  141. "default": true
  142. }
  143. },
  144. {
  145. "variable": "external_bitcoind_ip",
  146. "label": "External Bitcoin Node RPC IP",
  147. "schema": {
  148. "type": "ipaddr",
  149. "required": true,
  150. "show_if": [
  151. [
  152. "use_installed_bitcoin_app",
  153. "=",
  154. false
  155. ]
  156. ]
  157. }
  158. },
  159. {
  160. "variable": "bitcoind_rpc_port",
  161. "label": "Bitcoin Node RPC Port",
  162. "schema": {
  163. "type": "int",
  164. "min": 1,
  165. "max": 65535,
  166. "default": 8332,
  167. "required": true
  168. }
  169. },
  170. {
  171. "variable": "bitcoind_rpc_user",
  172. "label": "Bitcoin Node RPC User",
  173. "schema": {
  174. "type": "string",
  175. "default": "truenas",
  176. "required": true
  177. }
  178. },
  179. {
  180. "variable": "bitcoind_rpc_password",
  181. "label": "Bitcoin Node RPC Password",
  182. "schema": {
  183. "type": "string",
  184. "required": true
  185. }
  186. },
  187. {
  188. "variable": "use_installed_electrs_app",
  189. "label": "Connect to Installed Electrs App",
  190. "description": "Enabling this option will attempt to connect to the installed Electrs TrueNAS app.\n",
  191. "schema": {
  192. "type": "boolean",
  193. "default": true
  194. }
  195. },
  196. {
  197. "variable": "external_electrum_ip",
  198. "label": "External Electrum RPC IP",
  199. "schema": {
  200. "type": "ipaddr",
  201. "required": true,
  202. "show_if": [
  203. [
  204. "use_installed_electrs_app",
  205. "=",
  206. false
  207. ]
  208. ]
  209. }
  210. },
  211. {
  212. "variable": "electrum_rpc_port",
  213. "label": "Electrum RPC Port",
  214. "schema": {
  215. "type": "int",
  216. "min": 1,
  217. "max": 65535,
  218. "default": 50001,
  219. "required": true
  220. }
  221. },
  222. {
  223. "variable": "electrum_use_tls",
  224. "label": "Connect to Electrum Over TLS",
  225. "schema": {
  226. "type": "boolean",
  227. "default": false,
  228. "show_if": [
  229. [
  230. "use_installed_electrs_app",
  231. "=",
  232. false
  233. ]
  234. ]
  235. }
  236. },
  237. {
  238. "variable": "additional_envs",
  239. "label": "Additional Environment Variables",
  240. "schema": {
  241. "type": "list",
  242. "default": [],
  243. "items": [
  244. {
  245. "variable": "env",
  246. "label": "Environment Variable",
  247. "schema": {
  248. "type": "dict",
  249. "attrs": [
  250. {
  251. "variable": "name",
  252. "label": "Name",
  253. "schema": {
  254. "type": "string",
  255. "required": true
  256. }
  257. },
  258. {
  259. "variable": "value",
  260. "label": "Value",
  261. "schema": {
  262. "type": "string"
  263. }
  264. }
  265. ]
  266. }
  267. }
  268. ]
  269. }
  270. }
  271. ]
  272. }
  273. },
  274. {
  275. "variable": "network",
  276. "label": "",
  277. "group": "Network Configuration",
  278. "schema": {
  279. "type": "dict",
  280. "attrs": [
  281. {
  282. "variable": "web_ui_port",
  283. "label": "Web UI Port",
  284. "schema": {
  285. "type": "dict",
  286. "attrs": [
  287. {
  288. "variable": "bind_mode",
  289. "label": "Port Bind Mode",
  290. "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",
  291. "schema": {
  292. "type": "string",
  293. "default": "published",
  294. "enum": [
  295. {
  296. "value": "published",
  297. "description": "Publish port on the host for external access"
  298. },
  299. {
  300. "value": "exposed",
  301. "description": "Expose port for inter-container communication"
  302. },
  303. {
  304. "value": "",
  305. "description": "None"
  306. }
  307. ]
  308. }
  309. },
  310. {
  311. "variable": "port_number",
  312. "label": "Port Number",
  313. "schema": {
  314. "type": "int",
  315. "default": 3006,
  316. "min": 1,
  317. "max": 65535,
  318. "required": true
  319. }
  320. },
  321. {
  322. "variable": "host_ips",
  323. "label": "Host IPs",
  324. "description": "IPs on the host to bind this port",
  325. "schema": {
  326. "type": "list",
  327. "show_if": [
  328. [
  329. "bind_mode",
  330. "=",
  331. "published"
  332. ]
  333. ],
  334. "default": [],
  335. "items": [
  336. {
  337. "variable": "host_ip",
  338. "label": "Host IP",
  339. "schema": {
  340. "type": "string",
  341. "required": true,
  342. "$ref": [
  343. "definitions/node_bind_ip"
  344. ]
  345. }
  346. }
  347. ]
  348. }
  349. }
  350. ]
  351. }
  352. }
  353. ]
  354. }
  355. },
  356. {
  357. "variable": "storage",
  358. "label": "",
  359. "group": "Storage Configuration",
  360. "schema": {
  361. "type": "dict",
  362. "attrs": [
  363. {
  364. "variable": "cache",
  365. "label": "Mempool Cache Storage Location",
  366. "schema": {
  367. "type": "dict",
  368. "attrs": [
  369. {
  370. "variable": "type",
  371. "label": "Type",
  372. "description": "ixVolume: Is dataset created automatically by the system.</br>\nHost Path: Is a path that already exists on the system.\n",
  373. "schema": {
  374. "type": "string",
  375. "required": true,
  376. "default": "ix_volume",
  377. "enum": [
  378. {
  379. "value": "host_path",
  380. "description": "Host Path (Path that already exists on the system)"
  381. },
  382. {
  383. "value": "ix_volume",
  384. "description": "ixVolume (Dataset created automatically by the system)"
  385. }
  386. ]
  387. }
  388. },
  389. {
  390. "variable": "ix_volume_config",
  391. "label": "ixVolume Configuration",
  392. "description": "The configuration for the ixVolume dataset.",
  393. "schema": {
  394. "type": "dict",
  395. "show_if": [
  396. [
  397. "type",
  398. "=",
  399. "ix_volume"
  400. ]
  401. ],
  402. "$ref": [
  403. "normalize/ix_volume"
  404. ],
  405. "attrs": [
  406. {
  407. "variable": "acl_enable",
  408. "label": "Enable ACL",
  409. "description": "Enable ACL for the storage.",
  410. "schema": {
  411. "type": "boolean",
  412. "default": false
  413. }
  414. },
  415. {
  416. "variable": "dataset_name",
  417. "label": "Dataset Name",
  418. "description": "The name of the dataset to use for storage.",
  419. "schema": {
  420. "type": "string",
  421. "required": true,
  422. "hidden": true,
  423. "default": "mempool_data"
  424. }
  425. },
  426. {
  427. "variable": "acl_entries",
  428. "label": "ACL Configuration",
  429. "schema": {
  430. "type": "dict",
  431. "show_if": [
  432. [
  433. "acl_enable",
  434. "=",
  435. true
  436. ]
  437. ],
  438. "attrs": []
  439. }
  440. }
  441. ]
  442. }
  443. },
  444. {
  445. "variable": "host_path_config",
  446. "label": "Host Path Configuration",
  447. "schema": {
  448. "type": "dict",
  449. "show_if": [
  450. [
  451. "type",
  452. "=",
  453. "host_path"
  454. ]
  455. ],
  456. "attrs": [
  457. {
  458. "variable": "acl_enable",
  459. "label": "Enable ACL",
  460. "description": "Enable ACL for the storage.",
  461. "schema": {
  462. "type": "boolean",
  463. "default": false
  464. }
  465. },
  466. {
  467. "variable": "acl",
  468. "label": "ACL Configuration",
  469. "schema": {
  470. "type": "dict",
  471. "show_if": [
  472. [
  473. "acl_enable",
  474. "=",
  475. true
  476. ]
  477. ],
  478. "attrs": [],
  479. "$ref": [
  480. "normalize/acl"
  481. ]
  482. }
  483. },
  484. {
  485. "variable": "path",
  486. "label": "Host Path",
  487. "description": "The host path to use for storage.",
  488. "schema": {
  489. "type": "hostpath",
  490. "show_if": [
  491. [
  492. "acl_enable",
  493. "=",
  494. false
  495. ]
  496. ],
  497. "required": true
  498. }
  499. }
  500. ]
  501. }
  502. }
  503. ]
  504. }
  505. },
  506. {
  507. "variable": "mariadb_data",
  508. "label": "Mempool Database Storage Location",
  509. "schema": {
  510. "type": "dict",
  511. "attrs": [
  512. {
  513. "variable": "type",
  514. "label": "Type",
  515. "description": "ixVolume: Is dataset created automatically by the system.</br>\nHost Path: Is a path that already exists on the system.\n",
  516. "schema": {
  517. "type": "string",
  518. "required": true,
  519. "default": "ix_volume",
  520. "enum": [
  521. {
  522. "value": "host_path",
  523. "description": "Host Path (Path that already exists on the system)"
  524. },
  525. {
  526. "value": "ix_volume",
  527. "description": "ixVolume (Dataset created automatically by the system)"
  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. "hidden": true,
  566. "default": "mariadb_data"
  567. }
  568. },
  569. {
  570. "variable": "acl_entries",
  571. "label": "ACL Configuration",
  572. "schema": {
  573. "type": "dict",
  574. "show_if": [
  575. [
  576. "acl_enable",
  577. "=",
  578. true
  579. ]
  580. ],
  581. "attrs": []
  582. }
  583. }
  584. ]
  585. }
  586. },
  587. {
  588. "variable": "host_path_config",
  589. "label": "Host Path Configuration",
  590. "schema": {
  591. "type": "dict",
  592. "show_if": [
  593. [
  594. "type",
  595. "=",
  596. "host_path"
  597. ]
  598. ],
  599. "attrs": [
  600. {
  601. "variable": "acl_enable",
  602. "label": "Enable ACL",
  603. "description": "Enable ACL for the storage.",
  604. "schema": {
  605. "type": "boolean",
  606. "default": false
  607. }
  608. },
  609. {
  610. "variable": "acl",
  611. "label": "ACL Configuration",
  612. "schema": {
  613. "type": "dict",
  614. "show_if": [
  615. [
  616. "acl_enable",
  617. "=",
  618. true
  619. ]
  620. ],
  621. "attrs": [],
  622. "$ref": [
  623. "normalize/acl"
  624. ]
  625. }
  626. },
  627. {
  628. "variable": "path",
  629. "label": "Host Path",
  630. "description": "The host path to use for storage.",
  631. "schema": {
  632. "type": "hostpath",
  633. "show_if": [
  634. [
  635. "acl_enable",
  636. "=",
  637. false
  638. ]
  639. ],
  640. "required": true
  641. }
  642. }
  643. ]
  644. }
  645. }
  646. ]
  647. }
  648. }
  649. ]
  650. }
  651. },
  652. {
  653. "variable": "labels",
  654. "label": "",
  655. "group": "Labels Configuration",
  656. "schema": {
  657. "type": "list",
  658. "default": [],
  659. "items": [
  660. {
  661. "variable": "label",
  662. "label": "Label",
  663. "schema": {
  664. "type": "dict",
  665. "attrs": [
  666. {
  667. "variable": "key",
  668. "label": "Key",
  669. "schema": {
  670. "type": "string",
  671. "required": true
  672. }
  673. },
  674. {
  675. "variable": "value",
  676. "label": "Value",
  677. "schema": {
  678. "type": "string",
  679. "required": true
  680. }
  681. },
  682. {
  683. "variable": "containers",
  684. "label": "Containers",
  685. "description": "Containers where the label should be applied",
  686. "schema": {
  687. "type": "list",
  688. "items": [
  689. {
  690. "variable": "container",
  691. "label": "Container",
  692. "schema": {
  693. "type": "string",
  694. "required": true,
  695. "enum": [
  696. {
  697. "value": "backend",
  698. "description": "backend"
  699. },
  700. {
  701. "value": "frontend",
  702. "description": "frontend"
  703. },
  704. {
  705. "value": "mariadb",
  706. "description": "mariadb"
  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 Mempool.",
  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 Mempool.",
  747. "schema": {
  748. "type": "int",
  749. "default": 4096,
  750. "required": true
  751. }
  752. }
  753. ]
  754. }
  755. }
  756. ]
  757. }
  758. }
  759. ]
  760. },
  761. "readme": "<h1>Mempool</h1> <p><a href=\"https://mempool.space\">Mempool</a> is a fully-featured Bitcoin mempool visualizer, block explorer, and API service.</p>",
  762. "changelog": null,
  763. "chart_metadata": {
  764. "app_version": "v3.2.1",
  765. "capabilities": [],
  766. "categories": [
  767. "financial"
  768. ],
  769. "changelog_url": "https://github.com/mempool/mempool/releases",
  770. "date_added": "2024-08-25",
  771. "description": "A fully-featured Bitcoin mempool visualizer, block explorer, and API service.",
  772. "home": "https://mempool.space",
  773. "host_mounts": [],
  774. "icon": "https://media.sys.truenas.net/apps/mempool/icons/icon.svg",
  775. "keywords": [
  776. "bitcoin",
  777. "cryptocurrency",
  778. "blockchain"
  779. ],
  780. "lib_version": "2.1.49",
  781. "lib_version_hash": "e71e6b0122c9446fa5ea6fb07e7eb01b11fb42d549a19845426bbd7e21a42634",
  782. "maintainers": [
  783. {
  784. "email": "dev@ixsystems.com",
  785. "name": "truenas",
  786. "url": "https://www.truenas.com/"
  787. }
  788. ],
  789. "name": "mempool",
  790. "run_as_context": [
  791. {
  792. "description": "Mempool Backend runs as non-root user.",
  793. "gid": 1000,
  794. "group_name": "mempool",
  795. "uid": 1000,
  796. "user_name": "mempool"
  797. },
  798. {
  799. "description": "Mempool Frontend runs as non-root user.",
  800. "gid": 1000,
  801. "group_name": "mempool",
  802. "uid": 1000,
  803. "user_name": "mempool"
  804. },
  805. {
  806. "description": "MariaDB runs as non-root user.",
  807. "gid": 999,
  808. "group_name": "mariadb",
  809. "uid": 999,
  810. "user_name": "mariadb"
  811. }
  812. ],
  813. "screenshots": [],
  814. "sources": [
  815. "https://github.com/mempool/mempool"
  816. ],
  817. "title": "Mempool",
  818. "train": "community",
  819. "version": "1.0.13"
  820. }
  821. }
  822. }