app_versions.json 48 KB

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