app_versions.json 84 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396
  1. {
  2. "1.0.12": {
  3. "healthy": true,
  4. "supported": true,
  5. "healthy_error": null,
  6. "location": "/__w/apps/apps/trains/community/urbackup/1.0.12",
  7. "last_update": "2025-09-02 11:33:24",
  8. "required_features": [],
  9. "human_version": "2.5.x_1.0.12",
  10. "version": "1.0.12",
  11. "app_metadata": {
  12. "app_version": "2.5.x",
  13. "capabilities": [
  14. {
  15. "description": "Urbackup Server is able to change file ownership arbitrarily",
  16. "name": "CHOWN"
  17. },
  18. {
  19. "description": "Urbackup Server is able to bypass file permission checks",
  20. "name": "DAC_OVERRIDE"
  21. },
  22. {
  23. "description": "Urbackup Server is able to bypass permission checks for file operations",
  24. "name": "FOWNER"
  25. },
  26. {
  27. "description": "Urbackup Server is able to change group ID of processes",
  28. "name": "SETGID"
  29. },
  30. {
  31. "description": "Urbackup Server is able to change user ID of processes",
  32. "name": "SETUID"
  33. }
  34. ],
  35. "categories": [
  36. "backup"
  37. ],
  38. "date_added": "2025-01-28",
  39. "description": "UrBackup is an easy to setup Open Source client/server backup system, that through a combination of image and file backups accomplishes both data safety and a fast restoration time.",
  40. "home": "https://github.com/uroni/urbackup_backend",
  41. "host_mounts": [],
  42. "icon": "https://media.sys.truenas.net/apps/urbackup/icons/icon.png",
  43. "keywords": [
  44. "backup"
  45. ],
  46. "lib_version": "2.1.49",
  47. "lib_version_hash": "e71e6b0122c9446fa5ea6fb07e7eb01b11fb42d549a19845426bbd7e21a42634",
  48. "maintainers": [
  49. {
  50. "email": "dev@ixsystems.com",
  51. "name": "truenas",
  52. "url": "https://www.truenas.com/"
  53. }
  54. ],
  55. "name": "urbackup",
  56. "run_as_context": [
  57. {
  58. "description": "UrBackup runs as the root user.",
  59. "gid": 0,
  60. "group_name": "root",
  61. "uid": 0,
  62. "user_name": "root"
  63. }
  64. ],
  65. "screenshots": [],
  66. "sources": [
  67. "https://github.com/uroni/urbackup_backend",
  68. "https://hub.docker.com/r/uroni/urbackup-server"
  69. ],
  70. "title": "UrBackup",
  71. "train": "community",
  72. "version": "1.0.12"
  73. },
  74. "schema": {
  75. "groups": [
  76. {
  77. "name": "UrBackup Configuration",
  78. "description": "Configure UrBackup"
  79. },
  80. {
  81. "name": "User and Group Configuration",
  82. "description": "Configure User and Group for UrBackup"
  83. },
  84. {
  85. "name": "Network Configuration",
  86. "description": "Configure Network for UrBackup"
  87. },
  88. {
  89. "name": "Storage Configuration",
  90. "description": "Configure Storage for UrBackup"
  91. },
  92. {
  93. "name": "Labels Configuration",
  94. "description": "Configure Labels for UrBackup"
  95. },
  96. {
  97. "name": "Resources Configuration",
  98. "description": "Configure Resources for UrBackup"
  99. }
  100. ],
  101. "questions": [
  102. {
  103. "variable": "TZ",
  104. "group": "UrBackup Configuration",
  105. "label": "Timezone",
  106. "schema": {
  107. "type": "string",
  108. "default": "Etc/UTC",
  109. "required": true,
  110. "$ref": [
  111. "definitions/timezone"
  112. ]
  113. }
  114. },
  115. {
  116. "variable": "urbackup",
  117. "label": "",
  118. "group": "UrBackup Configuration",
  119. "schema": {
  120. "type": "dict",
  121. "attrs": [
  122. {
  123. "variable": "additional_envs",
  124. "label": "Additional Environment Variables",
  125. "schema": {
  126. "type": "list",
  127. "default": [],
  128. "items": [
  129. {
  130. "variable": "env",
  131. "label": "Environment Variable",
  132. "schema": {
  133. "type": "dict",
  134. "attrs": [
  135. {
  136. "variable": "name",
  137. "label": "Name",
  138. "schema": {
  139. "type": "string",
  140. "required": true
  141. }
  142. },
  143. {
  144. "variable": "value",
  145. "label": "Value",
  146. "schema": {
  147. "type": "string"
  148. }
  149. }
  150. ]
  151. }
  152. }
  153. ]
  154. }
  155. }
  156. ]
  157. }
  158. },
  159. {
  160. "variable": "run_as",
  161. "label": "",
  162. "group": "User and Group Configuration",
  163. "schema": {
  164. "type": "dict",
  165. "attrs": [
  166. {
  167. "variable": "user",
  168. "label": "User ID",
  169. "description": "The user id that UrBackup files will be owned by.",
  170. "schema": {
  171. "type": "int",
  172. "min": 0,
  173. "default": 0,
  174. "required": true
  175. }
  176. },
  177. {
  178. "variable": "group",
  179. "label": "Group ID",
  180. "description": "The group id that UrBackup files will be owned by.",
  181. "schema": {
  182. "type": "int",
  183. "min": 0,
  184. "default": 0,
  185. "required": true
  186. }
  187. }
  188. ]
  189. }
  190. },
  191. {
  192. "variable": "network",
  193. "label": "",
  194. "group": "Network Configuration",
  195. "schema": {
  196. "type": "dict",
  197. "attrs": [
  198. {
  199. "variable": "web_port",
  200. "label": "WebUI Port",
  201. "schema": {
  202. "type": "dict",
  203. "show_if": [
  204. [
  205. "host_network",
  206. "=",
  207. false
  208. ]
  209. ],
  210. "attrs": [
  211. {
  212. "variable": "bind_mode",
  213. "label": "Port Bind Mode",
  214. "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",
  215. "schema": {
  216. "type": "string",
  217. "default": "published",
  218. "enum": [
  219. {
  220. "value": "published",
  221. "description": "Publish port on the host for external access"
  222. },
  223. {
  224. "value": "exposed",
  225. "description": "Expose port for inter-container communication"
  226. },
  227. {
  228. "value": "",
  229. "description": "None"
  230. }
  231. ]
  232. }
  233. },
  234. {
  235. "variable": "port_number",
  236. "label": "Port Number",
  237. "schema": {
  238. "type": "int",
  239. "show_if": [
  240. [
  241. "bind_mode",
  242. "=",
  243. "published"
  244. ]
  245. ],
  246. "default": 55414,
  247. "min": 1,
  248. "max": 65535,
  249. "required": true
  250. }
  251. },
  252. {
  253. "variable": "host_ips",
  254. "label": "Host IPs",
  255. "description": "IPs on the host to bind this port",
  256. "schema": {
  257. "type": "list",
  258. "show_if": [
  259. [
  260. "bind_mode",
  261. "=",
  262. "published"
  263. ]
  264. ],
  265. "default": [],
  266. "items": [
  267. {
  268. "variable": "host_ip",
  269. "label": "Host IP",
  270. "schema": {
  271. "type": "string",
  272. "required": true,
  273. "$ref": [
  274. "definitions/node_bind_ip"
  275. ]
  276. }
  277. }
  278. ]
  279. }
  280. }
  281. ]
  282. }
  283. },
  284. {
  285. "variable": "backup_port_1",
  286. "label": "Backup Port 1",
  287. "schema": {
  288. "type": "dict",
  289. "show_if": [
  290. [
  291. "host_network",
  292. "=",
  293. false
  294. ]
  295. ],
  296. "attrs": [
  297. {
  298. "variable": "bind_mode",
  299. "label": "Port Bind Mode",
  300. "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",
  301. "schema": {
  302. "type": "string",
  303. "default": "published",
  304. "enum": [
  305. {
  306. "value": "published",
  307. "description": "Publish port on the host for external access"
  308. },
  309. {
  310. "value": "exposed",
  311. "description": "Expose port for inter-container communication"
  312. },
  313. {
  314. "value": "",
  315. "description": "None"
  316. }
  317. ]
  318. }
  319. },
  320. {
  321. "variable": "port_number",
  322. "label": "Port Number",
  323. "schema": {
  324. "type": "int",
  325. "show_if": [
  326. [
  327. "bind_mode",
  328. "=",
  329. "published"
  330. ]
  331. ],
  332. "default": 55413,
  333. "min": 1,
  334. "max": 65535,
  335. "required": true
  336. }
  337. },
  338. {
  339. "variable": "host_ips",
  340. "label": "Host IPs",
  341. "description": "IPs on the host to bind this port",
  342. "schema": {
  343. "type": "list",
  344. "show_if": [
  345. [
  346. "bind_mode",
  347. "=",
  348. "published"
  349. ]
  350. ],
  351. "default": [],
  352. "items": [
  353. {
  354. "variable": "host_ip",
  355. "label": "Host IP",
  356. "schema": {
  357. "type": "string",
  358. "required": true,
  359. "$ref": [
  360. "definitions/node_bind_ip"
  361. ]
  362. }
  363. }
  364. ]
  365. }
  366. }
  367. ]
  368. }
  369. },
  370. {
  371. "variable": "backup_port_2",
  372. "label": "Backup Port 2",
  373. "schema": {
  374. "type": "dict",
  375. "show_if": [
  376. [
  377. "host_network",
  378. "=",
  379. false
  380. ]
  381. ],
  382. "attrs": [
  383. {
  384. "variable": "bind_mode",
  385. "label": "Port Bind Mode",
  386. "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",
  387. "schema": {
  388. "type": "string",
  389. "default": "published",
  390. "enum": [
  391. {
  392. "value": "published",
  393. "description": "Publish port on the host for external access"
  394. },
  395. {
  396. "value": "exposed",
  397. "description": "Expose port for inter-container communication"
  398. },
  399. {
  400. "value": "",
  401. "description": "None"
  402. }
  403. ]
  404. }
  405. },
  406. {
  407. "variable": "port_number",
  408. "label": "Port Number",
  409. "schema": {
  410. "type": "int",
  411. "show_if": [
  412. [
  413. "bind_mode",
  414. "=",
  415. "published"
  416. ]
  417. ],
  418. "default": 55415,
  419. "min": 1,
  420. "max": 65535,
  421. "required": true
  422. }
  423. },
  424. {
  425. "variable": "host_ips",
  426. "label": "Host IPs",
  427. "description": "IPs on the host to bind this port",
  428. "schema": {
  429. "type": "list",
  430. "show_if": [
  431. [
  432. "bind_mode",
  433. "=",
  434. "published"
  435. ]
  436. ],
  437. "default": [],
  438. "items": [
  439. {
  440. "variable": "host_ip",
  441. "label": "Host IP",
  442. "schema": {
  443. "type": "string",
  444. "required": true,
  445. "$ref": [
  446. "definitions/node_bind_ip"
  447. ]
  448. }
  449. }
  450. ]
  451. }
  452. }
  453. ]
  454. }
  455. },
  456. {
  457. "variable": "backup_port_3",
  458. "label": "Backup Port 3",
  459. "schema": {
  460. "type": "dict",
  461. "show_if": [
  462. [
  463. "host_network",
  464. "=",
  465. false
  466. ]
  467. ],
  468. "attrs": [
  469. {
  470. "variable": "bind_mode",
  471. "label": "Port Bind Mode",
  472. "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",
  473. "schema": {
  474. "type": "string",
  475. "default": "published",
  476. "enum": [
  477. {
  478. "value": "published",
  479. "description": "Publish port on the host for external access"
  480. },
  481. {
  482. "value": "exposed",
  483. "description": "Expose port for inter-container communication"
  484. },
  485. {
  486. "value": "",
  487. "description": "None"
  488. }
  489. ]
  490. }
  491. },
  492. {
  493. "variable": "port_number",
  494. "label": "Port Number",
  495. "schema": {
  496. "type": "int",
  497. "show_if": [
  498. [
  499. "bind_mode",
  500. "=",
  501. "published"
  502. ]
  503. ],
  504. "default": 35623,
  505. "min": 1,
  506. "max": 65535,
  507. "required": true
  508. }
  509. },
  510. {
  511. "variable": "host_ips",
  512. "label": "Host IPs",
  513. "description": "IPs on the host to bind this port",
  514. "schema": {
  515. "type": "list",
  516. "show_if": [
  517. [
  518. "bind_mode",
  519. "=",
  520. "published"
  521. ]
  522. ],
  523. "default": [],
  524. "items": [
  525. {
  526. "variable": "host_ip",
  527. "label": "Host IP",
  528. "schema": {
  529. "type": "string",
  530. "required": true,
  531. "$ref": [
  532. "definitions/node_bind_ip"
  533. ]
  534. }
  535. }
  536. ]
  537. }
  538. }
  539. ]
  540. }
  541. },
  542. {
  543. "variable": "host_network",
  544. "label": "Host Network",
  545. "description": "Bind to the host network. It's recommended to keep this disabled.\n",
  546. "schema": {
  547. "type": "boolean",
  548. "default": false
  549. }
  550. }
  551. ]
  552. }
  553. },
  554. {
  555. "variable": "storage",
  556. "label": "",
  557. "group": "Storage Configuration",
  558. "schema": {
  559. "type": "dict",
  560. "attrs": [
  561. {
  562. "variable": "backups",
  563. "label": "Backups Storage",
  564. "schema": {
  565. "type": "dict",
  566. "attrs": [
  567. {
  568. "variable": "type",
  569. "label": "Type",
  570. "description": "ixVolume: Is dataset created automatically by the system.</br>\nHost Path: Is a path that already exists on the system.\n",
  571. "schema": {
  572. "type": "string",
  573. "required": true,
  574. "default": "ix_volume",
  575. "enum": [
  576. {
  577. "value": "host_path",
  578. "description": "Host Path (Path that already exists on the system)"
  579. },
  580. {
  581. "value": "ix_volume",
  582. "description": "ixVolume (Dataset created automatically by the system)"
  583. }
  584. ]
  585. }
  586. },
  587. {
  588. "variable": "ix_volume_config",
  589. "label": "ixVolume Configuration",
  590. "description": "The configuration for the ixVolume dataset.",
  591. "schema": {
  592. "type": "dict",
  593. "show_if": [
  594. [
  595. "type",
  596. "=",
  597. "ix_volume"
  598. ]
  599. ],
  600. "$ref": [
  601. "normalize/ix_volume"
  602. ],
  603. "attrs": [
  604. {
  605. "variable": "acl_enable",
  606. "label": "Enable ACL",
  607. "description": "Enable ACL for the storage.",
  608. "schema": {
  609. "type": "boolean",
  610. "default": false
  611. }
  612. },
  613. {
  614. "variable": "dataset_name",
  615. "label": "Dataset Name",
  616. "description": "The name of the dataset to use for storage.",
  617. "schema": {
  618. "type": "string",
  619. "required": true,
  620. "hidden": true,
  621. "default": "backups"
  622. }
  623. },
  624. {
  625. "variable": "acl_entries",
  626. "label": "ACL Configuration",
  627. "schema": {
  628. "type": "dict",
  629. "show_if": [
  630. [
  631. "acl_enable",
  632. "=",
  633. true
  634. ]
  635. ],
  636. "attrs": []
  637. }
  638. }
  639. ]
  640. }
  641. },
  642. {
  643. "variable": "host_path_config",
  644. "label": "Host Path Configuration",
  645. "schema": {
  646. "type": "dict",
  647. "show_if": [
  648. [
  649. "type",
  650. "=",
  651. "host_path"
  652. ]
  653. ],
  654. "attrs": [
  655. {
  656. "variable": "acl_enable",
  657. "label": "Enable ACL",
  658. "description": "Enable ACL for the storage.",
  659. "schema": {
  660. "type": "boolean",
  661. "default": false
  662. }
  663. },
  664. {
  665. "variable": "acl",
  666. "label": "ACL Configuration",
  667. "schema": {
  668. "type": "dict",
  669. "show_if": [
  670. [
  671. "acl_enable",
  672. "=",
  673. true
  674. ]
  675. ],
  676. "attrs": [],
  677. "$ref": [
  678. "normalize/acl"
  679. ]
  680. }
  681. },
  682. {
  683. "variable": "path",
  684. "label": "Host Path",
  685. "description": "The host path to use for storage.",
  686. "schema": {
  687. "type": "hostpath",
  688. "show_if": [
  689. [
  690. "acl_enable",
  691. "=",
  692. false
  693. ]
  694. ],
  695. "required": true
  696. }
  697. }
  698. ]
  699. }
  700. }
  701. ]
  702. }
  703. },
  704. {
  705. "variable": "database",
  706. "label": "Database Storage",
  707. "schema": {
  708. "type": "dict",
  709. "attrs": [
  710. {
  711. "variable": "type",
  712. "label": "Type",
  713. "description": "ixVolume: Is dataset created automatically by the system.</br>\nHost Path: Is a path that already exists on the system.\n",
  714. "schema": {
  715. "type": "string",
  716. "required": true,
  717. "default": "ix_volume",
  718. "enum": [
  719. {
  720. "value": "host_path",
  721. "description": "Host Path (Path that already exists on the system)"
  722. },
  723. {
  724. "value": "ix_volume",
  725. "description": "ixVolume (Dataset created automatically by the system)"
  726. }
  727. ]
  728. }
  729. },
  730. {
  731. "variable": "ix_volume_config",
  732. "label": "ixVolume Configuration",
  733. "description": "The configuration for the ixVolume dataset.",
  734. "schema": {
  735. "type": "dict",
  736. "show_if": [
  737. [
  738. "type",
  739. "=",
  740. "ix_volume"
  741. ]
  742. ],
  743. "$ref": [
  744. "normalize/ix_volume"
  745. ],
  746. "attrs": [
  747. {
  748. "variable": "acl_enable",
  749. "label": "Enable ACL",
  750. "description": "Enable ACL for the storage.",
  751. "schema": {
  752. "type": "boolean",
  753. "default": false
  754. }
  755. },
  756. {
  757. "variable": "dataset_name",
  758. "label": "Dataset Name",
  759. "description": "The name of the dataset to use for storage.",
  760. "schema": {
  761. "type": "string",
  762. "required": true,
  763. "hidden": true,
  764. "default": "database"
  765. }
  766. },
  767. {
  768. "variable": "acl_entries",
  769. "label": "ACL Configuration",
  770. "schema": {
  771. "type": "dict",
  772. "show_if": [
  773. [
  774. "acl_enable",
  775. "=",
  776. true
  777. ]
  778. ],
  779. "attrs": []
  780. }
  781. }
  782. ]
  783. }
  784. },
  785. {
  786. "variable": "host_path_config",
  787. "label": "Host Path Configuration",
  788. "schema": {
  789. "type": "dict",
  790. "show_if": [
  791. [
  792. "type",
  793. "=",
  794. "host_path"
  795. ]
  796. ],
  797. "attrs": [
  798. {
  799. "variable": "acl_enable",
  800. "label": "Enable ACL",
  801. "description": "Enable ACL for the storage.",
  802. "schema": {
  803. "type": "boolean",
  804. "default": false
  805. }
  806. },
  807. {
  808. "variable": "acl",
  809. "label": "ACL Configuration",
  810. "schema": {
  811. "type": "dict",
  812. "show_if": [
  813. [
  814. "acl_enable",
  815. "=",
  816. true
  817. ]
  818. ],
  819. "attrs": [],
  820. "$ref": [
  821. "normalize/acl"
  822. ]
  823. }
  824. },
  825. {
  826. "variable": "path",
  827. "label": "Host Path",
  828. "description": "The host path to use for storage.",
  829. "schema": {
  830. "type": "hostpath",
  831. "show_if": [
  832. [
  833. "acl_enable",
  834. "=",
  835. false
  836. ]
  837. ],
  838. "required": true
  839. }
  840. }
  841. ]
  842. }
  843. }
  844. ]
  845. }
  846. },
  847. {
  848. "variable": "logs",
  849. "label": "Logs Storage",
  850. "schema": {
  851. "type": "dict",
  852. "attrs": [
  853. {
  854. "variable": "type",
  855. "label": "Type",
  856. "description": "ixVolume: Is dataset created automatically by the system.</br>\nHost Path: Is a path that already exists on the system.\n",
  857. "schema": {
  858. "type": "string",
  859. "required": true,
  860. "default": "ix_volume",
  861. "enum": [
  862. {
  863. "value": "host_path",
  864. "description": "Host Path (Path that already exists on the system)"
  865. },
  866. {
  867. "value": "ix_volume",
  868. "description": "ixVolume (Dataset created automatically by the system)"
  869. }
  870. ]
  871. }
  872. },
  873. {
  874. "variable": "ix_volume_config",
  875. "label": "ixVolume Configuration",
  876. "description": "The configuration for the ixVolume dataset.",
  877. "schema": {
  878. "type": "dict",
  879. "show_if": [
  880. [
  881. "type",
  882. "=",
  883. "ix_volume"
  884. ]
  885. ],
  886. "$ref": [
  887. "normalize/ix_volume"
  888. ],
  889. "attrs": [
  890. {
  891. "variable": "acl_enable",
  892. "label": "Enable ACL",
  893. "description": "Enable ACL for the storage.",
  894. "schema": {
  895. "type": "boolean",
  896. "default": false
  897. }
  898. },
  899. {
  900. "variable": "dataset_name",
  901. "label": "Dataset Name",
  902. "description": "The name of the dataset to use for storage.",
  903. "schema": {
  904. "type": "string",
  905. "required": true,
  906. "hidden": true,
  907. "default": "logs"
  908. }
  909. },
  910. {
  911. "variable": "acl_entries",
  912. "label": "ACL Configuration",
  913. "schema": {
  914. "type": "dict",
  915. "show_if": [
  916. [
  917. "acl_enable",
  918. "=",
  919. true
  920. ]
  921. ],
  922. "attrs": []
  923. }
  924. }
  925. ]
  926. }
  927. },
  928. {
  929. "variable": "host_path_config",
  930. "label": "Host Path Configuration",
  931. "schema": {
  932. "type": "dict",
  933. "show_if": [
  934. [
  935. "type",
  936. "=",
  937. "host_path"
  938. ]
  939. ],
  940. "attrs": [
  941. {
  942. "variable": "acl_enable",
  943. "label": "Enable ACL",
  944. "description": "Enable ACL for the storage.",
  945. "schema": {
  946. "type": "boolean",
  947. "default": false
  948. }
  949. },
  950. {
  951. "variable": "acl",
  952. "label": "ACL Configuration",
  953. "schema": {
  954. "type": "dict",
  955. "show_if": [
  956. [
  957. "acl_enable",
  958. "=",
  959. true
  960. ]
  961. ],
  962. "attrs": [],
  963. "$ref": [
  964. "normalize/acl"
  965. ]
  966. }
  967. },
  968. {
  969. "variable": "path",
  970. "label": "Host Path",
  971. "description": "The host path to use for storage.",
  972. "schema": {
  973. "type": "hostpath",
  974. "show_if": [
  975. [
  976. "acl_enable",
  977. "=",
  978. false
  979. ]
  980. ],
  981. "required": true
  982. }
  983. }
  984. ]
  985. }
  986. }
  987. ]
  988. }
  989. },
  990. {
  991. "variable": "additional_storage",
  992. "label": "Additional Storage",
  993. "schema": {
  994. "type": "list",
  995. "default": [],
  996. "items": [
  997. {
  998. "variable": "storageEntry",
  999. "label": "Storage Entry",
  1000. "schema": {
  1001. "type": "dict",
  1002. "attrs": [
  1003. {
  1004. "variable": "type",
  1005. "label": "Type",
  1006. "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",
  1007. "schema": {
  1008. "type": "string",
  1009. "required": true,
  1010. "default": "ix_volume",
  1011. "enum": [
  1012. {
  1013. "value": "host_path",
  1014. "description": "Host Path (Path that already exists on the system)"
  1015. },
  1016. {
  1017. "value": "ix_volume",
  1018. "description": "ixVolume (Dataset created automatically by the system)"
  1019. },
  1020. {
  1021. "value": "cifs",
  1022. "description": "SMB/CIFS Share (Mounts a volume to a SMB share)"
  1023. }
  1024. ]
  1025. }
  1026. },
  1027. {
  1028. "variable": "read_only",
  1029. "label": "Read Only",
  1030. "description": "Mount the volume as read only.",
  1031. "schema": {
  1032. "type": "boolean",
  1033. "default": false
  1034. }
  1035. },
  1036. {
  1037. "variable": "mount_path",
  1038. "label": "Mount Path",
  1039. "description": "The path inside the container to mount the storage.",
  1040. "schema": {
  1041. "type": "path",
  1042. "required": true
  1043. }
  1044. },
  1045. {
  1046. "variable": "host_path_config",
  1047. "label": "Host Path Configuration",
  1048. "schema": {
  1049. "type": "dict",
  1050. "show_if": [
  1051. [
  1052. "type",
  1053. "=",
  1054. "host_path"
  1055. ]
  1056. ],
  1057. "attrs": [
  1058. {
  1059. "variable": "acl_enable",
  1060. "label": "Enable ACL",
  1061. "description": "Enable ACL for the storage.",
  1062. "schema": {
  1063. "type": "boolean",
  1064. "default": false
  1065. }
  1066. },
  1067. {
  1068. "variable": "acl",
  1069. "label": "ACL Configuration",
  1070. "schema": {
  1071. "type": "dict",
  1072. "show_if": [
  1073. [
  1074. "acl_enable",
  1075. "=",
  1076. true
  1077. ]
  1078. ],
  1079. "attrs": [],
  1080. "$ref": [
  1081. "normalize/acl"
  1082. ]
  1083. }
  1084. },
  1085. {
  1086. "variable": "path",
  1087. "label": "Host Path",
  1088. "description": "The host path to use for storage.",
  1089. "schema": {
  1090. "type": "hostpath",
  1091. "show_if": [
  1092. [
  1093. "acl_enable",
  1094. "=",
  1095. false
  1096. ]
  1097. ],
  1098. "required": true
  1099. }
  1100. }
  1101. ]
  1102. }
  1103. },
  1104. {
  1105. "variable": "ix_volume_config",
  1106. "label": "ixVolume Configuration",
  1107. "description": "The configuration for the ixVolume dataset.",
  1108. "schema": {
  1109. "type": "dict",
  1110. "show_if": [
  1111. [
  1112. "type",
  1113. "=",
  1114. "ix_volume"
  1115. ]
  1116. ],
  1117. "$ref": [
  1118. "normalize/ix_volume"
  1119. ],
  1120. "attrs": [
  1121. {
  1122. "variable": "acl_enable",
  1123. "label": "Enable ACL",
  1124. "description": "Enable ACL for the storage.",
  1125. "schema": {
  1126. "type": "boolean",
  1127. "default": false
  1128. }
  1129. },
  1130. {
  1131. "variable": "dataset_name",
  1132. "label": "Dataset Name",
  1133. "description": "The name of the dataset to use for storage.",
  1134. "schema": {
  1135. "type": "string",
  1136. "required": true,
  1137. "default": "storage_entry"
  1138. }
  1139. },
  1140. {
  1141. "variable": "acl_entries",
  1142. "label": "ACL Configuration",
  1143. "schema": {
  1144. "type": "dict",
  1145. "show_if": [
  1146. [
  1147. "acl_enable",
  1148. "=",
  1149. true
  1150. ]
  1151. ],
  1152. "attrs": []
  1153. }
  1154. }
  1155. ]
  1156. }
  1157. },
  1158. {
  1159. "variable": "cifs_config",
  1160. "label": "SMB Configuration",
  1161. "description": "The configuration for the SMB dataset.",
  1162. "schema": {
  1163. "type": "dict",
  1164. "show_if": [
  1165. [
  1166. "type",
  1167. "=",
  1168. "cifs"
  1169. ]
  1170. ],
  1171. "attrs": [
  1172. {
  1173. "variable": "server",
  1174. "label": "Server",
  1175. "description": "The server to mount the SMB share.",
  1176. "schema": {
  1177. "type": "string",
  1178. "required": true
  1179. }
  1180. },
  1181. {
  1182. "variable": "path",
  1183. "label": "Path",
  1184. "description": "The path to mount the SMB share.",
  1185. "schema": {
  1186. "type": "string",
  1187. "required": true
  1188. }
  1189. },
  1190. {
  1191. "variable": "username",
  1192. "label": "Username",
  1193. "description": "The username to use for the SMB share.",
  1194. "schema": {
  1195. "type": "string",
  1196. "required": true
  1197. }
  1198. },
  1199. {
  1200. "variable": "password",
  1201. "label": "Password",
  1202. "description": "The password to use for the SMB share.",
  1203. "schema": {
  1204. "type": "string",
  1205. "required": true,
  1206. "private": true
  1207. }
  1208. },
  1209. {
  1210. "variable": "domain",
  1211. "label": "Domain",
  1212. "description": "The domain to use for the SMB share.",
  1213. "schema": {
  1214. "type": "string"
  1215. }
  1216. }
  1217. ]
  1218. }
  1219. }
  1220. ]
  1221. }
  1222. }
  1223. ]
  1224. }
  1225. }
  1226. ]
  1227. }
  1228. },
  1229. {
  1230. "variable": "labels",
  1231. "label": "",
  1232. "group": "Labels Configuration",
  1233. "schema": {
  1234. "type": "list",
  1235. "default": [],
  1236. "items": [
  1237. {
  1238. "variable": "label",
  1239. "label": "Label",
  1240. "schema": {
  1241. "type": "dict",
  1242. "attrs": [
  1243. {
  1244. "variable": "key",
  1245. "label": "Key",
  1246. "schema": {
  1247. "type": "string",
  1248. "required": true
  1249. }
  1250. },
  1251. {
  1252. "variable": "value",
  1253. "label": "Value",
  1254. "schema": {
  1255. "type": "string",
  1256. "required": true
  1257. }
  1258. },
  1259. {
  1260. "variable": "containers",
  1261. "label": "Containers",
  1262. "description": "Containers where the label should be applied",
  1263. "schema": {
  1264. "type": "list",
  1265. "items": [
  1266. {
  1267. "variable": "container",
  1268. "label": "Container",
  1269. "schema": {
  1270. "type": "string",
  1271. "required": true,
  1272. "enum": [
  1273. {
  1274. "value": "urbackup-server",
  1275. "description": "urbackup-server"
  1276. }
  1277. ]
  1278. }
  1279. }
  1280. ]
  1281. }
  1282. }
  1283. ]
  1284. }
  1285. }
  1286. ]
  1287. }
  1288. },
  1289. {
  1290. "variable": "resources",
  1291. "label": "",
  1292. "group": "Resources Configuration",
  1293. "schema": {
  1294. "type": "dict",
  1295. "attrs": [
  1296. {
  1297. "variable": "limits",
  1298. "label": "Limits",
  1299. "schema": {
  1300. "type": "dict",
  1301. "attrs": [
  1302. {
  1303. "variable": "cpus",
  1304. "label": "CPUs",
  1305. "description": "CPUs limit for UrBackup.",
  1306. "schema": {
  1307. "type": "int",
  1308. "default": 2,
  1309. "required": true
  1310. }
  1311. },
  1312. {
  1313. "variable": "memory",
  1314. "label": "Memory (in MB)",
  1315. "description": "Memory limit for UrBackup.",
  1316. "schema": {
  1317. "type": "int",
  1318. "default": 4096,
  1319. "required": true
  1320. }
  1321. }
  1322. ]
  1323. }
  1324. }
  1325. ]
  1326. }
  1327. }
  1328. ]
  1329. },
  1330. "readme": "<h1>UrBackup</h1> <p><a href=\"https://github.com/uroni/urbackup_backend\">UrBackup</a> UrBackup is an easy to setup Open Source client/server backup system, that through a combination of image and file backups accomplishes both data safety and a fast restoration time</p>",
  1331. "changelog": null,
  1332. "chart_metadata": {
  1333. "app_version": "2.5.x",
  1334. "capabilities": [
  1335. {
  1336. "description": "Urbackup Server is able to change file ownership arbitrarily",
  1337. "name": "CHOWN"
  1338. },
  1339. {
  1340. "description": "Urbackup Server is able to bypass file permission checks",
  1341. "name": "DAC_OVERRIDE"
  1342. },
  1343. {
  1344. "description": "Urbackup Server is able to bypass permission checks for file operations",
  1345. "name": "FOWNER"
  1346. },
  1347. {
  1348. "description": "Urbackup Server is able to change group ID of processes",
  1349. "name": "SETGID"
  1350. },
  1351. {
  1352. "description": "Urbackup Server is able to change user ID of processes",
  1353. "name": "SETUID"
  1354. }
  1355. ],
  1356. "categories": [
  1357. "backup"
  1358. ],
  1359. "date_added": "2025-01-28",
  1360. "description": "UrBackup is an easy to setup Open Source client/server backup system, that through a combination of image and file backups accomplishes both data safety and a fast restoration time.",
  1361. "home": "https://github.com/uroni/urbackup_backend",
  1362. "host_mounts": [],
  1363. "icon": "https://media.sys.truenas.net/apps/urbackup/icons/icon.png",
  1364. "keywords": [
  1365. "backup"
  1366. ],
  1367. "lib_version": "2.1.49",
  1368. "lib_version_hash": "e71e6b0122c9446fa5ea6fb07e7eb01b11fb42d549a19845426bbd7e21a42634",
  1369. "maintainers": [
  1370. {
  1371. "email": "dev@ixsystems.com",
  1372. "name": "truenas",
  1373. "url": "https://www.truenas.com/"
  1374. }
  1375. ],
  1376. "name": "urbackup",
  1377. "run_as_context": [
  1378. {
  1379. "description": "UrBackup runs as the root user.",
  1380. "gid": 0,
  1381. "group_name": "root",
  1382. "uid": 0,
  1383. "user_name": "root"
  1384. }
  1385. ],
  1386. "screenshots": [],
  1387. "sources": [
  1388. "https://github.com/uroni/urbackup_backend",
  1389. "https://hub.docker.com/r/uroni/urbackup-server"
  1390. ],
  1391. "title": "UrBackup",
  1392. "train": "community",
  1393. "version": "1.0.12"
  1394. }
  1395. }
  1396. }