app_versions.json 78 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309
  1. {
  2. "2.0.37": {
  3. "healthy": true,
  4. "supported": false,
  5. "healthy_error": null,
  6. "location": "/__w/charts/charts/charts/collabora/2.0.37",
  7. "last_update": "2025-03-05 14:27:33",
  8. "required_features": [
  9. "definitions/nodeIP",
  10. "definitions/certificate",
  11. "normalize/acl",
  12. "normalize/ixVolume",
  13. "definitions/timezone"
  14. ],
  15. "human_version": "24.04.12.4.1_2.0.37",
  16. "version": "2.0.37",
  17. "chart_metadata": {
  18. "name": "collabora",
  19. "description": "Collabora is a collaborative online office suite based on LibreOffice technology",
  20. "annotations": {
  21. "title": "Collabora"
  22. },
  23. "type": "application",
  24. "version": "2.0.37",
  25. "apiVersion": "v2",
  26. "appVersion": "24.04.12.4.1",
  27. "kubeVersion": ">=1.16.0-0",
  28. "maintainers": [
  29. {
  30. "name": "truenas",
  31. "url": "https://www.truenas.com/",
  32. "email": "dev@ixsystems.com"
  33. }
  34. ],
  35. "dependencies": [
  36. {
  37. "name": "common",
  38. "repository": "file://../../../common",
  39. "version": "1.2.9"
  40. }
  41. ],
  42. "home": "https://www.collaboraoffice.com/",
  43. "icon": "https://media.sys.truenas.net/apps/collabora/icons/icon.png",
  44. "sources": [
  45. "https://www.collaboraoffice.com/",
  46. "https://github.com/CollaboraOnline/online",
  47. "https://hub.docker.com/r/collabora/code"
  48. ],
  49. "keywords": [
  50. "office",
  51. "documents",
  52. "productivity"
  53. ]
  54. },
  55. "app_metadata": {
  56. "runAsContext": [
  57. {
  58. "userName": "cool",
  59. "groupName": "cool",
  60. "uid": 100,
  61. "gid": 101,
  62. "description": "Collabora runs as non-root user."
  63. },
  64. {
  65. "userName": "root",
  66. "groupName": "root",
  67. "gid": 0,
  68. "uid": 0,
  69. "description": "Nginx runs as root user."
  70. }
  71. ],
  72. "capabilities": [
  73. {
  74. "name": "CHOWN",
  75. "description": "Collabora and Nginx are able to chown files."
  76. },
  77. {
  78. "name": "SETPCAP",
  79. "description": "Collabora is able to set process capabilities."
  80. },
  81. {
  82. "name": "FOWNER",
  83. "description": "Collabora is able to bypass permission checks for it's sub-processes."
  84. },
  85. {
  86. "name": "SYS_CHROOT",
  87. "description": "Collabora is able to use chroot."
  88. },
  89. {
  90. "name": "SETGID",
  91. "description": "Nginx is able to set group ID for it's sub-processes."
  92. },
  93. {
  94. "name": "SETUID",
  95. "description": "Nginx is able to set user ID for it's sub-processes."
  96. },
  97. {
  98. "name": "MKNOD",
  99. "description": "Collabora is able to create device nodes."
  100. }
  101. ],
  102. "hostMounts": []
  103. },
  104. "schema": {
  105. "groups": [
  106. {
  107. "name": "Collabora Configuration",
  108. "description": "Configure Collabora"
  109. },
  110. {
  111. "name": "User and Group Configuration",
  112. "description": "Configure User and Group for Collabora"
  113. },
  114. {
  115. "name": "Network Configuration",
  116. "description": "Configure Network for Collabora"
  117. },
  118. {
  119. "name": "Storage Configuration",
  120. "description": "Configure Storage for Collabora"
  121. },
  122. {
  123. "name": "Resources Configuration",
  124. "description": "Configure Resources for Collabora"
  125. }
  126. ],
  127. "portals": {
  128. "web_portal": {
  129. "protocols": [
  130. "$kubernetes-resource_configmap_portal_protocol"
  131. ],
  132. "host": [
  133. "$kubernetes-resource_configmap_portal_host"
  134. ],
  135. "ports": [
  136. "$kubernetes-resource_configmap_portal_port"
  137. ],
  138. "path": "$kubernetes-resource_configmap_portal_path"
  139. }
  140. },
  141. "questions": [
  142. {
  143. "variable": "TZ",
  144. "group": "Collabora Configuration",
  145. "label": "Timezone",
  146. "schema": {
  147. "type": "string",
  148. "default": "America/Los_Angeles",
  149. "required": true,
  150. "$ref": [
  151. "definitions/timezone"
  152. ],
  153. "enum": [
  154. {
  155. "value": "Asia/Damascus",
  156. "description": "'Asia/Damascus' timezone"
  157. },
  158. {
  159. "value": "Asia/Saigon",
  160. "description": "'Asia/Saigon' timezone"
  161. }
  162. ]
  163. }
  164. },
  165. {
  166. "variable": "collaboraConfig",
  167. "label": "",
  168. "group": "Collabora Configuration",
  169. "schema": {
  170. "type": "dict",
  171. "attrs": [
  172. {
  173. "variable": "enableWebUI",
  174. "label": "Enable WebUI",
  175. "description": "Enable WebUI for Collabora\nIf you enable this, you will need to set a username and password</br>\n",
  176. "schema": {
  177. "type": "boolean",
  178. "default": true
  179. }
  180. },
  181. {
  182. "variable": "username",
  183. "label": "Username for WebUI",
  184. "schema": {
  185. "type": "string",
  186. "required": true,
  187. "show_if": [
  188. [
  189. "enableWebUI",
  190. "=",
  191. true
  192. ]
  193. ],
  194. "default": ""
  195. }
  196. },
  197. {
  198. "variable": "password",
  199. "label": "Password for WebUI",
  200. "schema": {
  201. "type": "string",
  202. "default": "",
  203. "private": true,
  204. "required": true,
  205. "show_if": [
  206. [
  207. "enableWebUI",
  208. "=",
  209. true
  210. ]
  211. ],
  212. "valid_chars": "^[a-zA-Z0-9!@#$%^&*?]{8,}$|^$",
  213. "valid_chars_error": "Password must be at least 8 characters long and contain at least one of the following:</br>\n- Uppercase letter</br>\n- Lowercase letter</br>\n- Number</br>\n- Special character (!@#$%^&*?)</br>\n"
  214. }
  215. },
  216. {
  217. "variable": "serverName",
  218. "label": "Server Name",
  219. "description": "The server name for Collabora.",
  220. "schema": {
  221. "type": "string",
  222. "default": "192.168.0.10",
  223. "$ref": [
  224. "definitions/nodeIP"
  225. ]
  226. }
  227. },
  228. {
  229. "variable": "aliasGroup1",
  230. "label": "Alias Group 1",
  231. "description": "List of domains that will be allowed to access the Collabora server\nType one domain per line\n",
  232. "schema": {
  233. "type": "list",
  234. "default": [],
  235. "items": [
  236. {
  237. "variable": "alias",
  238. "label": "Alias",
  239. "schema": {
  240. "type": "string"
  241. }
  242. }
  243. ]
  244. }
  245. },
  246. {
  247. "variable": "dictionaries",
  248. "label": "Dictionaries",
  249. "description": "Dictionaries to be used by Collabora.",
  250. "schema": {
  251. "type": "list",
  252. "default": [
  253. "de_DE",
  254. "en_GB",
  255. "en_US",
  256. "es_ES",
  257. "fr_FR",
  258. "it",
  259. "nl",
  260. "pt_BR",
  261. "pt_PT",
  262. "ru"
  263. ],
  264. "items": [
  265. {
  266. "variable": "dictionary",
  267. "label": "Dictionary",
  268. "schema": {
  269. "type": "string",
  270. "default": "",
  271. "required": true
  272. }
  273. }
  274. ]
  275. }
  276. },
  277. {
  278. "variable": "extraParams",
  279. "label": "Extra Parameters",
  280. "description": "Extra parameters to be passed to Collabora.",
  281. "schema": {
  282. "type": "list",
  283. "default": [
  284. "--o:welcome.enable=false",
  285. "--o:user_interface.mode=notebookbar",
  286. "--o:ssl.termination=true",
  287. "--o:ssl.enable=false",
  288. "--o:net.proto=IPv4",
  289. "--o:logging.level=warning",
  290. "--o:logging.level_startup=warning",
  291. "--o:mount_jail_tree=false"
  292. ],
  293. "items": [
  294. {
  295. "variable": "extraParam",
  296. "label": "Extra Parameter",
  297. "schema": {
  298. "type": "string",
  299. "default": "",
  300. "required": true
  301. }
  302. }
  303. ]
  304. }
  305. },
  306. {
  307. "variable": "additionalEnvs",
  308. "label": "Additional Environment Variables",
  309. "description": "Configure additional environment variables forCollabora.",
  310. "schema": {
  311. "type": "list",
  312. "default": [],
  313. "items": [
  314. {
  315. "variable": "env",
  316. "label": "Environment Variable",
  317. "schema": {
  318. "type": "dict",
  319. "attrs": [
  320. {
  321. "variable": "name",
  322. "label": "Name",
  323. "schema": {
  324. "type": "string",
  325. "required": true
  326. }
  327. },
  328. {
  329. "variable": "value",
  330. "label": "Value",
  331. "schema": {
  332. "type": "string",
  333. "required": true
  334. }
  335. }
  336. ]
  337. }
  338. }
  339. ]
  340. }
  341. }
  342. ]
  343. }
  344. },
  345. {
  346. "variable": "collaboraNetwork",
  347. "label": "",
  348. "group": "Network Configuration",
  349. "schema": {
  350. "type": "dict",
  351. "attrs": [
  352. {
  353. "variable": "webPort",
  354. "label": "Web Port",
  355. "description": "The port for the Collabora Web UI.",
  356. "schema": {
  357. "type": "int",
  358. "default": 9980,
  359. "min": 9000,
  360. "max": 65535,
  361. "required": true
  362. }
  363. },
  364. {
  365. "variable": "certificateID",
  366. "label": "Certificate",
  367. "description": "The certificate for Collabora.",
  368. "schema": {
  369. "type": "int",
  370. "null": true,
  371. "$ref": [
  372. "definitions/certificate"
  373. ],
  374. "enum": [
  375. {
  376. "value": null,
  377. "description": "No Certificate"
  378. }
  379. ],
  380. "default": null
  381. }
  382. }
  383. ]
  384. }
  385. },
  386. {
  387. "variable": "collaboraStorage",
  388. "label": "",
  389. "group": "Storage Configuration",
  390. "schema": {
  391. "type": "dict",
  392. "attrs": [
  393. {
  394. "variable": "additionalStorages",
  395. "label": "Additional Storage",
  396. "description": "Additional storage for Collabora.",
  397. "schema": {
  398. "type": "list",
  399. "default": [],
  400. "items": [
  401. {
  402. "variable": "storageEntry",
  403. "label": "Storage Entry",
  404. "schema": {
  405. "type": "dict",
  406. "attrs": [
  407. {
  408. "variable": "type",
  409. "label": "Type",
  410. "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",
  411. "schema": {
  412. "type": "string",
  413. "required": true,
  414. "default": "ixVolume",
  415. "immutable": true,
  416. "enum": [
  417. {
  418. "value": "hostPath",
  419. "description": "Host Path (Path that already exists on the system)"
  420. },
  421. {
  422. "value": "ixVolume",
  423. "description": "ixVolume (Dataset created automatically by the system)"
  424. },
  425. {
  426. "value": "smb-pv-pvc",
  427. "description": "SMB Share (Mounts a persistent volume claim to a SMB share)"
  428. }
  429. ]
  430. }
  431. },
  432. {
  433. "variable": "readOnly",
  434. "label": "Read Only",
  435. "description": "Mount the volume as read only.",
  436. "schema": {
  437. "type": "boolean",
  438. "default": false
  439. }
  440. },
  441. {
  442. "variable": "mountPath",
  443. "label": "Mount Path",
  444. "description": "The path inside the container to mount the storage.",
  445. "schema": {
  446. "type": "path",
  447. "required": true
  448. }
  449. },
  450. {
  451. "variable": "hostPathConfig",
  452. "label": "Host Path Configuration",
  453. "schema": {
  454. "type": "dict",
  455. "show_if": [
  456. [
  457. "type",
  458. "=",
  459. "hostPath"
  460. ]
  461. ],
  462. "attrs": [
  463. {
  464. "variable": "aclEnable",
  465. "label": "Enable ACL",
  466. "description": "Enable ACL for the dataset.",
  467. "schema": {
  468. "type": "boolean",
  469. "default": false
  470. }
  471. },
  472. {
  473. "variable": "acl",
  474. "label": "ACL Configuration",
  475. "schema": {
  476. "type": "dict",
  477. "show_if": [
  478. [
  479. "aclEnable",
  480. "=",
  481. true
  482. ]
  483. ],
  484. "attrs": [
  485. {
  486. "variable": "path",
  487. "label": "Host Path",
  488. "description": "Host Path to perform ACL",
  489. "schema": {
  490. "type": "hostpath",
  491. "required": true,
  492. "empty": false
  493. }
  494. },
  495. {
  496. "variable": "entries",
  497. "label": "ACL Entries",
  498. "description": "ACL Entries",
  499. "schema": {
  500. "type": "list",
  501. "items": [
  502. {
  503. "variable": "aclEntry",
  504. "label": "ACL Entry",
  505. "schema": {
  506. "type": "dict",
  507. "attrs": [
  508. {
  509. "variable": "id_type",
  510. "label": "ID Type",
  511. "schema": {
  512. "type": "string",
  513. "enum": [
  514. {
  515. "value": "USER",
  516. "description": "Entry is for a USER"
  517. },
  518. {
  519. "value": "GROUP",
  520. "description": "Entry is for a GROUP"
  521. }
  522. ],
  523. "default": "USER"
  524. }
  525. },
  526. {
  527. "variable": "id",
  528. "label": "ID",
  529. "description": "Make sure to check the ID value is correct and aligns with RunAs user context of the application",
  530. "schema": {
  531. "type": "int",
  532. "required": true,
  533. "min": 0
  534. }
  535. },
  536. {
  537. "variable": "access",
  538. "label": "Access",
  539. "schema": {
  540. "type": "string",
  541. "enum": [
  542. {
  543. "value": "READ",
  544. "description": "Read Access"
  545. },
  546. {
  547. "value": "MODIFY",
  548. "description": "Modify Access"
  549. },
  550. {
  551. "value": "FULL_CONTROL",
  552. "description": "FULL_CONTROL Access"
  553. }
  554. ]
  555. }
  556. }
  557. ]
  558. }
  559. }
  560. ]
  561. }
  562. },
  563. {
  564. "variable": "options",
  565. "label": "ACL Options",
  566. "schema": {
  567. "type": "dict",
  568. "attrs": [
  569. {
  570. "variable": "force",
  571. "label": "Force Flag",
  572. "description": "Enabling `Force` applies ACL even if the path has existing data",
  573. "schema": {
  574. "type": "boolean",
  575. "default": false
  576. }
  577. }
  578. ]
  579. }
  580. }
  581. ],
  582. "$ref": [
  583. "normalize/acl"
  584. ]
  585. }
  586. },
  587. {
  588. "variable": "hostPath",
  589. "label": "Host Path",
  590. "description": "The host path to use for storage.",
  591. "schema": {
  592. "type": "hostpath",
  593. "show_if": [
  594. [
  595. "aclEnable",
  596. "=",
  597. false
  598. ]
  599. ],
  600. "required": true
  601. }
  602. }
  603. ]
  604. }
  605. },
  606. {
  607. "variable": "ixVolumeConfig",
  608. "label": "ixVolume Configuration",
  609. "description": "The configuration for the ixVolume dataset.",
  610. "schema": {
  611. "type": "dict",
  612. "show_if": [
  613. [
  614. "type",
  615. "=",
  616. "ixVolume"
  617. ]
  618. ],
  619. "$ref": [
  620. "normalize/ixVolume"
  621. ],
  622. "attrs": [
  623. {
  624. "variable": "aclEnable",
  625. "label": "Enable ACL",
  626. "description": "Enable ACL for the dataset.",
  627. "schema": {
  628. "type": "boolean",
  629. "default": false
  630. }
  631. },
  632. {
  633. "variable": "datasetName",
  634. "label": "Dataset Name",
  635. "description": "The name of the dataset to use for storage.",
  636. "schema": {
  637. "type": "string",
  638. "required": true,
  639. "immutable": true,
  640. "default": "storage_entry"
  641. }
  642. },
  643. {
  644. "variable": "aclEntries",
  645. "label": "ACL Configuration",
  646. "schema": {
  647. "type": "dict",
  648. "show_if": [
  649. [
  650. "aclEnable",
  651. "=",
  652. true
  653. ]
  654. ],
  655. "attrs": [
  656. {
  657. "variable": "path",
  658. "label": "Path",
  659. "description": "Path to perform ACL",
  660. "schema": {
  661. "type": "string",
  662. "hidden": true
  663. }
  664. },
  665. {
  666. "variable": "entries",
  667. "label": "ACL Entries",
  668. "description": "ACL Entries",
  669. "schema": {
  670. "type": "list",
  671. "items": [
  672. {
  673. "variable": "aclEntry",
  674. "label": "ACL Entry",
  675. "schema": {
  676. "type": "dict",
  677. "attrs": [
  678. {
  679. "variable": "id_type",
  680. "label": "ID Type",
  681. "schema": {
  682. "type": "string",
  683. "enum": [
  684. {
  685. "value": "USER",
  686. "description": "Entry is for a USER"
  687. },
  688. {
  689. "value": "GROUP",
  690. "description": "Entry is for a GROUP"
  691. }
  692. ],
  693. "default": "USER"
  694. }
  695. },
  696. {
  697. "variable": "id",
  698. "label": "ID",
  699. "description": "Make sure to check the ID value is correct and aligns with RunAs user context of the application",
  700. "schema": {
  701. "type": "int",
  702. "required": true,
  703. "min": 0
  704. }
  705. },
  706. {
  707. "variable": "access",
  708. "label": "Access",
  709. "schema": {
  710. "type": "string",
  711. "enum": [
  712. {
  713. "value": "READ",
  714. "description": "Read Access"
  715. },
  716. {
  717. "value": "MODIFY",
  718. "description": "Modify Access"
  719. },
  720. {
  721. "value": "FULL_CONTROL",
  722. "description": "FULL_CONTROL Access"
  723. }
  724. ]
  725. }
  726. }
  727. ]
  728. }
  729. }
  730. ]
  731. }
  732. }
  733. ]
  734. }
  735. }
  736. ]
  737. }
  738. },
  739. {
  740. "variable": "smbConfig",
  741. "label": "SMB Share Configuration",
  742. "description": "The configuration for the SMB Share.",
  743. "schema": {
  744. "type": "dict",
  745. "show_if": [
  746. [
  747. "type",
  748. "=",
  749. "smb-pv-pvc"
  750. ]
  751. ],
  752. "attrs": [
  753. {
  754. "variable": "server",
  755. "label": "Server",
  756. "description": "The server for the SMB share.",
  757. "schema": {
  758. "type": "string",
  759. "required": true
  760. }
  761. },
  762. {
  763. "variable": "share",
  764. "label": "Share",
  765. "description": "The share name for the SMB share.",
  766. "schema": {
  767. "type": "string",
  768. "required": true
  769. }
  770. },
  771. {
  772. "variable": "domain",
  773. "label": "Domain (Optional)",
  774. "description": "The domain for the SMB share.",
  775. "schema": {
  776. "type": "string"
  777. }
  778. },
  779. {
  780. "variable": "username",
  781. "label": "Username",
  782. "description": "The username for the SMB share.",
  783. "schema": {
  784. "type": "string",
  785. "required": true
  786. }
  787. },
  788. {
  789. "variable": "password",
  790. "label": "Password",
  791. "description": "The password for the SMB share.",
  792. "schema": {
  793. "type": "string",
  794. "required": true,
  795. "private": true
  796. }
  797. },
  798. {
  799. "variable": "size",
  800. "label": "Size (in Gi)",
  801. "description": "The size of the volume quota.",
  802. "schema": {
  803. "type": "int",
  804. "required": true,
  805. "min": 1,
  806. "default": 1
  807. }
  808. }
  809. ]
  810. }
  811. }
  812. ]
  813. }
  814. }
  815. ]
  816. }
  817. }
  818. ]
  819. }
  820. },
  821. {
  822. "variable": "resources",
  823. "group": "Resources Configuration",
  824. "label": "",
  825. "schema": {
  826. "type": "dict",
  827. "attrs": [
  828. {
  829. "variable": "limits",
  830. "label": "Limits",
  831. "schema": {
  832. "type": "dict",
  833. "attrs": [
  834. {
  835. "variable": "cpu",
  836. "label": "CPU",
  837. "description": "CPU limit for WG-Easy.",
  838. "schema": {
  839. "type": "string",
  840. "max_length": 6,
  841. "valid_chars": "^(0\\.[1-9]|[1-9][0-9]*)(\\.[0-9]|m?)$",
  842. "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",
  843. "default": "4000m",
  844. "required": true
  845. }
  846. },
  847. {
  848. "variable": "memory",
  849. "label": "Memory",
  850. "description": "Memory limit for WG-Easy.",
  851. "schema": {
  852. "type": "string",
  853. "max_length": 12,
  854. "valid_chars": "^[1-9][0-9]*([EPTGMK]i?|e[0-9]+)?$",
  855. "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",
  856. "default": "8Gi",
  857. "required": true
  858. }
  859. }
  860. ]
  861. }
  862. }
  863. ]
  864. }
  865. }
  866. ]
  867. },
  868. "app_readme": "<h1>Collabora</h1>\n<p><a href=\"https://www.collaboraoffice.com/\">Collabora</a> is a collaborative online office suite based on LibreOffice technology</p>",
  869. "detailed_readme": "<h1>Collabora</h1>\n<p><a href=\"https://www.collaboraoffice.com/\">Collabora</a> is a collaborative online office suite based on LibreOffice technology</p>",
  870. "changelog": null
  871. },
  872. "1.2.30": {
  873. "healthy": true,
  874. "supported": true,
  875. "healthy_error": null,
  876. "location": "/__w/charts/charts/charts/collabora/1.2.30",
  877. "last_update": "2025-03-05 14:27:33",
  878. "required_features": [
  879. "definitions/nodeIP",
  880. "definitions/certificate",
  881. "definitions/timezone"
  882. ],
  883. "human_version": "23.05.8.2.1_1.2.30",
  884. "version": "1.2.30",
  885. "chart_metadata": {
  886. "name": "collabora",
  887. "description": "Collabora Online Development Edition \\u2013 an awesome, Online Office\nsuite image suitable for home use.\n",
  888. "annotations": {
  889. "title": "Collabora"
  890. },
  891. "type": "application",
  892. "version": "1.2.30",
  893. "apiVersion": "v2",
  894. "appVersion": "23.05.8.2.1",
  895. "kubeVersion": ">=1.16.0-0",
  896. "maintainers": [
  897. {
  898. "name": "truenas",
  899. "url": "https://www.truenas.com/",
  900. "email": "dev@ixsystems.com"
  901. }
  902. ],
  903. "dependencies": [
  904. {
  905. "name": "common",
  906. "repository": "file://../../../common/2304.0.1",
  907. "version": "2304.0.1"
  908. }
  909. ],
  910. "home": "https://github.com/CollaboraOnline/online",
  911. "icon": "https://media.sys.truenas.net/apps/collabora/icons/icon.png",
  912. "sources": [
  913. "https://github.com/CollaboraOnline/online.git",
  914. "https://hub.docker.com/r/collabora/code"
  915. ],
  916. "keywords": [
  917. "office",
  918. "documents",
  919. "productivity"
  920. ]
  921. },
  922. "app_metadata": {
  923. "runAsContext": [
  924. {
  925. "userName": "cool",
  926. "groupName": "cool",
  927. "gid": 104,
  928. "uid": 106,
  929. "description": "Collabora runs as non-root user."
  930. },
  931. {
  932. "userName": "root",
  933. "groupName": "root",
  934. "gid": 0,
  935. "uid": 0,
  936. "description": "Nginx runs as root user."
  937. }
  938. ],
  939. "capabilities": [
  940. {
  941. "name": "CHOWN",
  942. "description": "Collabora and Nginx are able to chown files."
  943. },
  944. {
  945. "name": "FOWNER",
  946. "description": "Collabora and Nginx are able to bypass permission checks for it's sub-processes."
  947. },
  948. {
  949. "name": "SYS_CHROOT",
  950. "description": "Collabora and Nginx are able to use chroot."
  951. },
  952. {
  953. "name": "MKNOD",
  954. "description": "Collabora and Nginx are able to create device nodes."
  955. },
  956. {
  957. "name": "DAC_OVERRIDE",
  958. "description": "Nginx is able to bypass permission checks."
  959. },
  960. {
  961. "name": "SETGID",
  962. "description": "Nginx is able to set group ID for it's sub-processes."
  963. },
  964. {
  965. "name": "SETUID",
  966. "description": "Nginx is able to set user ID for it's sub-processes."
  967. },
  968. {
  969. "name": "FSETID",
  970. "description": "Nginx is able to set file capabilities."
  971. },
  972. {
  973. "name": "KILL",
  974. "description": "Nginx is able to kill processes."
  975. },
  976. {
  977. "name": "SETPCAP",
  978. "description": "Nginx is able to set process capabilities."
  979. },
  980. {
  981. "name": "NET_BIND_SERVICE",
  982. "description": "Nginx is able to bind to privileged ports."
  983. },
  984. {
  985. "name": "NET_RAW",
  986. "description": "Nginx is able to use raw sockets."
  987. },
  988. {
  989. "name": "AUDIT_WRITE",
  990. "description": "Nginx is able to write to audit log."
  991. }
  992. ],
  993. "hostMounts": []
  994. },
  995. "schema": {
  996. "groups": [
  997. {
  998. "name": "Collabora Configuration",
  999. "description": "Configure Collabora"
  1000. },
  1001. {
  1002. "name": "Collabora Environment Variables",
  1003. "description": "Set the environment that will be visible to the container"
  1004. },
  1005. {
  1006. "name": "Networking",
  1007. "description": "Configure Networking for Collabora"
  1008. },
  1009. {
  1010. "name": "Storage",
  1011. "description": "Configure Storage for Collabora"
  1012. },
  1013. {
  1014. "name": "Resource Limits",
  1015. "description": "Set CPU/memory limits for Kubernetes Pod"
  1016. }
  1017. ],
  1018. "portals": {
  1019. "web_portal": {
  1020. "protocols": [
  1021. "https"
  1022. ],
  1023. "host": [
  1024. "$variable-config.server_name"
  1025. ],
  1026. "ports": [
  1027. "$variable-nodePort"
  1028. ],
  1029. "path": "/browser/dist/admin/admin.html"
  1030. }
  1031. },
  1032. "questions": [
  1033. {
  1034. "variable": "config",
  1035. "label": "Container Configuration",
  1036. "group": "Collabora Configuration",
  1037. "schema": {
  1038. "type": "dict",
  1039. "attrs": [
  1040. {
  1041. "variable": "timezone",
  1042. "label": "Timezone",
  1043. "group": "Collabora Configuration",
  1044. "schema": {
  1045. "type": "string",
  1046. "$ref": [
  1047. "definitions/timezone"
  1048. ],
  1049. "enum": [
  1050. {
  1051. "value": "Asia/Damascus",
  1052. "description": "'Asia/Damascus' timezone"
  1053. },
  1054. {
  1055. "value": "Asia/Saigon",
  1056. "description": "'Asia/Saigon' timezone"
  1057. }
  1058. ],
  1059. "default": "America/Los_Angeles"
  1060. }
  1061. },
  1062. {
  1063. "variable": "enableWebUI",
  1064. "label": "Enable WebUI",
  1065. "description": "Enable WebUI for Collabora\nIf you enable this, you will need to set a username and password</br>\n",
  1066. "schema": {
  1067. "type": "boolean",
  1068. "default": true
  1069. }
  1070. },
  1071. {
  1072. "variable": "username",
  1073. "label": "Username for WebUI",
  1074. "show_if": [
  1075. [
  1076. "enableWebUI",
  1077. "=",
  1078. true
  1079. ]
  1080. ],
  1081. "schema": {
  1082. "type": "string",
  1083. "default": "admin",
  1084. "required": true
  1085. }
  1086. },
  1087. {
  1088. "variable": "password",
  1089. "label": "Password for WebUI",
  1090. "schema": {
  1091. "type": "string",
  1092. "private": true,
  1093. "default": "changeme",
  1094. "show_if": [
  1095. [
  1096. "enableWebUI",
  1097. "=",
  1098. true
  1099. ]
  1100. ],
  1101. "valid_chars": "[a-zA-Z0-9!@#%^&*?]{8,}",
  1102. "valid_chars_error": "Password must be at least 8 characters long</br>\nCan contain at numbers, letters, and the following characters: !@#%^&*?\n",
  1103. "required": true
  1104. }
  1105. },
  1106. {
  1107. "variable": "aliasgroup1",
  1108. "label": "Alias Group 1",
  1109. "description": "List of domains that will be allowed to access the Collabora server\nType one domain per line\n",
  1110. "schema": {
  1111. "type": "list",
  1112. "items": [
  1113. {
  1114. "variable": "alias",
  1115. "label": "Alias",
  1116. "schema": {
  1117. "type": "string"
  1118. }
  1119. }
  1120. ]
  1121. }
  1122. },
  1123. {
  1124. "variable": "dictionaries",
  1125. "label": "Dictionaries to use, leave empty to use all",
  1126. "schema": {
  1127. "type": "string",
  1128. "default": "de_DE en_GB en_US es_ES fr_FR it nl pt_BR pt_PT ru"
  1129. }
  1130. },
  1131. {
  1132. "variable": "extra_params",
  1133. "label": "Extra Parameters to add",
  1134. "description": "e.g. \"--o:welcome.enable=false\", See more on /etc/loolwsd/loowsd.xml. Separate params with space",
  1135. "schema": {
  1136. "type": "string",
  1137. "default": "--o:welcome.enable=false --o:user_interface.mode=notebookbar --o:ssl.termination=true --o:ssl.enable=false --o:net.proto=IPv4"
  1138. }
  1139. },
  1140. {
  1141. "variable": "server_name",
  1142. "label": "Server Name",
  1143. "description": "When this environment variable is set (is not \u201c\u201d), then its value will be used as server name in /etc/loolwsd/loolwsd.xml.\nWithout this, CODE is not delivering a correct host for the websocket connection in case of a proxy in front of it.</br>\nIf a port is not specified, the below configured Node Port will be used.\n",
  1144. "schema": {
  1145. "type": "string",
  1146. "$ref": [
  1147. "definitions/nodeIP"
  1148. ],
  1149. "default": "192.168.0.10"
  1150. }
  1151. }
  1152. ]
  1153. }
  1154. },
  1155. {
  1156. "variable": "certificate",
  1157. "description": "Collabora Certificate</br>\nIf you do not choose a certificate and do not configure an external reverse proxy</br>\nyou might have to adjust the extra_params.\n",
  1158. "label": "Certificate",
  1159. "group": "Collabora Configuration",
  1160. "schema": {
  1161. "type": "int",
  1162. "$ref": [
  1163. "definitions/certificate"
  1164. ],
  1165. "null": true,
  1166. "enum": [
  1167. {
  1168. "value": null,
  1169. "description": "No Certificate"
  1170. }
  1171. ],
  1172. "default": null
  1173. }
  1174. },
  1175. {
  1176. "variable": "extraAppVolumeMounts",
  1177. "label": "Collabora Extra Host Path Volumes",
  1178. "group": "Storage",
  1179. "schema": {
  1180. "type": "list",
  1181. "items": [
  1182. {
  1183. "variable": "extraAppVolume",
  1184. "label": "Collabora Host Path Volume",
  1185. "description": "Add an extra host path volume for Collabora application",
  1186. "schema": {
  1187. "type": "dict",
  1188. "attrs": [
  1189. {
  1190. "variable": "mountPath",
  1191. "label": "Mount Path in Pod",
  1192. "description": "Path where the volume will be mounted inside the pod",
  1193. "schema": {
  1194. "type": "path",
  1195. "required": true
  1196. }
  1197. },
  1198. {
  1199. "variable": "hostPath",
  1200. "label": "Host Path",
  1201. "description": "Host path",
  1202. "schema": {
  1203. "type": "hostpath",
  1204. "required": true
  1205. }
  1206. }
  1207. ]
  1208. }
  1209. }
  1210. ]
  1211. }
  1212. },
  1213. {
  1214. "variable": "environmentVariables",
  1215. "label": "Environment Variables",
  1216. "group": "Collabora Environment Variables",
  1217. "schema": {
  1218. "type": "list",
  1219. "default": [],
  1220. "items": [
  1221. {
  1222. "variable": "environmentVariable",
  1223. "label": "Environment Variable",
  1224. "schema": {
  1225. "type": "dict",
  1226. "attrs": [
  1227. {
  1228. "variable": "name",
  1229. "label": "Name",
  1230. "schema": {
  1231. "type": "string"
  1232. }
  1233. },
  1234. {
  1235. "variable": "value",
  1236. "label": "Value",
  1237. "schema": {
  1238. "type": "string"
  1239. }
  1240. }
  1241. ]
  1242. }
  1243. }
  1244. ]
  1245. }
  1246. },
  1247. {
  1248. "variable": "nodePort",
  1249. "label": "Node Port to use for Collabora",
  1250. "group": "Networking",
  1251. "schema": {
  1252. "type": "int",
  1253. "default": 9980,
  1254. "min": 9000,
  1255. "max": 65535
  1256. }
  1257. },
  1258. {
  1259. "variable": "enableResourceLimits",
  1260. "label": "Enable Pod resource limits",
  1261. "group": "Resource Limits",
  1262. "schema": {
  1263. "type": "boolean",
  1264. "default": false
  1265. }
  1266. },
  1267. {
  1268. "variable": "cpuLimit",
  1269. "label": "CPU Limit",
  1270. "description": "CPU resource limit allow plain integer values with suffix m(milli) e.g 1000m, 100.",
  1271. "group": "Resource Limits",
  1272. "schema": {
  1273. "type": "string",
  1274. "show_if": [
  1275. [
  1276. "enableResourceLimits",
  1277. "=",
  1278. true
  1279. ]
  1280. ],
  1281. "valid_chars": "^\\d+(?:\\.\\d+(?!.*m$)|m?$)",
  1282. "default": "4000m"
  1283. }
  1284. },
  1285. {
  1286. "variable": "memLimit",
  1287. "label": "Memory Limit",
  1288. "group": "Resource Limits",
  1289. "description": "Memory limits is specified by number of bytes. Followed by quantity suffix like E,P,T,G,M,k and Ei,Pi,Ti,Mi,Gi,Ki can also be used. e.g 129e6, 129M, 128974848000m, 123Mi",
  1290. "schema": {
  1291. "type": "string",
  1292. "show_if": [
  1293. [
  1294. "enableResourceLimits",
  1295. "=",
  1296. true
  1297. ]
  1298. ],
  1299. "valid_chars": "^([+-]?[0-9.]+)([eEinumkKMGTP]*[-+]?[0-9]*)$",
  1300. "default": "8Gi"
  1301. }
  1302. }
  1303. ]
  1304. },
  1305. "app_readme": "<h1>Collabora Online Development Edition</h1>\n<p>An awesome, Online Office suite image suitable for home use.\nWith the Collabora Online Development Edition (CODE) Docker Image you can host\nyour own online Office Suite at home! This Docker image is aimed at home users\nand contains the latest and greatest developments. Simply integrate it in your\npreferred File Sync and Share (FSS), to easily get your own online Office \nSuite up and running!</p>",
  1306. "detailed_readme": "<h1>Collabora Online Development Edition</h1>\n<p>Collabora Online Development Edition - An awesome, Online Office suite image suitable for home use!\nIntroduction</p>\n<hr />\n<p>This chart bootstraps Collabora deployment on a <a href=\"http://kubernetes.io\">Kubernetes</a> cluster using the <a href=\"https://helm.sh\">Helm</a> package manager.</p>",
  1307. "changelog": null
  1308. }
  1309. }