app_versions.json 60 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027
  1. {
  2. "1.2.9": {
  3. "healthy": true,
  4. "supported": true,
  5. "healthy_error": null,
  6. "location": "/__w/apps/apps/trains/enterprise/syncthing/1.2.9",
  7. "last_update": "2025-09-02 11:33:24",
  8. "required_features": [],
  9. "human_version": "1.30.0_1.2.9",
  10. "version": "1.2.9",
  11. "app_metadata": {
  12. "annotations": {
  13. "min_scale_version": "24.10.2.2"
  14. },
  15. "app_version": "1.30.0",
  16. "capabilities": [
  17. {
  18. "description": "Syncthing is able to change file ownership arbitrarily",
  19. "name": "CHOWN"
  20. },
  21. {
  22. "description": "Syncthing is able to bypass file permission checks",
  23. "name": "DAC_OVERRIDE"
  24. },
  25. {
  26. "description": "Syncthing is able to bypass permission checks for file operations",
  27. "name": "FOWNER"
  28. },
  29. {
  30. "description": "Syncthing is able to set file capabilities on other files",
  31. "name": "SETFCAP"
  32. },
  33. {
  34. "description": "Syncthing is able to change group ID of processes",
  35. "name": "SETGID"
  36. },
  37. {
  38. "description": "Syncthing is able to transfer capabilities between processes",
  39. "name": "SETPCAP"
  40. },
  41. {
  42. "description": "Syncthing is able to change user ID of processes",
  43. "name": "SETUID"
  44. },
  45. {
  46. "description": "Syncthing is able to perform system administration operations",
  47. "name": "SYS_ADMIN"
  48. }
  49. ],
  50. "categories": [
  51. "storage"
  52. ],
  53. "date_added": "2024-07-18",
  54. "description": "Syncthing is a continuous file synchronization program.",
  55. "home": "https://syncthing.net",
  56. "host_mounts": [],
  57. "icon": "https://media.sys.truenas.net/apps/syncthing/icons/icon.svg",
  58. "keywords": [
  59. "sync",
  60. "file-sharing"
  61. ],
  62. "lib_version": "2.1.49",
  63. "lib_version_hash": "e71e6b0122c9446fa5ea6fb07e7eb01b11fb42d549a19845426bbd7e21a42634",
  64. "maintainers": [
  65. {
  66. "email": "dev@ixsystems.com",
  67. "name": "truenas",
  68. "url": "https://www.truenas.com/"
  69. }
  70. ],
  71. "name": "syncthing",
  72. "run_as_context": [
  73. {
  74. "description": "Syncthing runs as root user.",
  75. "gid": 0,
  76. "group_name": "root",
  77. "uid": 0,
  78. "user_name": "root"
  79. }
  80. ],
  81. "screenshots": [
  82. "https://media.sys.truenas.net/apps/syncthing/screenshots/screenshot1.png",
  83. "https://media.sys.truenas.net/apps/syncthing/screenshots/screenshot2.png",
  84. "https://media.sys.truenas.net/apps/syncthing/screenshots/screenshot3.png",
  85. "https://media.sys.truenas.net/apps/syncthing/screenshots/screenshot4.png"
  86. ],
  87. "sources": [
  88. "https://syncthing.net/",
  89. "https://github.com/syncthing/syncthing",
  90. "https://hub.docker.com/r/syncthing/syncthing"
  91. ],
  92. "title": "Syncthing",
  93. "train": "enterprise",
  94. "version": "1.2.9"
  95. },
  96. "schema": {
  97. "groups": [
  98. {
  99. "name": "Syncthing Configuration",
  100. "description": "Configure Syncthing"
  101. },
  102. {
  103. "name": "User and Group Configuration",
  104. "description": "Configure User and Group for Syncthing"
  105. },
  106. {
  107. "name": "Network Configuration",
  108. "description": "Configure Network for Syncthing"
  109. },
  110. {
  111. "name": "Storage Configuration",
  112. "description": "Configure Storage for Syncthing"
  113. },
  114. {
  115. "name": "Labels Configuration",
  116. "description": "Configure Labels for Syncthing"
  117. },
  118. {
  119. "name": "Resources Configuration",
  120. "description": "Configure Resources for Syncthing"
  121. }
  122. ],
  123. "questions": [
  124. {
  125. "variable": "TZ",
  126. "group": "Syncthing Configuration",
  127. "label": "Timezone",
  128. "schema": {
  129. "type": "string",
  130. "default": "Etc/UTC",
  131. "required": true,
  132. "$ref": [
  133. "definitions/timezone"
  134. ]
  135. }
  136. },
  137. {
  138. "variable": "syncthing",
  139. "label": "",
  140. "group": "Syncthing Configuration",
  141. "schema": {
  142. "type": "dict",
  143. "attrs": [
  144. {
  145. "variable": "additional_envs",
  146. "label": "Additional Environment Variables",
  147. "schema": {
  148. "type": "list",
  149. "default": [],
  150. "items": [
  151. {
  152. "variable": "env",
  153. "label": "Environment Variable",
  154. "schema": {
  155. "type": "dict",
  156. "attrs": [
  157. {
  158. "variable": "name",
  159. "label": "Name",
  160. "schema": {
  161. "type": "string",
  162. "required": true
  163. }
  164. },
  165. {
  166. "variable": "value",
  167. "label": "Value",
  168. "schema": {
  169. "type": "string"
  170. }
  171. }
  172. ]
  173. }
  174. }
  175. ]
  176. }
  177. }
  178. ]
  179. }
  180. },
  181. {
  182. "variable": "run_as",
  183. "label": "",
  184. "group": "User and Group Configuration",
  185. "schema": {
  186. "type": "dict",
  187. "attrs": [
  188. {
  189. "variable": "user",
  190. "label": "User ID",
  191. "description": "The user id that Syncthing will run as.",
  192. "schema": {
  193. "type": "int",
  194. "min": 568,
  195. "default": 568,
  196. "required": true
  197. }
  198. },
  199. {
  200. "variable": "group",
  201. "label": "Group ID",
  202. "description": "The group id that Syncthing will run as.",
  203. "schema": {
  204. "type": "int",
  205. "min": 568,
  206. "default": 568,
  207. "required": true
  208. }
  209. }
  210. ]
  211. }
  212. },
  213. {
  214. "variable": "network",
  215. "label": "",
  216. "group": "Network Configuration",
  217. "schema": {
  218. "type": "dict",
  219. "attrs": [
  220. {
  221. "variable": "web_port",
  222. "label": "WebUI Port",
  223. "schema": {
  224. "type": "dict",
  225. "attrs": [
  226. {
  227. "variable": "bind_mode",
  228. "label": "Port Bind Mode",
  229. "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",
  230. "schema": {
  231. "type": "string",
  232. "default": "published",
  233. "enum": [
  234. {
  235. "value": "published",
  236. "description": "Publish port on the host for external access"
  237. },
  238. {
  239. "value": "exposed",
  240. "description": "Expose port for inter-container communication"
  241. },
  242. {
  243. "value": "",
  244. "description": "None"
  245. }
  246. ]
  247. }
  248. },
  249. {
  250. "variable": "port_number",
  251. "label": "Port Number",
  252. "schema": {
  253. "type": "int",
  254. "default": 8384,
  255. "min": 1,
  256. "max": 65535,
  257. "required": true
  258. }
  259. },
  260. {
  261. "variable": "host_ips",
  262. "label": "Host IPs",
  263. "description": "IPs on the host to bind this port",
  264. "schema": {
  265. "type": "list",
  266. "show_if": [
  267. [
  268. "bind_mode",
  269. "=",
  270. "published"
  271. ]
  272. ],
  273. "default": [],
  274. "items": [
  275. {
  276. "variable": "host_ip",
  277. "label": "Host IP",
  278. "schema": {
  279. "type": "string",
  280. "required": true,
  281. "$ref": [
  282. "definitions/node_bind_ip"
  283. ]
  284. }
  285. }
  286. ]
  287. }
  288. }
  289. ]
  290. }
  291. },
  292. {
  293. "variable": "tcp_port",
  294. "label": "TCP Port (File Transfers)",
  295. "description": "The TCP port for Syncthing transfers.",
  296. "schema": {
  297. "type": "dict",
  298. "show_if": [
  299. [
  300. "host_network",
  301. "=",
  302. false
  303. ]
  304. ],
  305. "attrs": [
  306. {
  307. "variable": "bind_mode",
  308. "label": "Port Bind Mode",
  309. "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",
  310. "schema": {
  311. "type": "string",
  312. "default": "published",
  313. "enum": [
  314. {
  315. "value": "published",
  316. "description": "Publish port on the host for external access"
  317. },
  318. {
  319. "value": "exposed",
  320. "description": "Expose port for inter-container communication"
  321. },
  322. {
  323. "value": "",
  324. "description": "None"
  325. }
  326. ]
  327. }
  328. },
  329. {
  330. "variable": "port_number",
  331. "label": "Port Number",
  332. "schema": {
  333. "type": "int",
  334. "show_if": [
  335. [
  336. "bind_mode",
  337. "=",
  338. "published"
  339. ]
  340. ],
  341. "default": 22000,
  342. "min": 1,
  343. "max": 65535,
  344. "required": true
  345. }
  346. },
  347. {
  348. "variable": "host_ips",
  349. "label": "Host IPs",
  350. "description": "IPs on the host to bind this port",
  351. "schema": {
  352. "type": "list",
  353. "show_if": [
  354. [
  355. "bind_mode",
  356. "=",
  357. "published"
  358. ]
  359. ],
  360. "default": [],
  361. "items": [
  362. {
  363. "variable": "host_ip",
  364. "label": "Host IP",
  365. "schema": {
  366. "type": "string",
  367. "required": true,
  368. "$ref": [
  369. "definitions/node_bind_ip"
  370. ]
  371. }
  372. }
  373. ]
  374. }
  375. }
  376. ]
  377. }
  378. },
  379. {
  380. "variable": "quic_port",
  381. "label": "QUIC (UDP) Port (File Transfers)",
  382. "description": "The QUIC (UDP) port for Syncthing transfers.",
  383. "schema": {
  384. "type": "dict",
  385. "show_if": [
  386. [
  387. "host_network",
  388. "=",
  389. false
  390. ]
  391. ],
  392. "attrs": [
  393. {
  394. "variable": "bind_mode",
  395. "label": "Port Bind Mode",
  396. "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",
  397. "schema": {
  398. "type": "string",
  399. "default": "published",
  400. "enum": [
  401. {
  402. "value": "published",
  403. "description": "Publish port on the host for external access"
  404. },
  405. {
  406. "value": "exposed",
  407. "description": "Expose port for inter-container communication"
  408. },
  409. {
  410. "value": "",
  411. "description": "None"
  412. }
  413. ]
  414. }
  415. },
  416. {
  417. "variable": "port_number",
  418. "label": "Port Number",
  419. "schema": {
  420. "type": "int",
  421. "show_if": [
  422. [
  423. "bind_mode",
  424. "=",
  425. "published"
  426. ]
  427. ],
  428. "default": 22000,
  429. "min": 1,
  430. "max": 65535,
  431. "required": true
  432. }
  433. },
  434. {
  435. "variable": "host_ips",
  436. "label": "Host IPs",
  437. "description": "IPs on the host to bind this port",
  438. "schema": {
  439. "type": "list",
  440. "show_if": [
  441. [
  442. "bind_mode",
  443. "=",
  444. "published"
  445. ]
  446. ],
  447. "default": [],
  448. "items": [
  449. {
  450. "variable": "host_ip",
  451. "label": "Host IP",
  452. "schema": {
  453. "type": "string",
  454. "required": true,
  455. "$ref": [
  456. "definitions/node_bind_ip"
  457. ]
  458. }
  459. }
  460. ]
  461. }
  462. }
  463. ]
  464. }
  465. },
  466. {
  467. "variable": "host_network",
  468. "label": "Host Network",
  469. "description": "Bind to the host network.</br></br>\nIf this is disabled, you will need to add your local networks in CIDR format to the Syncthing WebUI.</br>\nIn the Syncthing WebUI, go to Advanced Settings > Options > Always Local Nets</br>\nSeparate each CIDR network with a comma.</br>\nExample: 192.168.0.0/24,192.168.1.0/24\n",
  470. "schema": {
  471. "type": "boolean",
  472. "default": true
  473. }
  474. },
  475. {
  476. "variable": "certificate_id",
  477. "label": "Certificate",
  478. "description": "The certificate to use for Syncthing",
  479. "schema": {
  480. "type": "int",
  481. "null": true,
  482. "$ref": [
  483. "definitions/certificate"
  484. ]
  485. }
  486. }
  487. ]
  488. }
  489. },
  490. {
  491. "variable": "storage",
  492. "label": "",
  493. "group": "Storage Configuration",
  494. "schema": {
  495. "type": "dict",
  496. "attrs": [
  497. {
  498. "variable": "home",
  499. "label": "Syncthing Home Storage",
  500. "description": "The path to store Syncthing Home.",
  501. "schema": {
  502. "type": "dict",
  503. "attrs": [
  504. {
  505. "variable": "type",
  506. "label": "Type",
  507. "description": "ixVolume: Is dataset created automatically by the system.</br>\nHost Path: Is a path that already exists on the system.\n",
  508. "schema": {
  509. "type": "string",
  510. "required": true,
  511. "default": "ix_volume",
  512. "enum": [
  513. {
  514. "value": "host_path",
  515. "description": "Host Path (Path that already exists on the system)"
  516. },
  517. {
  518. "value": "ix_volume",
  519. "description": "ixVolume (Dataset created automatically by the system)"
  520. }
  521. ]
  522. }
  523. },
  524. {
  525. "variable": "ix_volume_config",
  526. "label": "ixVolume Configuration",
  527. "description": "The configuration for the ixVolume dataset.",
  528. "schema": {
  529. "type": "dict",
  530. "show_if": [
  531. [
  532. "type",
  533. "=",
  534. "ix_volume"
  535. ]
  536. ],
  537. "$ref": [
  538. "normalize/ix_volume"
  539. ],
  540. "attrs": [
  541. {
  542. "variable": "acl_enable",
  543. "label": "Enable ACL",
  544. "description": "Enable ACL for the storage.",
  545. "schema": {
  546. "type": "boolean",
  547. "default": false
  548. }
  549. },
  550. {
  551. "variable": "dataset_name",
  552. "label": "Dataset Name",
  553. "description": "The name of the dataset to use for storage.",
  554. "schema": {
  555. "type": "string",
  556. "required": true,
  557. "hidden": true,
  558. "default": "home"
  559. }
  560. },
  561. {
  562. "variable": "acl_entries",
  563. "label": "ACL Configuration",
  564. "schema": {
  565. "type": "dict",
  566. "show_if": [
  567. [
  568. "acl_enable",
  569. "=",
  570. true
  571. ]
  572. ],
  573. "attrs": []
  574. }
  575. }
  576. ]
  577. }
  578. },
  579. {
  580. "variable": "host_path_config",
  581. "label": "Host Path Configuration",
  582. "schema": {
  583. "type": "dict",
  584. "show_if": [
  585. [
  586. "type",
  587. "=",
  588. "host_path"
  589. ]
  590. ],
  591. "attrs": [
  592. {
  593. "variable": "acl_enable",
  594. "label": "Enable ACL",
  595. "description": "Enable ACL for the storage.",
  596. "schema": {
  597. "type": "boolean",
  598. "default": false
  599. }
  600. },
  601. {
  602. "variable": "acl",
  603. "label": "ACL Configuration",
  604. "schema": {
  605. "type": "dict",
  606. "show_if": [
  607. [
  608. "acl_enable",
  609. "=",
  610. true
  611. ]
  612. ],
  613. "attrs": [],
  614. "$ref": [
  615. "normalize/acl"
  616. ]
  617. }
  618. },
  619. {
  620. "variable": "path",
  621. "label": "Host Path",
  622. "description": "The host path to use for storage.",
  623. "schema": {
  624. "type": "hostpath",
  625. "show_if": [
  626. [
  627. "acl_enable",
  628. "=",
  629. false
  630. ]
  631. ],
  632. "required": true
  633. }
  634. }
  635. ]
  636. }
  637. }
  638. ]
  639. }
  640. },
  641. {
  642. "variable": "additional_storage",
  643. "label": "Additional Storage",
  644. "schema": {
  645. "type": "list",
  646. "min": 1,
  647. "required": true,
  648. "default": [
  649. {
  650. "type": "host_path",
  651. "mount_path": "/data1"
  652. }
  653. ],
  654. "items": [
  655. {
  656. "variable": "storageEntry",
  657. "label": "Storage Entry",
  658. "schema": {
  659. "type": "dict",
  660. "attrs": [
  661. {
  662. "variable": "type",
  663. "label": "Type",
  664. "description": "Host 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",
  665. "schema": {
  666. "type": "string",
  667. "required": true,
  668. "default": "host_path",
  669. "enum": [
  670. {
  671. "value": "host_path",
  672. "description": "Host Path (Path that already exists on the system)"
  673. },
  674. {
  675. "value": "cifs",
  676. "description": "SMB/CIFS Share (Mounts a volume to a SMB share)"
  677. }
  678. ]
  679. }
  680. },
  681. {
  682. "variable": "read_only",
  683. "label": "Read Only",
  684. "description": "Mount the volume as read only.",
  685. "schema": {
  686. "type": "boolean",
  687. "default": false
  688. }
  689. },
  690. {
  691. "variable": "mount_path",
  692. "label": "Mount Path",
  693. "description": "The path inside the container to mount the storage.",
  694. "schema": {
  695. "type": "path",
  696. "required": true
  697. }
  698. },
  699. {
  700. "variable": "host_path_config",
  701. "label": "Host Path Configuration",
  702. "schema": {
  703. "type": "dict",
  704. "show_if": [
  705. [
  706. "type",
  707. "=",
  708. "host_path"
  709. ]
  710. ],
  711. "attrs": [
  712. {
  713. "variable": "acl_enable",
  714. "label": "Enable ACL",
  715. "description": "Enable ACL for the storage.",
  716. "schema": {
  717. "type": "boolean",
  718. "default": false
  719. }
  720. },
  721. {
  722. "variable": "acl",
  723. "label": "ACL Configuration",
  724. "schema": {
  725. "type": "dict",
  726. "show_if": [
  727. [
  728. "acl_enable",
  729. "=",
  730. true
  731. ]
  732. ],
  733. "attrs": [],
  734. "$ref": [
  735. "normalize/acl"
  736. ]
  737. }
  738. },
  739. {
  740. "variable": "path",
  741. "label": "Host Path",
  742. "description": "The host path to use for storage.",
  743. "schema": {
  744. "type": "hostpath",
  745. "show_if": [
  746. [
  747. "acl_enable",
  748. "=",
  749. false
  750. ]
  751. ],
  752. "required": true
  753. }
  754. }
  755. ]
  756. }
  757. },
  758. {
  759. "variable": "cifs_config",
  760. "label": "SMB Configuration",
  761. "description": "The configuration for the SMB dataset.",
  762. "schema": {
  763. "type": "dict",
  764. "show_if": [
  765. [
  766. "type",
  767. "=",
  768. "cifs"
  769. ]
  770. ],
  771. "attrs": [
  772. {
  773. "variable": "migration_mode",
  774. "label": "Migration Mode",
  775. "description": "NOTE: This only works properly with TrueNAS SCALE 24.04.0 or newer.<br/>\n\nEnabling this will force the following:</br>\n- Read Only Mount, regardless of the value of the Read Only checkbox.</br>\n- SMB/CIFS Mount Options will be set to \"vers=3.0\", \"cifsacl\", \"noperm\"</br>\n\nThis option is used to migrate data from third party</br>\nNAS platforms onto TrueNAS SCALE.</br>\n\nKeep in mind that the ACL preservation is not guaranteed when:</br>\n- Non-AD environment</br>\n- ACL or remote server contains local users</br>\n",
  776. "schema": {
  777. "type": "boolean",
  778. "default": false
  779. }
  780. },
  781. {
  782. "variable": "server",
  783. "label": "Server",
  784. "description": "The server to mount the SMB share.",
  785. "schema": {
  786. "type": "string",
  787. "required": true
  788. }
  789. },
  790. {
  791. "variable": "path",
  792. "label": "Path",
  793. "description": "The path to mount the SMB share.",
  794. "schema": {
  795. "type": "string",
  796. "required": true
  797. }
  798. },
  799. {
  800. "variable": "username",
  801. "label": "Username",
  802. "description": "The username to use for the SMB share.",
  803. "schema": {
  804. "type": "string",
  805. "required": true
  806. }
  807. },
  808. {
  809. "variable": "password",
  810. "label": "Password",
  811. "description": "The password to use for the SMB share.",
  812. "schema": {
  813. "type": "string",
  814. "required": true,
  815. "private": true
  816. }
  817. },
  818. {
  819. "variable": "domain",
  820. "label": "Domain",
  821. "description": "The domain to use for the SMB share.",
  822. "schema": {
  823. "type": "string"
  824. }
  825. }
  826. ]
  827. }
  828. }
  829. ]
  830. }
  831. }
  832. ]
  833. }
  834. }
  835. ]
  836. }
  837. },
  838. {
  839. "variable": "labels",
  840. "label": "",
  841. "group": "Labels Configuration",
  842. "schema": {
  843. "type": "list",
  844. "default": [],
  845. "items": [
  846. {
  847. "variable": "label",
  848. "label": "Label",
  849. "schema": {
  850. "type": "dict",
  851. "attrs": [
  852. {
  853. "variable": "key",
  854. "label": "Key",
  855. "schema": {
  856. "type": "string",
  857. "required": true
  858. }
  859. },
  860. {
  861. "variable": "value",
  862. "label": "Value",
  863. "schema": {
  864. "type": "string",
  865. "required": true
  866. }
  867. },
  868. {
  869. "variable": "containers",
  870. "label": "Containers",
  871. "description": "Containers where the label should be applied",
  872. "schema": {
  873. "type": "list",
  874. "items": [
  875. {
  876. "variable": "container",
  877. "label": "Container",
  878. "schema": {
  879. "type": "string",
  880. "required": true,
  881. "enum": [
  882. {
  883. "value": "syncthing",
  884. "description": "syncthing"
  885. }
  886. ]
  887. }
  888. }
  889. ]
  890. }
  891. }
  892. ]
  893. }
  894. }
  895. ]
  896. }
  897. },
  898. {
  899. "variable": "resources",
  900. "label": "",
  901. "group": "Resources Configuration",
  902. "schema": {
  903. "type": "dict",
  904. "attrs": [
  905. {
  906. "variable": "limits",
  907. "label": "Limits",
  908. "schema": {
  909. "type": "dict",
  910. "attrs": [
  911. {
  912. "variable": "cpus",
  913. "label": "CPUs",
  914. "description": "CPUs limit for Syncthing.",
  915. "schema": {
  916. "type": "int",
  917. "default": 2,
  918. "required": true
  919. }
  920. },
  921. {
  922. "variable": "memory",
  923. "label": "Memory (in MB)",
  924. "description": "Memory limit for Syncthing.",
  925. "schema": {
  926. "type": "int",
  927. "default": 4096,
  928. "required": true
  929. }
  930. }
  931. ]
  932. }
  933. }
  934. ]
  935. }
  936. }
  937. ]
  938. },
  939. "readme": "<h1>Syncthing</h1> <p><a href=\"https://syncthing.net/\">Syncthing</a> is a file synchronization program.</p> <p>At each startup of the application, the following settings are applied:</p> <ul> <li>Disable automatic upgrades</li> <li>Disable anonymous usage reporting</li> <li>Disable NAT traversal</li> <li>Disable global discovery</li> <li>Disable local discovery</li> <li>Disable relaying</li> <li>Disable announcing LAN addresses</li> </ul> <p>Additionally, the following defaults are set for new syncthing \"folders\":</p> <ul> <li>Max total size of <code>xattr</code>: 10 MiB</li> <li>Max size per <code>xattr</code>: 2 MiB</li> <li>Enable <code>send</code> and <code>sync</code> of <code>xattr</code></li> <li>Enable <code>send</code> and <code>sync</code> of <code>ownership</code></li> </ul>",
  940. "changelog": null,
  941. "chart_metadata": {
  942. "annotations": {
  943. "min_scale_version": "24.10.2.2"
  944. },
  945. "app_version": "1.30.0",
  946. "capabilities": [
  947. {
  948. "description": "Syncthing is able to change file ownership arbitrarily",
  949. "name": "CHOWN"
  950. },
  951. {
  952. "description": "Syncthing is able to bypass file permission checks",
  953. "name": "DAC_OVERRIDE"
  954. },
  955. {
  956. "description": "Syncthing is able to bypass permission checks for file operations",
  957. "name": "FOWNER"
  958. },
  959. {
  960. "description": "Syncthing is able to set file capabilities on other files",
  961. "name": "SETFCAP"
  962. },
  963. {
  964. "description": "Syncthing is able to change group ID of processes",
  965. "name": "SETGID"
  966. },
  967. {
  968. "description": "Syncthing is able to transfer capabilities between processes",
  969. "name": "SETPCAP"
  970. },
  971. {
  972. "description": "Syncthing is able to change user ID of processes",
  973. "name": "SETUID"
  974. },
  975. {
  976. "description": "Syncthing is able to perform system administration operations",
  977. "name": "SYS_ADMIN"
  978. }
  979. ],
  980. "categories": [
  981. "storage"
  982. ],
  983. "date_added": "2024-07-18",
  984. "description": "Syncthing is a continuous file synchronization program.",
  985. "home": "https://syncthing.net",
  986. "host_mounts": [],
  987. "icon": "https://media.sys.truenas.net/apps/syncthing/icons/icon.svg",
  988. "keywords": [
  989. "sync",
  990. "file-sharing"
  991. ],
  992. "lib_version": "2.1.49",
  993. "lib_version_hash": "e71e6b0122c9446fa5ea6fb07e7eb01b11fb42d549a19845426bbd7e21a42634",
  994. "maintainers": [
  995. {
  996. "email": "dev@ixsystems.com",
  997. "name": "truenas",
  998. "url": "https://www.truenas.com/"
  999. }
  1000. ],
  1001. "name": "syncthing",
  1002. "run_as_context": [
  1003. {
  1004. "description": "Syncthing runs as root user.",
  1005. "gid": 0,
  1006. "group_name": "root",
  1007. "uid": 0,
  1008. "user_name": "root"
  1009. }
  1010. ],
  1011. "screenshots": [
  1012. "https://media.sys.truenas.net/apps/syncthing/screenshots/screenshot1.png",
  1013. "https://media.sys.truenas.net/apps/syncthing/screenshots/screenshot2.png",
  1014. "https://media.sys.truenas.net/apps/syncthing/screenshots/screenshot3.png",
  1015. "https://media.sys.truenas.net/apps/syncthing/screenshots/screenshot4.png"
  1016. ],
  1017. "sources": [
  1018. "https://syncthing.net/",
  1019. "https://github.com/syncthing/syncthing",
  1020. "https://hub.docker.com/r/syncthing/syncthing"
  1021. ],
  1022. "title": "Syncthing",
  1023. "train": "enterprise",
  1024. "version": "1.2.9"
  1025. }
  1026. }
  1027. }