app_versions.json 65 KB

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