app_versions.json 58 KB

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