app_versions.json 35 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652
  1. {
  2. "1.2.6": {
  3. "healthy": true,
  4. "supported": true,
  5. "healthy_error": null,
  6. "location": "/__w/apps/apps/trains/community/webdav/1.2.6",
  7. "last_update": "2025-09-02 11:33:24",
  8. "required_features": [],
  9. "human_version": "2.4.65_1.2.6",
  10. "version": "1.2.6",
  11. "app_metadata": {
  12. "annotations": {
  13. "min_scale_version": "24.10.2.2"
  14. },
  15. "app_version": "2.4.65",
  16. "capabilities": [],
  17. "categories": [
  18. "storage"
  19. ],
  20. "date_added": "2024-08-27",
  21. "description": "WebDAV is a set of extensions to the HTTP protocol which allows users to collaboratively edit and manage files on remote web servers.",
  22. "home": "http://www.webdav.org/",
  23. "host_mounts": [],
  24. "icon": "https://media.sys.truenas.net/apps/webdav/icons/icon.png",
  25. "keywords": [
  26. "webdav",
  27. "file-sharing"
  28. ],
  29. "lib_version": "2.1.49",
  30. "lib_version_hash": "e71e6b0122c9446fa5ea6fb07e7eb01b11fb42d549a19845426bbd7e21a42634",
  31. "maintainers": [
  32. {
  33. "email": "dev@ixsystems.com",
  34. "name": "truenas",
  35. "url": "https://www.truenas.com/"
  36. }
  37. ],
  38. "name": "webdav",
  39. "run_as_context": [
  40. {
  41. "description": "WebDAV runs as any non-root user.",
  42. "gid": 568,
  43. "group_name": "webdav",
  44. "uid": 568,
  45. "user_name": "webdav"
  46. }
  47. ],
  48. "screenshots": [],
  49. "sources": [
  50. "http://www.webdav.org/"
  51. ],
  52. "title": "WebDAV",
  53. "train": "community",
  54. "version": "1.2.6"
  55. },
  56. "schema": {
  57. "groups": [
  58. {
  59. "name": "WebDAV Configuration",
  60. "description": "Configure WebDAV"
  61. },
  62. {
  63. "name": "User and Group Configuration",
  64. "description": "Configure User and Group for WebDAV"
  65. },
  66. {
  67. "name": "Network Configuration",
  68. "description": "Configure Network for WebDAV"
  69. },
  70. {
  71. "name": "Storage Configuration",
  72. "description": "Configure Storage for WebDAV"
  73. },
  74. {
  75. "name": "Labels Configuration",
  76. "description": "Configure Labels for WebDAV"
  77. },
  78. {
  79. "name": "Resources Configuration",
  80. "description": "Configure Resources for WebDAV"
  81. }
  82. ],
  83. "questions": [
  84. {
  85. "variable": "webdav",
  86. "label": "",
  87. "group": "WebDAV Configuration",
  88. "schema": {
  89. "type": "dict",
  90. "attrs": [
  91. {
  92. "variable": "auth_type",
  93. "label": "Authentication Type",
  94. "description": "The type of authentication to use for WebDAV.",
  95. "schema": {
  96. "type": "string",
  97. "default": "none",
  98. "required": true,
  99. "enum": [
  100. {
  101. "value": "none",
  102. "description": "No authentication"
  103. },
  104. {
  105. "value": "basic",
  106. "description": "Basic authentication"
  107. }
  108. ]
  109. }
  110. },
  111. {
  112. "variable": "username",
  113. "label": "Username",
  114. "description": "The username to use for WebDAV.",
  115. "schema": {
  116. "type": "string",
  117. "default": "",
  118. "show_if": [
  119. [
  120. "auth_type",
  121. "=",
  122. "basic"
  123. ]
  124. ],
  125. "required": true
  126. }
  127. },
  128. {
  129. "variable": "password",
  130. "label": "Password",
  131. "description": "The password to use for WebDAV.",
  132. "schema": {
  133. "type": "string",
  134. "default": "",
  135. "show_if": [
  136. [
  137. "auth_type",
  138. "=",
  139. "basic"
  140. ]
  141. ],
  142. "private": true,
  143. "required": true
  144. }
  145. },
  146. {
  147. "variable": "additional_browser_matches",
  148. "label": "Additional Browser Matches",
  149. "description": "Additional browser matches for WebDAV.</br>\nThis is useful if you want to use WebDAV with a browser\nthat is not supported by the default configuration.</br>\nExample: \"^some-regex\" </br>\nThis will create the following line in the configuration file:</br>\nBrowserMatch \"^some-regex\" redirect-carefully\n",
  150. "schema": {
  151. "type": "list",
  152. "default": [],
  153. "items": [
  154. {
  155. "variable": "match",
  156. "label": "Match",
  157. "schema": {
  158. "type": "string",
  159. "required": true
  160. }
  161. }
  162. ]
  163. }
  164. },
  165. {
  166. "variable": "additional_envs",
  167. "label": "Additional Environment Variables",
  168. "schema": {
  169. "type": "list",
  170. "default": [],
  171. "items": [
  172. {
  173. "variable": "env",
  174. "label": "Environment Variable",
  175. "schema": {
  176. "type": "dict",
  177. "attrs": [
  178. {
  179. "variable": "name",
  180. "label": "Name",
  181. "schema": {
  182. "type": "string",
  183. "required": true
  184. }
  185. },
  186. {
  187. "variable": "value",
  188. "label": "Value",
  189. "schema": {
  190. "type": "string"
  191. }
  192. }
  193. ]
  194. }
  195. }
  196. ]
  197. }
  198. }
  199. ]
  200. }
  201. },
  202. {
  203. "variable": "run_as",
  204. "label": "",
  205. "group": "User and Group Configuration",
  206. "schema": {
  207. "type": "dict",
  208. "attrs": [
  209. {
  210. "variable": "user",
  211. "label": "User ID",
  212. "description": "The user id that WebDAV files will be owned by.",
  213. "schema": {
  214. "type": "int",
  215. "min": 2,
  216. "default": 666,
  217. "required": true
  218. }
  219. },
  220. {
  221. "variable": "group",
  222. "label": "Group ID",
  223. "description": "The group id that WebDAV files will be owned by.",
  224. "schema": {
  225. "type": "int",
  226. "min": 2,
  227. "default": 666,
  228. "required": true
  229. }
  230. }
  231. ]
  232. }
  233. },
  234. {
  235. "variable": "network",
  236. "label": "",
  237. "group": "Network Configuration",
  238. "schema": {
  239. "type": "dict",
  240. "attrs": [
  241. {
  242. "variable": "http_port",
  243. "label": "HTTP Port",
  244. "schema": {
  245. "type": "dict",
  246. "attrs": [
  247. {
  248. "variable": "bind_mode",
  249. "label": "Port Bind Mode",
  250. "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",
  251. "schema": {
  252. "type": "string",
  253. "default": "published",
  254. "enum": [
  255. {
  256. "value": "published",
  257. "description": "Publish port on the host for external access"
  258. },
  259. {
  260. "value": "exposed",
  261. "description": "Expose port for inter-container communication"
  262. },
  263. {
  264. "value": "",
  265. "description": "None"
  266. }
  267. ]
  268. }
  269. },
  270. {
  271. "variable": "port_number",
  272. "label": "Port Number",
  273. "schema": {
  274. "type": "int",
  275. "default": 30035,
  276. "min": 1,
  277. "max": 65535,
  278. "required": true
  279. }
  280. },
  281. {
  282. "variable": "host_ips",
  283. "label": "Host IPs",
  284. "description": "IPs on the host to bind this port",
  285. "schema": {
  286. "type": "list",
  287. "show_if": [
  288. [
  289. "bind_mode",
  290. "=",
  291. "published"
  292. ]
  293. ],
  294. "default": [],
  295. "items": [
  296. {
  297. "variable": "host_ip",
  298. "label": "Host IP",
  299. "schema": {
  300. "type": "string",
  301. "required": true,
  302. "$ref": [
  303. "definitions/node_bind_ip"
  304. ]
  305. }
  306. }
  307. ]
  308. }
  309. }
  310. ]
  311. }
  312. },
  313. {
  314. "variable": "https_port",
  315. "label": "HTTPS Port",
  316. "schema": {
  317. "type": "dict",
  318. "attrs": [
  319. {
  320. "variable": "bind_mode",
  321. "label": "Port Bind Mode",
  322. "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",
  323. "schema": {
  324. "type": "string",
  325. "default": "",
  326. "enum": [
  327. {
  328. "value": "published",
  329. "description": "Publish port on the host for external access"
  330. },
  331. {
  332. "value": "exposed",
  333. "description": "Expose port for inter-container communication"
  334. },
  335. {
  336. "value": "",
  337. "description": "None"
  338. }
  339. ]
  340. }
  341. },
  342. {
  343. "variable": "port_number",
  344. "label": "Port Number",
  345. "schema": {
  346. "type": "int",
  347. "default": 30036,
  348. "min": 1,
  349. "max": 65535,
  350. "required": true
  351. }
  352. },
  353. {
  354. "variable": "host_ips",
  355. "label": "Host IPs",
  356. "description": "IPs on the host to bind this port",
  357. "schema": {
  358. "type": "list",
  359. "show_if": [
  360. [
  361. "bind_mode",
  362. "=",
  363. "published"
  364. ]
  365. ],
  366. "default": [],
  367. "items": [
  368. {
  369. "variable": "host_ip",
  370. "label": "Host IP",
  371. "schema": {
  372. "type": "string",
  373. "required": true,
  374. "$ref": [
  375. "definitions/node_bind_ip"
  376. ]
  377. }
  378. }
  379. ]
  380. }
  381. }
  382. ]
  383. }
  384. },
  385. {
  386. "variable": "certificate_id",
  387. "label": "Certificate",
  388. "description": "The certificate to use for WebDAV.",
  389. "schema": {
  390. "type": "int",
  391. "null": true,
  392. "$ref": [
  393. "definitions/certificate"
  394. ]
  395. }
  396. },
  397. {
  398. "variable": "host_network",
  399. "label": "Host Network",
  400. "description": "Bind to the host network. It's recommended to keep this disabled.\n",
  401. "schema": {
  402. "type": "boolean",
  403. "default": false
  404. }
  405. }
  406. ]
  407. }
  408. },
  409. {
  410. "variable": "storage",
  411. "label": "",
  412. "group": "Storage Configuration",
  413. "schema": {
  414. "type": "dict",
  415. "attrs": [
  416. {
  417. "variable": "shares",
  418. "label": "Shares",
  419. "description": "The shares to use for WebDAV.",
  420. "schema": {
  421. "type": "list",
  422. "default": [],
  423. "items": [
  424. {
  425. "variable": "share_entry",
  426. "label": "Share Entry",
  427. "schema": {
  428. "type": "dict",
  429. "attrs": [
  430. {
  431. "variable": "enabled",
  432. "label": "Enable the share",
  433. "description": "Enable the share.",
  434. "schema": {
  435. "type": "boolean",
  436. "default": true
  437. }
  438. },
  439. {
  440. "variable": "name",
  441. "label": "Share Name",
  442. "description": "The name of the share.</br>\nAlso serves as the endpoint for the share.</br>\nExample: [share1] will be available at [http://<webdav-ip>:<webdav-port>/share1]\n",
  443. "schema": {
  444. "type": "string",
  445. "valid_chars": "^[a-zA-Z0-9_-]+$",
  446. "valid_chars_error": "Share name can only consist of [Letters(a-z, A-Z), Numbers(0-9), Underscores(_), Dashes(-)]",
  447. "required": true
  448. }
  449. },
  450. {
  451. "variable": "description",
  452. "label": "Description",
  453. "description": "Share description. Only used for documentation.",
  454. "schema": {
  455. "type": "string"
  456. }
  457. },
  458. {
  459. "variable": "host_path",
  460. "label": "Host Path",
  461. "description": "The host path to use for the share.",
  462. "schema": {
  463. "type": "hostpath",
  464. "required": true
  465. }
  466. },
  467. {
  468. "variable": "read_only",
  469. "label": "Read Only",
  470. "description": "Enable read only access to the share.</br>\nThis will disable write access to the share.</br>\nData will be mounted as read only.\n",
  471. "schema": {
  472. "type": "boolean",
  473. "default": false
  474. }
  475. },
  476. {
  477. "variable": "max_request_body_size_gb",
  478. "label": "Max Request Body Size (in GB)",
  479. "description": "The maximum size of the request body in GB.\nIf the request body size exceeds this value, the request will fail.\nValue of 0 means no limit.\n",
  480. "schema": {
  481. "type": "int",
  482. "default": 1
  483. }
  484. },
  485. {
  486. "variable": "fix_permissions",
  487. "label": "Fix Permissions",
  488. "description": "Enable permission fix for the share.</br>\nThis will fix the permissions of the share on startup.</br>\nThis will change the owner of the share to the user and group specified in [User and Group Configuration].</br>\nNote: This will still change permissions even if [Read Only] for the share is enabled.\n",
  489. "schema": {
  490. "type": "boolean",
  491. "default": false
  492. }
  493. }
  494. ]
  495. }
  496. }
  497. ]
  498. }
  499. }
  500. ]
  501. }
  502. },
  503. {
  504. "variable": "labels",
  505. "label": "",
  506. "group": "Labels Configuration",
  507. "schema": {
  508. "type": "list",
  509. "default": [],
  510. "items": [
  511. {
  512. "variable": "label",
  513. "label": "Label",
  514. "schema": {
  515. "type": "dict",
  516. "attrs": [
  517. {
  518. "variable": "key",
  519. "label": "Key",
  520. "schema": {
  521. "type": "string",
  522. "required": true
  523. }
  524. },
  525. {
  526. "variable": "value",
  527. "label": "Value",
  528. "schema": {
  529. "type": "string",
  530. "required": true
  531. }
  532. },
  533. {
  534. "variable": "containers",
  535. "label": "Containers",
  536. "description": "Containers where the label should be applied",
  537. "schema": {
  538. "type": "list",
  539. "items": [
  540. {
  541. "variable": "container",
  542. "label": "Container",
  543. "schema": {
  544. "type": "string",
  545. "required": true,
  546. "enum": [
  547. {
  548. "value": "webdav",
  549. "description": "webdav"
  550. }
  551. ]
  552. }
  553. }
  554. ]
  555. }
  556. }
  557. ]
  558. }
  559. }
  560. ]
  561. }
  562. },
  563. {
  564. "variable": "resources",
  565. "label": "",
  566. "group": "Resources Configuration",
  567. "schema": {
  568. "type": "dict",
  569. "attrs": [
  570. {
  571. "variable": "limits",
  572. "label": "Limits",
  573. "schema": {
  574. "type": "dict",
  575. "attrs": [
  576. {
  577. "variable": "cpus",
  578. "label": "CPUs",
  579. "description": "CPUs limit for WebDAV.",
  580. "schema": {
  581. "type": "int",
  582. "default": 2,
  583. "required": true
  584. }
  585. },
  586. {
  587. "variable": "memory",
  588. "label": "Memory (in MB)",
  589. "description": "Memory limit for WebDAV.",
  590. "schema": {
  591. "type": "int",
  592. "default": 4096,
  593. "required": true
  594. }
  595. }
  596. ]
  597. }
  598. }
  599. ]
  600. }
  601. }
  602. ]
  603. },
  604. "readme": "<h1>WebDAV</h1> <p><a href=\"http://webdav.org/\">WebDAV</a> is a set of extensions to the HTTP protocol which allows users to collaboratively edit and manage files on remote web servers.</p>",
  605. "changelog": null,
  606. "chart_metadata": {
  607. "annotations": {
  608. "min_scale_version": "24.10.2.2"
  609. },
  610. "app_version": "2.4.65",
  611. "capabilities": [],
  612. "categories": [
  613. "storage"
  614. ],
  615. "date_added": "2024-08-27",
  616. "description": "WebDAV is a set of extensions to the HTTP protocol which allows users to collaboratively edit and manage files on remote web servers.",
  617. "home": "http://www.webdav.org/",
  618. "host_mounts": [],
  619. "icon": "https://media.sys.truenas.net/apps/webdav/icons/icon.png",
  620. "keywords": [
  621. "webdav",
  622. "file-sharing"
  623. ],
  624. "lib_version": "2.1.49",
  625. "lib_version_hash": "e71e6b0122c9446fa5ea6fb07e7eb01b11fb42d549a19845426bbd7e21a42634",
  626. "maintainers": [
  627. {
  628. "email": "dev@ixsystems.com",
  629. "name": "truenas",
  630. "url": "https://www.truenas.com/"
  631. }
  632. ],
  633. "name": "webdav",
  634. "run_as_context": [
  635. {
  636. "description": "WebDAV runs as any non-root user.",
  637. "gid": 568,
  638. "group_name": "webdav",
  639. "uid": 568,
  640. "user_name": "webdav"
  641. }
  642. ],
  643. "screenshots": [],
  644. "sources": [
  645. "http://www.webdav.org/"
  646. ],
  647. "title": "WebDAV",
  648. "train": "community",
  649. "version": "1.2.6"
  650. }
  651. }
  652. }