app_versions.json 48 KB

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