app_versions.json 48 KB

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