app_versions.json 55 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970
  1. {
  2. "1.1.3": {
  3. "healthy": true,
  4. "supported": true,
  5. "healthy_error": null,
  6. "location": "/__w/charts/charts/community/paperless-ngx/1.1.3",
  7. "last_update": "2023-11-14 10:11:57",
  8. "required_features": [
  9. "definitions/timezone",
  10. "normalize/ixVolume"
  11. ],
  12. "human_version": "1.17.4_1.1.3",
  13. "version": "1.1.3",
  14. "chart_metadata": {
  15. "name": "paperless-ngx",
  16. "description": "Paperless-ngx is a document management system that transforms your physical documents into a searchable online archive so you can keep, well, less paper.",
  17. "annotations": {
  18. "title": "Paperless-ngx"
  19. },
  20. "type": "application",
  21. "version": "1.1.3",
  22. "apiVersion": "v2",
  23. "appVersion": "1.17.4",
  24. "kubeVersion": ">=1.16.0-0",
  25. "maintainers": [
  26. {
  27. "name": "truenas",
  28. "url": "https://www.truenas.com/",
  29. "email": "dev@ixsystems.com"
  30. }
  31. ],
  32. "dependencies": [
  33. {
  34. "name": "common",
  35. "repository": "file://../../../common",
  36. "version": "1.2.2"
  37. }
  38. ],
  39. "home": "https://docs.paperless-ngx.com",
  40. "icon": "https://media.sys.truenas.net/apps/paperless-ngx/icons/icon.svg",
  41. "sources": [
  42. "https://hub.docker.com/r/paperlessngx/paperless-ngx",
  43. "https://github.com/truenas/charts/tree/master/library/ix-dev/community/paperless-ngx",
  44. "https://github.com/paperless-ngx/paperless-ngx"
  45. ],
  46. "keywords": [
  47. "document",
  48. "management"
  49. ]
  50. },
  51. "app_metadata": {
  52. "runAsContext": [
  53. {
  54. "userName": "root",
  55. "groupName": "root",
  56. "gid": 0,
  57. "uid": 0,
  58. "description": "Paperless-ngx can runs as root user."
  59. },
  60. {
  61. "userName": "postgres",
  62. "groupName": "postgres",
  63. "gid": 999,
  64. "uid": 999,
  65. "description": "Postgres runs as a non-root user."
  66. },
  67. {
  68. "userName": "redis",
  69. "groupName": "redis",
  70. "gid": 1001,
  71. "uid": 0,
  72. "description": "Redis runs as a non-root user and root group."
  73. }
  74. ],
  75. "capabilities": [
  76. {
  77. "name": "CHOWN",
  78. "description": "Paperless-ngx is able to chown files."
  79. },
  80. {
  81. "name": "DAC_OVERRIDE",
  82. "description": "Paperless-ngx is able to bypass permission checks."
  83. },
  84. {
  85. "name": "FOWNER",
  86. "description": "Paperless-ngx is able bypass permission checks for it's sub-processes."
  87. },
  88. {
  89. "name": "SETGID",
  90. "description": "Paperless-ngx is able to set group ID for it's sub-processes."
  91. },
  92. {
  93. "name": "SETUID",
  94. "description": "Paperless-ngx is able to set user ID for it's sub-processes."
  95. }
  96. ],
  97. "hostMounts": []
  98. },
  99. "schema": {
  100. "groups": [
  101. {
  102. "name": "Paperless-ngx Configuration",
  103. "description": "Configure Paperless-ngx"
  104. },
  105. {
  106. "name": "User and Group Configuration",
  107. "description": "Configure User and Group for Paperless-ngx"
  108. },
  109. {
  110. "name": "Network Configuration",
  111. "description": "Configure Network for Paperless-ngx"
  112. },
  113. {
  114. "name": "Storage Configuration",
  115. "description": "Configure Storage for Paperless-ngx"
  116. },
  117. {
  118. "name": "Resources Configuration",
  119. "description": "Configure Resources for Paperless-ngx"
  120. }
  121. ],
  122. "portals": {
  123. "web_portal": {
  124. "protocols": [
  125. "$kubernetes-resource_configmap_portal_protocol"
  126. ],
  127. "host": [
  128. "$kubernetes-resource_configmap_portal_host"
  129. ],
  130. "ports": [
  131. "$kubernetes-resource_configmap_portal_port"
  132. ],
  133. "path": "$kubernetes-resource_configmap_portal_path"
  134. }
  135. },
  136. "questions": [
  137. {
  138. "variable": "TZ",
  139. "group": "Paperless-ngx Configuration",
  140. "label": "Timezone",
  141. "schema": {
  142. "type": "string",
  143. "default": "America/Los_Angeles",
  144. "required": true,
  145. "$ref": [
  146. "definitions/timezone"
  147. ],
  148. "enum": [
  149. {
  150. "value": "Asia/Damascus",
  151. "description": "'Asia/Damascus' timezone"
  152. },
  153. {
  154. "value": "Asia/Saigon",
  155. "description": "'Asia/Saigon' timezone"
  156. }
  157. ]
  158. }
  159. },
  160. {
  161. "variable": "paperlessConfig",
  162. "label": "",
  163. "group": "Paperless-ngx Configuration",
  164. "schema": {
  165. "type": "dict",
  166. "attrs": [
  167. {
  168. "variable": "adminUser",
  169. "label": "Admin User",
  170. "description": "The admin user for Paperless-ngx.</br>\nIt is only used for the initial installation.\n",
  171. "schema": {
  172. "type": "string",
  173. "default": "",
  174. "immutable": true,
  175. "required": true
  176. }
  177. },
  178. {
  179. "variable": "adminPassword",
  180. "label": "Admin Password",
  181. "description": "The admin password for Paperless-ngx.</br>\nIt is only used for the initial installation.\n",
  182. "schema": {
  183. "type": "string",
  184. "default": "",
  185. "immutable": true,
  186. "required": true,
  187. "private": true
  188. }
  189. },
  190. {
  191. "variable": "adminMail",
  192. "label": "Admin Mail",
  193. "description": "The admin mail for Paperless-ngx.</br>\nIt is only used for the initial installation.\n",
  194. "schema": {
  195. "type": "string",
  196. "default": "",
  197. "immutable": true,
  198. "required": true
  199. }
  200. },
  201. {
  202. "variable": "enableTrash",
  203. "label": "Enable Trash",
  204. "description": "Enable the trash feature for Paperless-ngx.</br>\nWhen enabled, documents will be moved to the trash instead of being deleted.\n",
  205. "schema": {
  206. "type": "boolean",
  207. "default": true
  208. }
  209. },
  210. {
  211. "variable": "additionalEnvs",
  212. "label": "Additional Environment Variables",
  213. "description": "Configure additional environment variables for Paperless-ngx.",
  214. "schema": {
  215. "type": "list",
  216. "default": [],
  217. "items": [
  218. {
  219. "variable": "env",
  220. "label": "Environment Variable",
  221. "schema": {
  222. "type": "dict",
  223. "attrs": [
  224. {
  225. "variable": "name",
  226. "label": "Name",
  227. "schema": {
  228. "type": "string",
  229. "required": true
  230. }
  231. },
  232. {
  233. "variable": "value",
  234. "label": "Value",
  235. "schema": {
  236. "type": "string",
  237. "required": true
  238. }
  239. }
  240. ]
  241. }
  242. }
  243. ]
  244. }
  245. }
  246. ]
  247. }
  248. },
  249. {
  250. "variable": "paperlessID",
  251. "label": "",
  252. "group": "User and Group Configuration",
  253. "schema": {
  254. "type": "dict",
  255. "attrs": [
  256. {
  257. "variable": "user",
  258. "label": "User ID",
  259. "description": "The user id that Paperless-ngx files will be owned by.",
  260. "schema": {
  261. "type": "int",
  262. "min": 568,
  263. "default": 568,
  264. "required": true
  265. }
  266. },
  267. {
  268. "variable": "group",
  269. "label": "Group ID",
  270. "description": "The group id that Paperless-ngx files will be owned by.",
  271. "schema": {
  272. "type": "int",
  273. "min": 568,
  274. "default": 568,
  275. "required": true
  276. }
  277. }
  278. ]
  279. }
  280. },
  281. {
  282. "variable": "paperlessNetwork",
  283. "label": "",
  284. "group": "Network Configuration",
  285. "schema": {
  286. "type": "dict",
  287. "attrs": [
  288. {
  289. "variable": "webPort",
  290. "label": "Web Port",
  291. "description": "The port for the Paperless-ngx Web UI.",
  292. "schema": {
  293. "type": "int",
  294. "default": 30070,
  295. "min": 9000,
  296. "max": 65535,
  297. "required": true
  298. }
  299. },
  300. {
  301. "variable": "hostNetwork",
  302. "label": "Host Network",
  303. "description": "Bind to the host network. It's recommended to keep this disabled.</br>\n",
  304. "schema": {
  305. "type": "boolean",
  306. "default": false
  307. }
  308. }
  309. ]
  310. }
  311. },
  312. {
  313. "variable": "paperlessStorage",
  314. "label": "",
  315. "group": "Storage Configuration",
  316. "schema": {
  317. "type": "dict",
  318. "attrs": [
  319. {
  320. "variable": "data",
  321. "label": "Paperless-ngx Data Storage",
  322. "description": "The path to store Paperless-ngx Data.",
  323. "schema": {
  324. "type": "dict",
  325. "attrs": [
  326. {
  327. "variable": "type",
  328. "label": "Type",
  329. "description": "ixVolume: Is dataset created automatically by the system.</br>\nHost Path: Is a path that already exists on the system.\n",
  330. "schema": {
  331. "type": "string",
  332. "required": true,
  333. "immutable": true,
  334. "default": "ixVolume",
  335. "enum": [
  336. {
  337. "value": "hostPath",
  338. "description": "Host Path (Path that already exists on the system)"
  339. },
  340. {
  341. "value": "ixVolume",
  342. "description": "ixVolume (Dataset created automatically by the system)"
  343. }
  344. ]
  345. }
  346. },
  347. {
  348. "variable": "datasetName",
  349. "label": "Dataset Name",
  350. "schema": {
  351. "type": "string",
  352. "show_if": [
  353. [
  354. "type",
  355. "=",
  356. "ixVolume"
  357. ]
  358. ],
  359. "required": true,
  360. "hidden": true,
  361. "immutable": true,
  362. "default": "data",
  363. "$ref": [
  364. "normalize/ixVolume"
  365. ]
  366. }
  367. },
  368. {
  369. "variable": "hostPath",
  370. "label": "Host Path",
  371. "schema": {
  372. "type": "hostpath",
  373. "show_if": [
  374. [
  375. "type",
  376. "=",
  377. "hostPath"
  378. ]
  379. ],
  380. "immutable": true,
  381. "required": true
  382. }
  383. }
  384. ]
  385. }
  386. },
  387. {
  388. "variable": "media",
  389. "label": "Paperless-ngx Media Storage",
  390. "description": "The path to store Paperless-ngx Media.",
  391. "schema": {
  392. "type": "dict",
  393. "attrs": [
  394. {
  395. "variable": "type",
  396. "label": "Type",
  397. "description": "ixVolume: Is dataset created automatically by the system.</br>\nHost Path: Is a path that already exists on the system.\n",
  398. "schema": {
  399. "type": "string",
  400. "required": true,
  401. "immutable": true,
  402. "default": "ixVolume",
  403. "enum": [
  404. {
  405. "value": "hostPath",
  406. "description": "Host Path (Path that already exists on the system)"
  407. },
  408. {
  409. "value": "ixVolume",
  410. "description": "ixVolume (Dataset created automatically by the system)"
  411. }
  412. ]
  413. }
  414. },
  415. {
  416. "variable": "datasetName",
  417. "label": "Dataset Name",
  418. "schema": {
  419. "type": "string",
  420. "show_if": [
  421. [
  422. "type",
  423. "=",
  424. "ixVolume"
  425. ]
  426. ],
  427. "required": true,
  428. "hidden": true,
  429. "immutable": true,
  430. "default": "media",
  431. "$ref": [
  432. "normalize/ixVolume"
  433. ]
  434. }
  435. },
  436. {
  437. "variable": "hostPath",
  438. "label": "Host Path",
  439. "schema": {
  440. "type": "hostpath",
  441. "show_if": [
  442. [
  443. "type",
  444. "=",
  445. "hostPath"
  446. ]
  447. ],
  448. "immutable": true,
  449. "required": true
  450. }
  451. }
  452. ]
  453. }
  454. },
  455. {
  456. "variable": "consume",
  457. "label": "Paperless-ngx Consumption Storage",
  458. "description": "The path to store Paperless-ngx Data for Consumption.",
  459. "schema": {
  460. "type": "dict",
  461. "attrs": [
  462. {
  463. "variable": "type",
  464. "label": "Type",
  465. "description": "ixVolume: Is dataset created automatically by the system.</br>\nHost Path: Is a path that already exists on the system.\n",
  466. "schema": {
  467. "type": "string",
  468. "required": true,
  469. "immutable": true,
  470. "default": "ixVolume",
  471. "enum": [
  472. {
  473. "value": "hostPath",
  474. "description": "Host Path (Path that already exists on the system)"
  475. },
  476. {
  477. "value": "ixVolume",
  478. "description": "ixVolume (Dataset created automatically by the system)"
  479. }
  480. ]
  481. }
  482. },
  483. {
  484. "variable": "datasetName",
  485. "label": "Dataset Name",
  486. "schema": {
  487. "type": "string",
  488. "show_if": [
  489. [
  490. "type",
  491. "=",
  492. "ixVolume"
  493. ]
  494. ],
  495. "required": true,
  496. "hidden": true,
  497. "immutable": true,
  498. "default": "consume",
  499. "$ref": [
  500. "normalize/ixVolume"
  501. ]
  502. }
  503. },
  504. {
  505. "variable": "hostPath",
  506. "label": "Host Path",
  507. "schema": {
  508. "type": "hostpath",
  509. "show_if": [
  510. [
  511. "type",
  512. "=",
  513. "hostPath"
  514. ]
  515. ],
  516. "immutable": true,
  517. "required": true
  518. }
  519. }
  520. ]
  521. }
  522. },
  523. {
  524. "variable": "trash",
  525. "label": "Paperless-ngx Trash Storage",
  526. "description": "The path to store Paperless-ngx Trash.</br>\nThis is only used when the trash feature is enabled.\n",
  527. "schema": {
  528. "type": "dict",
  529. "attrs": [
  530. {
  531. "variable": "type",
  532. "label": "Type",
  533. "description": "ixVolume: Is dataset created automatically by the system.</br>\nHost Path: Is a path that already exists on the system.\n",
  534. "schema": {
  535. "type": "string",
  536. "required": true,
  537. "immutable": true,
  538. "default": "ixVolume",
  539. "enum": [
  540. {
  541. "value": "hostPath",
  542. "description": "Host Path (Path that already exists on the system)"
  543. },
  544. {
  545. "value": "ixVolume",
  546. "description": "ixVolume (Dataset created automatically by the system)"
  547. }
  548. ]
  549. }
  550. },
  551. {
  552. "variable": "datasetName",
  553. "label": "Dataset Name",
  554. "schema": {
  555. "type": "string",
  556. "show_if": [
  557. [
  558. "type",
  559. "=",
  560. "ixVolume"
  561. ]
  562. ],
  563. "required": true,
  564. "hidden": true,
  565. "immutable": true,
  566. "default": "trash",
  567. "$ref": [
  568. "normalize/ixVolume"
  569. ]
  570. }
  571. },
  572. {
  573. "variable": "hostPath",
  574. "label": "Host Path",
  575. "schema": {
  576. "type": "hostpath",
  577. "show_if": [
  578. [
  579. "type",
  580. "=",
  581. "hostPath"
  582. ]
  583. ],
  584. "immutable": true,
  585. "required": true
  586. }
  587. }
  588. ]
  589. }
  590. },
  591. {
  592. "variable": "pgData",
  593. "label": "Paperless-ngx Postgres Data Storage",
  594. "description": "The path to store Paperless-ngx Postgres Data.",
  595. "schema": {
  596. "type": "dict",
  597. "attrs": [
  598. {
  599. "variable": "type",
  600. "label": "Type",
  601. "description": "ixVolume: Is dataset created automatically by the system.</br>\nHost Path: Is a path that already exists on the system.\n",
  602. "schema": {
  603. "type": "string",
  604. "required": true,
  605. "immutable": true,
  606. "default": "ixVolume",
  607. "enum": [
  608. {
  609. "value": "hostPath",
  610. "description": "Host Path (Path that already exists on the system)"
  611. },
  612. {
  613. "value": "ixVolume",
  614. "description": "ixVolume (Dataset created automatically by the system)"
  615. }
  616. ]
  617. }
  618. },
  619. {
  620. "variable": "datasetName",
  621. "label": "Dataset Name",
  622. "schema": {
  623. "type": "string",
  624. "show_if": [
  625. [
  626. "type",
  627. "=",
  628. "ixVolume"
  629. ]
  630. ],
  631. "required": true,
  632. "hidden": true,
  633. "immutable": true,
  634. "default": "pgData",
  635. "$ref": [
  636. "normalize/ixVolume"
  637. ]
  638. }
  639. },
  640. {
  641. "variable": "hostPath",
  642. "label": "Host Path",
  643. "schema": {
  644. "type": "hostpath",
  645. "show_if": [
  646. [
  647. "type",
  648. "=",
  649. "hostPath"
  650. ]
  651. ],
  652. "immutable": true,
  653. "required": true
  654. }
  655. }
  656. ]
  657. }
  658. },
  659. {
  660. "variable": "pgBackup",
  661. "label": "Paperless-ngx Postgres Backup Storage",
  662. "description": "The path to store Paperless-ngx Postgres Backup.",
  663. "schema": {
  664. "type": "dict",
  665. "attrs": [
  666. {
  667. "variable": "type",
  668. "label": "Type",
  669. "description": "ixVolume: Is dataset created automatically by the system.</br>\nHost Path: Is a path that already exists on the system.\n",
  670. "schema": {
  671. "type": "string",
  672. "required": true,
  673. "immutable": true,
  674. "default": "ixVolume",
  675. "enum": [
  676. {
  677. "value": "hostPath",
  678. "description": "Host Path (Path that already exists on the system)"
  679. },
  680. {
  681. "value": "ixVolume",
  682. "description": "ixVolume (Dataset created automatically by the system)"
  683. }
  684. ]
  685. }
  686. },
  687. {
  688. "variable": "datasetName",
  689. "label": "Dataset Name",
  690. "schema": {
  691. "type": "string",
  692. "show_if": [
  693. [
  694. "type",
  695. "=",
  696. "ixVolume"
  697. ]
  698. ],
  699. "required": true,
  700. "hidden": true,
  701. "immutable": true,
  702. "default": "pgBackup",
  703. "$ref": [
  704. "normalize/ixVolume"
  705. ]
  706. }
  707. },
  708. {
  709. "variable": "hostPath",
  710. "label": "Host Path",
  711. "schema": {
  712. "type": "hostpath",
  713. "show_if": [
  714. [
  715. "type",
  716. "=",
  717. "hostPath"
  718. ]
  719. ],
  720. "immutable": true,
  721. "required": true
  722. }
  723. }
  724. ]
  725. }
  726. },
  727. {
  728. "variable": "additionalStorages",
  729. "label": "Additional Storage",
  730. "description": "Additional storage for Paperless-ngx.",
  731. "schema": {
  732. "type": "list",
  733. "default": [],
  734. "items": [
  735. {
  736. "variable": "storageEntry",
  737. "label": "Storage Entry",
  738. "schema": {
  739. "type": "dict",
  740. "attrs": [
  741. {
  742. "variable": "type",
  743. "label": "Type",
  744. "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 a persistent volume claim.\n",
  745. "schema": {
  746. "type": "string",
  747. "required": true,
  748. "default": "ixVolume",
  749. "immutable": true,
  750. "enum": [
  751. {
  752. "value": "hostPath",
  753. "description": "Host Path (Path that already exists on the system)"
  754. },
  755. {
  756. "value": "ixVolume",
  757. "description": "ixVolume (Dataset created automatically by the system)"
  758. },
  759. {
  760. "value": "smb-pv-pvc",
  761. "description": "SMB Share (Mounts a persistent volume claim to a SMB share)"
  762. }
  763. ]
  764. }
  765. },
  766. {
  767. "variable": "mountPath",
  768. "label": "Mount Path",
  769. "description": "The path inside the container to mount the storage.",
  770. "schema": {
  771. "type": "path",
  772. "required": true
  773. }
  774. },
  775. {
  776. "variable": "hostPath",
  777. "label": "Host Path",
  778. "description": "The host path to use for storage.",
  779. "schema": {
  780. "type": "hostpath",
  781. "show_if": [
  782. [
  783. "type",
  784. "=",
  785. "hostPath"
  786. ]
  787. ],
  788. "required": true
  789. }
  790. },
  791. {
  792. "variable": "datasetName",
  793. "label": "Dataset Name",
  794. "description": "The name of the dataset to use for storage.",
  795. "schema": {
  796. "type": "string",
  797. "show_if": [
  798. [
  799. "type",
  800. "=",
  801. "ixVolume"
  802. ]
  803. ],
  804. "required": true,
  805. "immutable": true,
  806. "default": "storage_entry",
  807. "$ref": [
  808. "normalize/ixVolume"
  809. ]
  810. }
  811. },
  812. {
  813. "variable": "server",
  814. "label": "Server",
  815. "description": "The server for the SMB share.",
  816. "schema": {
  817. "type": "string",
  818. "show_if": [
  819. [
  820. "type",
  821. "=",
  822. "smb-pv-pvc"
  823. ]
  824. ],
  825. "required": true
  826. }
  827. },
  828. {
  829. "variable": "share",
  830. "label": "Share",
  831. "description": "The share name for the SMB share.",
  832. "schema": {
  833. "type": "string",
  834. "show_if": [
  835. [
  836. "type",
  837. "=",
  838. "smb-pv-pvc"
  839. ]
  840. ],
  841. "required": true
  842. }
  843. },
  844. {
  845. "variable": "domain",
  846. "label": "Domain (Optional)",
  847. "description": "The domain for the SMB share.",
  848. "schema": {
  849. "type": "string",
  850. "show_if": [
  851. [
  852. "type",
  853. "=",
  854. "smb-pv-pvc"
  855. ]
  856. ]
  857. }
  858. },
  859. {
  860. "variable": "username",
  861. "label": "Username",
  862. "description": "The username for the SMB share.",
  863. "schema": {
  864. "type": "string",
  865. "show_if": [
  866. [
  867. "type",
  868. "=",
  869. "smb-pv-pvc"
  870. ]
  871. ],
  872. "required": true
  873. }
  874. },
  875. {
  876. "variable": "password",
  877. "label": "Password",
  878. "description": "The password for the SMB share.",
  879. "schema": {
  880. "type": "string",
  881. "show_if": [
  882. [
  883. "type",
  884. "=",
  885. "smb-pv-pvc"
  886. ]
  887. ],
  888. "required": true,
  889. "private": true
  890. }
  891. },
  892. {
  893. "variable": "size",
  894. "label": "Size (in Gi)",
  895. "description": "The size of the volume quota.",
  896. "schema": {
  897. "type": "int",
  898. "show_if": [
  899. [
  900. "type",
  901. "=",
  902. "smb-pv-pvc"
  903. ]
  904. ],
  905. "required": true,
  906. "min": 1,
  907. "default": 1
  908. }
  909. }
  910. ]
  911. }
  912. }
  913. ]
  914. }
  915. }
  916. ]
  917. }
  918. },
  919. {
  920. "variable": "resources",
  921. "group": "Resources Configuration",
  922. "label": "",
  923. "schema": {
  924. "type": "dict",
  925. "attrs": [
  926. {
  927. "variable": "limits",
  928. "label": "Limits",
  929. "schema": {
  930. "type": "dict",
  931. "attrs": [
  932. {
  933. "variable": "cpu",
  934. "label": "CPU",
  935. "description": "CPU limit for Paperless-ngx.",
  936. "schema": {
  937. "type": "string",
  938. "max_length": 6,
  939. "valid_chars": "^(0\\.[1-9]|[1-9][0-9]*)(\\.[0-9]|m?)$",
  940. "valid_chars_error": "Valid CPU limit formats are</br>\n- Plain Integer - eg. 1</br>\n- Float - eg. 0.5</br>\n- Milicpu - eg. 500m\n",
  941. "default": "4000m",
  942. "required": true
  943. }
  944. },
  945. {
  946. "variable": "memory",
  947. "label": "Memory",
  948. "description": "Memory limit for Paperless-ngx.",
  949. "schema": {
  950. "type": "string",
  951. "max_length": 12,
  952. "valid_chars": "^[1-9][0-9]*([EPTGMK]i?|e[0-9]+)?$",
  953. "valid_chars_error": "Valid Memory limit formats are</br>\n- Suffixed with E/P/T/G/M/K - eg. 1G</br>\n- Suffixed with Ei/Pi/Ti/Gi/Mi/Ki - eg. 1Gi</br>\n- Plain Integer in bytes - eg. 1024</br>\n- Exponent - eg. 134e6\n",
  954. "default": "8Gi",
  955. "required": true
  956. }
  957. }
  958. ]
  959. }
  960. }
  961. ]
  962. }
  963. }
  964. ]
  965. },
  966. "app_readme": "<h1>Paperless-ngx</h1>\n<p><a href=\"https://docs.paperless-ngx.com\">Paperless-ngx</a> is a document management system that transforms your physical documents into a searchable online archive so you can keep, well, less paper.</p>",
  967. "detailed_readme": "<h1>Paperless-ngx</h1>\n<p><a href=\"https://docs.paperless-ngx.com\">Paperless-ngx</a> is a document management system that transforms your physical documents into a searchable online archive so you can keep, well, less paper.</p>",
  968. "changelog": null
  969. }
  970. }