app_versions.json 44 KB

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