app_versions.json 46 KB

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