app_versions.json 63 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090
  1. {
  2. "1.2.17": {
  3. "healthy": true,
  4. "supported": true,
  5. "healthy_error": null,
  6. "location": "/__w/apps/apps/trains/stable/syncthing/1.2.17",
  7. "last_update": "2025-09-05 14:25:56",
  8. "required_features": [],
  9. "human_version": "2.0.7_1.2.17",
  10. "version": "1.2.17",
  11. "app_metadata": {
  12. "annotations": {
  13. "min_scale_version": "24.10.2.2"
  14. },
  15. "app_version": "2.0.7",
  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. "changelog_url": "https://github.com/syncthing/syncthing/releases",
  54. "date_added": "2024-07-18",
  55. "description": "Syncthing is a continuous file synchronization program.",
  56. "home": "https://syncthing.net/",
  57. "host_mounts": [],
  58. "icon": "https://media.sys.truenas.net/apps/syncthing/icons/icon.svg",
  59. "keywords": [
  60. "sync",
  61. "file-sharing",
  62. "backup"
  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": "syncthing",
  74. "run_as_context": [
  75. {
  76. "description": "Syncthing runs as root user.",
  77. "gid": 0,
  78. "group_name": "root",
  79. "uid": 0,
  80. "user_name": "root"
  81. }
  82. ],
  83. "screenshots": [
  84. "https://media.sys.truenas.net/apps/syncthing/screenshots/screenshot1.png",
  85. "https://media.sys.truenas.net/apps/syncthing/screenshots/screenshot2.png",
  86. "https://media.sys.truenas.net/apps/syncthing/screenshots/screenshot3.png",
  87. "https://media.sys.truenas.net/apps/syncthing/screenshots/screenshot4.png"
  88. ],
  89. "sources": [
  90. "https://syncthing.net/",
  91. "https://github.com/syncthing/syncthing",
  92. "https://hub.docker.com/r/syncthing/syncthing"
  93. ],
  94. "title": "Syncthing",
  95. "train": "stable",
  96. "version": "1.2.17"
  97. },
  98. "schema": {
  99. "groups": [
  100. {
  101. "name": "Syncthing Configuration",
  102. "description": "Configure Syncthing"
  103. },
  104. {
  105. "name": "User and Group Configuration",
  106. "description": "Configure User and Group for Syncthing"
  107. },
  108. {
  109. "name": "Network Configuration",
  110. "description": "Configure Network for Syncthing"
  111. },
  112. {
  113. "name": "Storage Configuration",
  114. "description": "Configure Storage for Syncthing"
  115. },
  116. {
  117. "name": "Labels Configuration",
  118. "description": "Configure Labels for Syncthing"
  119. },
  120. {
  121. "name": "Resources Configuration",
  122. "description": "Configure Resources for Syncthing"
  123. }
  124. ],
  125. "questions": [
  126. {
  127. "variable": "TZ",
  128. "group": "Syncthing 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": "syncthing",
  141. "label": "",
  142. "group": "Syncthing Configuration",
  143. "schema": {
  144. "type": "dict",
  145. "attrs": [
  146. {
  147. "variable": "additional_envs",
  148. "label": "Additional Environment Variables",
  149. "schema": {
  150. "type": "list",
  151. "default": [],
  152. "items": [
  153. {
  154. "variable": "env",
  155. "label": "Environment Variable",
  156. "schema": {
  157. "type": "dict",
  158. "attrs": [
  159. {
  160. "variable": "name",
  161. "label": "Name",
  162. "schema": {
  163. "type": "string",
  164. "required": true
  165. }
  166. },
  167. {
  168. "variable": "value",
  169. "label": "Value",
  170. "schema": {
  171. "type": "string"
  172. }
  173. }
  174. ]
  175. }
  176. }
  177. ]
  178. }
  179. }
  180. ]
  181. }
  182. },
  183. {
  184. "variable": "run_as",
  185. "label": "",
  186. "group": "User and Group Configuration",
  187. "schema": {
  188. "type": "dict",
  189. "attrs": [
  190. {
  191. "variable": "user",
  192. "label": "User ID",
  193. "description": "The user id that Syncthing files will be owned by.",
  194. "schema": {
  195. "type": "int",
  196. "min": 0,
  197. "default": 568,
  198. "required": true
  199. }
  200. },
  201. {
  202. "variable": "group",
  203. "label": "Group ID",
  204. "description": "The group id that Syncthing files will be owned by.",
  205. "schema": {
  206. "type": "int",
  207. "min": 0,
  208. "default": 568,
  209. "required": true
  210. }
  211. }
  212. ]
  213. }
  214. },
  215. {
  216. "variable": "network",
  217. "label": "",
  218. "group": "Network Configuration",
  219. "schema": {
  220. "type": "dict",
  221. "attrs": [
  222. {
  223. "variable": "web_port",
  224. "label": "WebUI Port",
  225. "schema": {
  226. "type": "dict",
  227. "attrs": [
  228. {
  229. "variable": "bind_mode",
  230. "label": "Port Bind Mode",
  231. "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",
  232. "schema": {
  233. "type": "string",
  234. "default": "published",
  235. "enum": [
  236. {
  237. "value": "published",
  238. "description": "Publish port on the host for external access"
  239. },
  240. {
  241. "value": "exposed",
  242. "description": "Expose port for inter-container communication"
  243. },
  244. {
  245. "value": "",
  246. "description": "None"
  247. }
  248. ]
  249. }
  250. },
  251. {
  252. "variable": "port_number",
  253. "label": "Port Number",
  254. "schema": {
  255. "type": "int",
  256. "default": 20910,
  257. "min": 1,
  258. "max": 65535,
  259. "required": true
  260. }
  261. },
  262. {
  263. "variable": "host_ips",
  264. "label": "Host IPs",
  265. "description": "IPs on the host to bind this port",
  266. "schema": {
  267. "type": "list",
  268. "show_if": [
  269. [
  270. "bind_mode",
  271. "=",
  272. "published"
  273. ]
  274. ],
  275. "default": [],
  276. "items": [
  277. {
  278. "variable": "host_ip",
  279. "label": "Host IP",
  280. "schema": {
  281. "type": "string",
  282. "required": true,
  283. "$ref": [
  284. "definitions/node_bind_ip"
  285. ]
  286. }
  287. }
  288. ]
  289. }
  290. }
  291. ]
  292. }
  293. },
  294. {
  295. "variable": "tcp_port",
  296. "label": "TCP Port",
  297. "schema": {
  298. "type": "dict",
  299. "show_if": [
  300. [
  301. "host_network",
  302. "=",
  303. false
  304. ]
  305. ],
  306. "attrs": [
  307. {
  308. "variable": "bind_mode",
  309. "label": "Port Bind Mode",
  310. "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",
  311. "schema": {
  312. "type": "string",
  313. "default": "published",
  314. "enum": [
  315. {
  316. "value": "published",
  317. "description": "Publish port on the host for external access"
  318. },
  319. {
  320. "value": "exposed",
  321. "description": "Expose port for inter-container communication"
  322. },
  323. {
  324. "value": "",
  325. "description": "None"
  326. }
  327. ]
  328. }
  329. },
  330. {
  331. "variable": "port_number",
  332. "label": "Port Number",
  333. "schema": {
  334. "type": "int",
  335. "show_if": [
  336. [
  337. "bind_mode",
  338. "=",
  339. "published"
  340. ]
  341. ],
  342. "default": 20978,
  343. "min": 1,
  344. "max": 65535,
  345. "required": true
  346. }
  347. },
  348. {
  349. "variable": "host_ips",
  350. "label": "Host IPs",
  351. "description": "IPs on the host to bind this port",
  352. "schema": {
  353. "type": "list",
  354. "show_if": [
  355. [
  356. "bind_mode",
  357. "=",
  358. "published"
  359. ]
  360. ],
  361. "default": [],
  362. "items": [
  363. {
  364. "variable": "host_ip",
  365. "label": "Host IP",
  366. "schema": {
  367. "type": "string",
  368. "required": true,
  369. "$ref": [
  370. "definitions/node_bind_ip"
  371. ]
  372. }
  373. }
  374. ]
  375. }
  376. }
  377. ]
  378. }
  379. },
  380. {
  381. "variable": "udp_port",
  382. "label": "UDP Port",
  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": 20970,
  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": "Enabling this will use the host network for Syncthing.</br>\nThe TCP and UDP ports will listen on port 22000. </br>\nWeb UI will listen on the port specified above.\n",
  470. "schema": {
  471. "type": "boolean",
  472. "default": false
  473. }
  474. },
  475. {
  476. "variable": "dns_opts",
  477. "label": "DNS Options",
  478. "description": "DNS options for the container.</br>\nFormat: key:value</br>\nExample: attempts:3\n",
  479. "schema": {
  480. "type": "list",
  481. "default": [],
  482. "items": [
  483. {
  484. "variable": "option",
  485. "label": "Option",
  486. "schema": {
  487. "type": "string",
  488. "required": true
  489. }
  490. }
  491. ]
  492. }
  493. },
  494. {
  495. "variable": "certificate_id",
  496. "label": "Certificate",
  497. "description": "The certificate to use for Syncthing.",
  498. "schema": {
  499. "type": "int",
  500. "null": true,
  501. "$ref": [
  502. "definitions/certificate"
  503. ]
  504. }
  505. }
  506. ]
  507. }
  508. },
  509. {
  510. "variable": "storage",
  511. "label": "",
  512. "group": "Storage Configuration",
  513. "schema": {
  514. "type": "dict",
  515. "attrs": [
  516. {
  517. "variable": "config",
  518. "label": "Syncthing Config Storage",
  519. "description": "The path to store Syncthing Config.",
  520. "schema": {
  521. "type": "dict",
  522. "attrs": [
  523. {
  524. "variable": "type",
  525. "label": "Type",
  526. "description": "ixVolume: Is dataset created automatically by the system.</br>\nHost Path: Is a path that already exists on the system.\n",
  527. "schema": {
  528. "type": "string",
  529. "required": true,
  530. "default": "ix_volume",
  531. "enum": [
  532. {
  533. "value": "host_path",
  534. "description": "Host Path (Path that already exists on the system)"
  535. },
  536. {
  537. "value": "ix_volume",
  538. "description": "ixVolume (Dataset created automatically by the system)"
  539. }
  540. ]
  541. }
  542. },
  543. {
  544. "variable": "ix_volume_config",
  545. "label": "ixVolume Configuration",
  546. "description": "The configuration for the ixVolume dataset.",
  547. "schema": {
  548. "type": "dict",
  549. "show_if": [
  550. [
  551. "type",
  552. "=",
  553. "ix_volume"
  554. ]
  555. ],
  556. "$ref": [
  557. "normalize/ix_volume"
  558. ],
  559. "attrs": [
  560. {
  561. "variable": "acl_enable",
  562. "label": "Enable ACL",
  563. "description": "Enable ACL for the storage.",
  564. "schema": {
  565. "type": "boolean",
  566. "default": false
  567. }
  568. },
  569. {
  570. "variable": "dataset_name",
  571. "label": "Dataset Name",
  572. "description": "The name of the dataset to use for storage.",
  573. "schema": {
  574. "type": "string",
  575. "required": true,
  576. "hidden": true,
  577. "default": "config"
  578. }
  579. },
  580. {
  581. "variable": "acl_entries",
  582. "label": "ACL Configuration",
  583. "schema": {
  584. "type": "dict",
  585. "show_if": [
  586. [
  587. "acl_enable",
  588. "=",
  589. true
  590. ]
  591. ],
  592. "attrs": []
  593. }
  594. }
  595. ]
  596. }
  597. },
  598. {
  599. "variable": "host_path_config",
  600. "label": "Host Path Configuration",
  601. "schema": {
  602. "type": "dict",
  603. "show_if": [
  604. [
  605. "type",
  606. "=",
  607. "host_path"
  608. ]
  609. ],
  610. "attrs": [
  611. {
  612. "variable": "acl_enable",
  613. "label": "Enable ACL",
  614. "description": "Enable ACL for the storage.",
  615. "schema": {
  616. "type": "boolean",
  617. "default": false
  618. }
  619. },
  620. {
  621. "variable": "acl",
  622. "label": "ACL Configuration",
  623. "schema": {
  624. "type": "dict",
  625. "show_if": [
  626. [
  627. "acl_enable",
  628. "=",
  629. true
  630. ]
  631. ],
  632. "attrs": [],
  633. "$ref": [
  634. "normalize/acl"
  635. ]
  636. }
  637. },
  638. {
  639. "variable": "path",
  640. "label": "Host Path",
  641. "description": "The host path to use for storage.",
  642. "schema": {
  643. "type": "hostpath",
  644. "show_if": [
  645. [
  646. "acl_enable",
  647. "=",
  648. false
  649. ]
  650. ],
  651. "required": true
  652. }
  653. }
  654. ]
  655. }
  656. }
  657. ]
  658. }
  659. },
  660. {
  661. "variable": "additional_storage",
  662. "label": "Additional Storage",
  663. "schema": {
  664. "type": "list",
  665. "default": [],
  666. "items": [
  667. {
  668. "variable": "storageEntry",
  669. "label": "Storage Entry",
  670. "schema": {
  671. "type": "dict",
  672. "attrs": [
  673. {
  674. "variable": "type",
  675. "label": "Type",
  676. "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",
  677. "schema": {
  678. "type": "string",
  679. "required": true,
  680. "default": "ix_volume",
  681. "enum": [
  682. {
  683. "value": "host_path",
  684. "description": "Host Path (Path that already exists on the system)"
  685. },
  686. {
  687. "value": "ix_volume",
  688. "description": "ixVolume (Dataset created automatically by the system)"
  689. },
  690. {
  691. "value": "cifs",
  692. "description": "SMB/CIFS Share (Mounts a volume to a SMB share)"
  693. }
  694. ]
  695. }
  696. },
  697. {
  698. "variable": "read_only",
  699. "label": "Read Only",
  700. "description": "Mount the volume as read only.",
  701. "schema": {
  702. "type": "boolean",
  703. "default": false
  704. }
  705. },
  706. {
  707. "variable": "mount_path",
  708. "label": "Mount Path",
  709. "description": "The path inside the container to mount the storage.",
  710. "schema": {
  711. "type": "path",
  712. "required": true
  713. }
  714. },
  715. {
  716. "variable": "host_path_config",
  717. "label": "Host Path Configuration",
  718. "schema": {
  719. "type": "dict",
  720. "show_if": [
  721. [
  722. "type",
  723. "=",
  724. "host_path"
  725. ]
  726. ],
  727. "attrs": [
  728. {
  729. "variable": "acl_enable",
  730. "label": "Enable ACL",
  731. "description": "Enable ACL for the storage.",
  732. "schema": {
  733. "type": "boolean",
  734. "default": false
  735. }
  736. },
  737. {
  738. "variable": "acl",
  739. "label": "ACL Configuration",
  740. "schema": {
  741. "type": "dict",
  742. "show_if": [
  743. [
  744. "acl_enable",
  745. "=",
  746. true
  747. ]
  748. ],
  749. "attrs": [],
  750. "$ref": [
  751. "normalize/acl"
  752. ]
  753. }
  754. },
  755. {
  756. "variable": "path",
  757. "label": "Host Path",
  758. "description": "The host path to use for storage.",
  759. "schema": {
  760. "type": "hostpath",
  761. "show_if": [
  762. [
  763. "acl_enable",
  764. "=",
  765. false
  766. ]
  767. ],
  768. "required": true
  769. }
  770. }
  771. ]
  772. }
  773. },
  774. {
  775. "variable": "ix_volume_config",
  776. "label": "ixVolume Configuration",
  777. "description": "The configuration for the ixVolume dataset.",
  778. "schema": {
  779. "type": "dict",
  780. "show_if": [
  781. [
  782. "type",
  783. "=",
  784. "ix_volume"
  785. ]
  786. ],
  787. "$ref": [
  788. "normalize/ix_volume"
  789. ],
  790. "attrs": [
  791. {
  792. "variable": "acl_enable",
  793. "label": "Enable ACL",
  794. "description": "Enable ACL for the storage.",
  795. "schema": {
  796. "type": "boolean",
  797. "default": false
  798. }
  799. },
  800. {
  801. "variable": "dataset_name",
  802. "label": "Dataset Name",
  803. "description": "The name of the dataset to use for storage.",
  804. "schema": {
  805. "type": "string",
  806. "required": true,
  807. "default": "storage_entry"
  808. }
  809. },
  810. {
  811. "variable": "acl_entries",
  812. "label": "ACL Configuration",
  813. "schema": {
  814. "type": "dict",
  815. "show_if": [
  816. [
  817. "acl_enable",
  818. "=",
  819. true
  820. ]
  821. ],
  822. "attrs": []
  823. }
  824. }
  825. ]
  826. }
  827. },
  828. {
  829. "variable": "cifs_config",
  830. "label": "SMB Configuration",
  831. "description": "The configuration for the SMB dataset.",
  832. "schema": {
  833. "type": "dict",
  834. "show_if": [
  835. [
  836. "type",
  837. "=",
  838. "cifs"
  839. ]
  840. ],
  841. "attrs": [
  842. {
  843. "variable": "server",
  844. "label": "Server",
  845. "description": "The server to mount the SMB share.",
  846. "schema": {
  847. "type": "string",
  848. "required": true
  849. }
  850. },
  851. {
  852. "variable": "path",
  853. "label": "Path",
  854. "description": "The path to mount the SMB share.",
  855. "schema": {
  856. "type": "string",
  857. "required": true
  858. }
  859. },
  860. {
  861. "variable": "username",
  862. "label": "Username",
  863. "description": "The username to use for the SMB share.",
  864. "schema": {
  865. "type": "string",
  866. "required": true
  867. }
  868. },
  869. {
  870. "variable": "password",
  871. "label": "Password",
  872. "description": "The password to use for the SMB share.",
  873. "schema": {
  874. "type": "string",
  875. "required": true,
  876. "private": true
  877. }
  878. },
  879. {
  880. "variable": "domain",
  881. "label": "Domain",
  882. "description": "The domain to use for the SMB share.",
  883. "schema": {
  884. "type": "string"
  885. }
  886. }
  887. ]
  888. }
  889. }
  890. ]
  891. }
  892. }
  893. ]
  894. }
  895. }
  896. ]
  897. }
  898. },
  899. {
  900. "variable": "labels",
  901. "label": "",
  902. "group": "Labels Configuration",
  903. "schema": {
  904. "type": "list",
  905. "default": [],
  906. "items": [
  907. {
  908. "variable": "label",
  909. "label": "Label",
  910. "schema": {
  911. "type": "dict",
  912. "attrs": [
  913. {
  914. "variable": "key",
  915. "label": "Key",
  916. "schema": {
  917. "type": "string",
  918. "required": true
  919. }
  920. },
  921. {
  922. "variable": "value",
  923. "label": "Value",
  924. "schema": {
  925. "type": "string",
  926. "required": true
  927. }
  928. },
  929. {
  930. "variable": "containers",
  931. "label": "Containers",
  932. "description": "Containers where the label should be applied",
  933. "schema": {
  934. "type": "list",
  935. "items": [
  936. {
  937. "variable": "container",
  938. "label": "Container",
  939. "schema": {
  940. "type": "string",
  941. "required": true,
  942. "enum": [
  943. {
  944. "value": "syncthing",
  945. "description": "syncthing"
  946. }
  947. ]
  948. }
  949. }
  950. ]
  951. }
  952. }
  953. ]
  954. }
  955. }
  956. ]
  957. }
  958. },
  959. {
  960. "variable": "resources",
  961. "label": "",
  962. "group": "Resources Configuration",
  963. "schema": {
  964. "type": "dict",
  965. "attrs": [
  966. {
  967. "variable": "limits",
  968. "label": "Limits",
  969. "schema": {
  970. "type": "dict",
  971. "attrs": [
  972. {
  973. "variable": "cpus",
  974. "label": "CPUs",
  975. "description": "CPUs limit for Syncthing.",
  976. "schema": {
  977. "type": "int",
  978. "default": 2,
  979. "required": true
  980. }
  981. },
  982. {
  983. "variable": "memory",
  984. "label": "Memory (in MB)",
  985. "description": "Memory limit for Syncthing.",
  986. "schema": {
  987. "type": "int",
  988. "default": 4096,
  989. "required": true
  990. }
  991. }
  992. ]
  993. }
  994. }
  995. ]
  996. }
  997. }
  998. ]
  999. },
  1000. "readme": "<h1>Syncthing</h1> <p><a href=\"https://syncthing.net/\">Syncthing</a> is a continuous file synchronization program. It synchronizes files between two or more computers in real time, safely protected from prying eyes. Your data is your data alone and you deserve to choose where it is stored, whether it is shared with some third party, and how it's transmitted over the internet.</p> <blockquote> <p><strong>WARNING</strong> Do check out <a href=\"https://docs.syncthing.net/users/faq.html#what-things-are-synced\">official docs</a> to see what is synced.</p> </blockquote>",
  1001. "changelog": null,
  1002. "chart_metadata": {
  1003. "annotations": {
  1004. "min_scale_version": "24.10.2.2"
  1005. },
  1006. "app_version": "2.0.7",
  1007. "capabilities": [
  1008. {
  1009. "description": "Syncthing is able to change file ownership arbitrarily",
  1010. "name": "CHOWN"
  1011. },
  1012. {
  1013. "description": "Syncthing is able to bypass file permission checks",
  1014. "name": "DAC_OVERRIDE"
  1015. },
  1016. {
  1017. "description": "Syncthing is able to bypass permission checks for file operations",
  1018. "name": "FOWNER"
  1019. },
  1020. {
  1021. "description": "Syncthing is able to set file capabilities on other files",
  1022. "name": "SETFCAP"
  1023. },
  1024. {
  1025. "description": "Syncthing is able to change group ID of processes",
  1026. "name": "SETGID"
  1027. },
  1028. {
  1029. "description": "Syncthing is able to transfer capabilities between processes",
  1030. "name": "SETPCAP"
  1031. },
  1032. {
  1033. "description": "Syncthing is able to change user ID of processes",
  1034. "name": "SETUID"
  1035. },
  1036. {
  1037. "description": "Syncthing is able to perform system administration operations",
  1038. "name": "SYS_ADMIN"
  1039. }
  1040. ],
  1041. "categories": [
  1042. "storage"
  1043. ],
  1044. "changelog_url": "https://github.com/syncthing/syncthing/releases",
  1045. "date_added": "2024-07-18",
  1046. "description": "Syncthing is a continuous file synchronization program.",
  1047. "home": "https://syncthing.net/",
  1048. "host_mounts": [],
  1049. "icon": "https://media.sys.truenas.net/apps/syncthing/icons/icon.svg",
  1050. "keywords": [
  1051. "sync",
  1052. "file-sharing",
  1053. "backup"
  1054. ],
  1055. "lib_version": "2.1.49",
  1056. "lib_version_hash": "e71e6b0122c9446fa5ea6fb07e7eb01b11fb42d549a19845426bbd7e21a42634",
  1057. "maintainers": [
  1058. {
  1059. "email": "dev@ixsystems.com",
  1060. "name": "truenas",
  1061. "url": "https://www.truenas.com/"
  1062. }
  1063. ],
  1064. "name": "syncthing",
  1065. "run_as_context": [
  1066. {
  1067. "description": "Syncthing runs as root user.",
  1068. "gid": 0,
  1069. "group_name": "root",
  1070. "uid": 0,
  1071. "user_name": "root"
  1072. }
  1073. ],
  1074. "screenshots": [
  1075. "https://media.sys.truenas.net/apps/syncthing/screenshots/screenshot1.png",
  1076. "https://media.sys.truenas.net/apps/syncthing/screenshots/screenshot2.png",
  1077. "https://media.sys.truenas.net/apps/syncthing/screenshots/screenshot3.png",
  1078. "https://media.sys.truenas.net/apps/syncthing/screenshots/screenshot4.png"
  1079. ],
  1080. "sources": [
  1081. "https://syncthing.net/",
  1082. "https://github.com/syncthing/syncthing",
  1083. "https://hub.docker.com/r/syncthing/syncthing"
  1084. ],
  1085. "title": "Syncthing",
  1086. "train": "stable",
  1087. "version": "1.2.17"
  1088. }
  1089. }
  1090. }