app_versions.json 67 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106
  1. {
  2. "1.0.10": {
  3. "healthy": true,
  4. "supported": true,
  5. "healthy_error": null,
  6. "location": "/__w/apps/apps/trains/community/traccar/1.0.10",
  7. "last_update": "2025-09-02 11:33:24",
  8. "required_features": [],
  9. "human_version": "6.9.1_1.0.10",
  10. "version": "1.0.10",
  11. "app_metadata": {
  12. "app_version": "6.9.1",
  13. "capabilities": [],
  14. "categories": [
  15. "productivity"
  16. ],
  17. "changelog_url": "https://github.com/traccar/traccar/releases",
  18. "date_added": "2025-06-21",
  19. "description": "Traccar GPS Tracking System",
  20. "home": "https://www.traccar.org/",
  21. "host_mounts": [],
  22. "icon": "https://media.sys.truenas.net/apps/traccar/icons/icon.svg",
  23. "keywords": [
  24. "gps",
  25. "tracking"
  26. ],
  27. "lib_version": "2.1.49",
  28. "lib_version_hash": "e71e6b0122c9446fa5ea6fb07e7eb01b11fb42d549a19845426bbd7e21a42634",
  29. "maintainers": [
  30. {
  31. "email": "dev@ixsystems.com",
  32. "name": "truenas",
  33. "url": "https://www.truenas.com/"
  34. }
  35. ],
  36. "name": "traccar",
  37. "run_as_context": [
  38. {
  39. "description": "Traccar runs as any non-root user.",
  40. "gid": 568,
  41. "group_name": "traccar",
  42. "uid": 568,
  43. "user_name": "traccar"
  44. },
  45. {
  46. "description": "Postgres runs as non-root user.",
  47. "gid": 999,
  48. "group_name": "postgres",
  49. "uid": 999,
  50. "user_name": "postgres"
  51. }
  52. ],
  53. "screenshots": [],
  54. "sources": [
  55. "https://github.com/traccar/traccar"
  56. ],
  57. "title": "Traccar",
  58. "train": "community",
  59. "version": "1.0.10"
  60. },
  61. "schema": {
  62. "groups": [
  63. {
  64. "name": "Traccar Configuration",
  65. "description": "Configure Traccar"
  66. },
  67. {
  68. "name": "User and Group Configuration",
  69. "description": "Configure User and Group for Traccar"
  70. },
  71. {
  72. "name": "Network Configuration",
  73. "description": "Configure Network for Traccar"
  74. },
  75. {
  76. "name": "Storage Configuration",
  77. "description": "Configure Storage for Traccar"
  78. },
  79. {
  80. "name": "Labels Configuration",
  81. "description": "Configure Labels for Traccar"
  82. },
  83. {
  84. "name": "Resources Configuration",
  85. "description": "Configure Resources for Traccar"
  86. }
  87. ],
  88. "questions": [
  89. {
  90. "variable": "TZ",
  91. "group": "Traccar Configuration",
  92. "label": "Timezone",
  93. "schema": {
  94. "type": "string",
  95. "default": "Etc/UTC",
  96. "required": true,
  97. "$ref": [
  98. "definitions/timezone"
  99. ]
  100. }
  101. },
  102. {
  103. "variable": "traccar",
  104. "label": "",
  105. "group": "Traccar Configuration",
  106. "schema": {
  107. "type": "dict",
  108. "attrs": [
  109. {
  110. "variable": "postgres_image_selector",
  111. "label": "Postgres Image (CAUTION)",
  112. "description": "If you are changing this after the postgres directory has been initialized,</br>\nSTOP! and make sure you have a backup of your data.</br>\nChanging this will trigger an one way database upgrade.</br>\nYou can only select newer versions of postgres.</br>\nSelecting an older version will refuse to start.</br>\nIf something goes wrong, you will have to restore from backup.\n",
  113. "schema": {
  114. "type": "string",
  115. "default": "postgres_17_image",
  116. "required": true,
  117. "enum": [
  118. {
  119. "value": "postgres_17_image",
  120. "description": "Postgres 17"
  121. }
  122. ]
  123. }
  124. },
  125. {
  126. "variable": "db_password",
  127. "label": "Database Password",
  128. "description": "The password for Traccar.",
  129. "schema": {
  130. "type": "string",
  131. "default": "",
  132. "required": true,
  133. "private": true
  134. }
  135. },
  136. {
  137. "variable": "additional_envs",
  138. "label": "Additional Environment Variables",
  139. "description": "You can add anything you would add to the `traccar.xml` file.</br>\nFor example ldap.nameAttribute would be LDAP_NAME_ATTRIBUTE.</br>\nSee available options here: https://www.traccar.org/configuration-file/\n",
  140. "schema": {
  141. "type": "list",
  142. "default": [],
  143. "items": [
  144. {
  145. "variable": "env",
  146. "label": "Environment Variable",
  147. "schema": {
  148. "type": "dict",
  149. "attrs": [
  150. {
  151. "variable": "name",
  152. "label": "Name",
  153. "schema": {
  154. "type": "string",
  155. "required": true
  156. }
  157. },
  158. {
  159. "variable": "value",
  160. "label": "Value",
  161. "schema": {
  162. "type": "string"
  163. }
  164. }
  165. ]
  166. }
  167. }
  168. ]
  169. }
  170. }
  171. ]
  172. }
  173. },
  174. {
  175. "variable": "run_as",
  176. "label": "",
  177. "group": "User and Group Configuration",
  178. "schema": {
  179. "type": "dict",
  180. "attrs": [
  181. {
  182. "variable": "user",
  183. "label": "User ID",
  184. "description": "The user id that Traccar files will be owned by.",
  185. "schema": {
  186. "type": "int",
  187. "min": 568,
  188. "default": 568,
  189. "required": true
  190. }
  191. },
  192. {
  193. "variable": "group",
  194. "label": "Group ID",
  195. "description": "The group id that Traccar files will be owned by.",
  196. "schema": {
  197. "type": "int",
  198. "min": 568,
  199. "default": 568,
  200. "required": true
  201. }
  202. }
  203. ]
  204. }
  205. },
  206. {
  207. "variable": "network",
  208. "label": "",
  209. "group": "Network Configuration",
  210. "schema": {
  211. "type": "dict",
  212. "attrs": [
  213. {
  214. "variable": "web_port",
  215. "label": "WebUI Port",
  216. "schema": {
  217. "type": "dict",
  218. "attrs": [
  219. {
  220. "variable": "bind_mode",
  221. "label": "Port Bind Mode",
  222. "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",
  223. "schema": {
  224. "type": "string",
  225. "default": "published",
  226. "enum": [
  227. {
  228. "value": "published",
  229. "description": "Publish port on the host for external access"
  230. },
  231. {
  232. "value": "exposed",
  233. "description": "Expose port for inter-container communication"
  234. },
  235. {
  236. "value": "",
  237. "description": "None"
  238. }
  239. ]
  240. }
  241. },
  242. {
  243. "variable": "port_number",
  244. "label": "Port Number",
  245. "schema": {
  246. "type": "int",
  247. "default": 30206,
  248. "min": 1,
  249. "max": 65535,
  250. "required": true
  251. }
  252. },
  253. {
  254. "variable": "host_ips",
  255. "label": "Host IPs",
  256. "description": "IPs on the host to bind this port",
  257. "schema": {
  258. "type": "list",
  259. "show_if": [
  260. [
  261. "bind_mode",
  262. "=",
  263. "published"
  264. ]
  265. ],
  266. "default": [],
  267. "items": [
  268. {
  269. "variable": "host_ip",
  270. "label": "Host IP",
  271. "schema": {
  272. "type": "string",
  273. "required": true,
  274. "$ref": [
  275. "definitions/node_bind_ip"
  276. ]
  277. }
  278. }
  279. ]
  280. }
  281. }
  282. ]
  283. }
  284. },
  285. {
  286. "variable": "additional_port_ranges",
  287. "label": "Additional Port Ranges",
  288. "schema": {
  289. "type": "list",
  290. "default": [],
  291. "items": [
  292. {
  293. "variable": "port_range",
  294. "label": "Port Range",
  295. "schema": {
  296. "type": "dict",
  297. "attrs": [
  298. {
  299. "variable": "bind_mode",
  300. "label": "Port Bind Mode",
  301. "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",
  302. "schema": {
  303. "type": "string",
  304. "default": "published",
  305. "enum": [
  306. {
  307. "value": "published",
  308. "description": "Publish port on the host for external access"
  309. },
  310. {
  311. "value": "exposed",
  312. "description": "Expose port for inter-container communication"
  313. }
  314. ]
  315. }
  316. },
  317. {
  318. "variable": "protocol",
  319. "label": "Protocol",
  320. "schema": {
  321. "type": "string",
  322. "required": true,
  323. "default": "tcp",
  324. "enum": [
  325. {
  326. "value": "tcp",
  327. "description": "TCP"
  328. },
  329. {
  330. "value": "udp",
  331. "description": "UDP"
  332. }
  333. ]
  334. }
  335. },
  336. {
  337. "variable": "start",
  338. "label": "Start",
  339. "description": "The start of the range.",
  340. "schema": {
  341. "type": "int",
  342. "min": 1,
  343. "max": 65535,
  344. "required": true
  345. }
  346. },
  347. {
  348. "variable": "end",
  349. "label": "End",
  350. "description": "The end of the range.",
  351. "schema": {
  352. "type": "int",
  353. "min": 1,
  354. "max": 65535,
  355. "required": true
  356. }
  357. },
  358. {
  359. "variable": "host_ips",
  360. "label": "Host IPs",
  361. "description": "IPs on the host to bind this port",
  362. "schema": {
  363. "type": "list",
  364. "show_if": [
  365. [
  366. "bind_mode",
  367. "=",
  368. "published"
  369. ]
  370. ],
  371. "default": [],
  372. "items": [
  373. {
  374. "variable": "host_ip",
  375. "label": "Host IP",
  376. "schema": {
  377. "type": "string",
  378. "required": true,
  379. "$ref": [
  380. "definitions/node_bind_ip"
  381. ]
  382. }
  383. }
  384. ]
  385. }
  386. }
  387. ]
  388. }
  389. }
  390. ]
  391. }
  392. }
  393. ]
  394. }
  395. },
  396. {
  397. "variable": "storage",
  398. "label": "",
  399. "group": "Storage Configuration",
  400. "schema": {
  401. "type": "dict",
  402. "attrs": [
  403. {
  404. "variable": "data",
  405. "label": "Data Storage",
  406. "schema": {
  407. "type": "dict",
  408. "attrs": [
  409. {
  410. "variable": "type",
  411. "label": "Type",
  412. "description": "ixVolume: Is dataset created automatically by the system.</br>\nHost Path: Is a path that already exists on the system.\n",
  413. "schema": {
  414. "type": "string",
  415. "required": true,
  416. "default": "ix_volume",
  417. "enum": [
  418. {
  419. "value": "host_path",
  420. "description": "Host Path (Path that already exists on the system)"
  421. },
  422. {
  423. "value": "ix_volume",
  424. "description": "ixVolume (Dataset created automatically by the system)"
  425. }
  426. ]
  427. }
  428. },
  429. {
  430. "variable": "ix_volume_config",
  431. "label": "ixVolume Configuration",
  432. "description": "The configuration for the ixVolume dataset.",
  433. "schema": {
  434. "type": "dict",
  435. "show_if": [
  436. [
  437. "type",
  438. "=",
  439. "ix_volume"
  440. ]
  441. ],
  442. "$ref": [
  443. "normalize/ix_volume"
  444. ],
  445. "attrs": [
  446. {
  447. "variable": "acl_enable",
  448. "label": "Enable ACL",
  449. "description": "Enable ACL for the storage.",
  450. "schema": {
  451. "type": "boolean",
  452. "default": false
  453. }
  454. },
  455. {
  456. "variable": "dataset_name",
  457. "label": "Dataset Name",
  458. "description": "The name of the dataset to use for storage.",
  459. "schema": {
  460. "type": "string",
  461. "required": true,
  462. "hidden": true,
  463. "default": "data"
  464. }
  465. },
  466. {
  467. "variable": "acl_entries",
  468. "label": "ACL Configuration",
  469. "schema": {
  470. "type": "dict",
  471. "show_if": [
  472. [
  473. "acl_enable",
  474. "=",
  475. true
  476. ]
  477. ],
  478. "attrs": []
  479. }
  480. }
  481. ]
  482. }
  483. },
  484. {
  485. "variable": "host_path_config",
  486. "label": "Host Path Configuration",
  487. "schema": {
  488. "type": "dict",
  489. "show_if": [
  490. [
  491. "type",
  492. "=",
  493. "host_path"
  494. ]
  495. ],
  496. "attrs": [
  497. {
  498. "variable": "acl_enable",
  499. "label": "Enable ACL",
  500. "description": "Enable ACL for the storage.",
  501. "schema": {
  502. "type": "boolean",
  503. "default": false
  504. }
  505. },
  506. {
  507. "variable": "acl",
  508. "label": "ACL Configuration",
  509. "schema": {
  510. "type": "dict",
  511. "show_if": [
  512. [
  513. "acl_enable",
  514. "=",
  515. true
  516. ]
  517. ],
  518. "attrs": [],
  519. "$ref": [
  520. "normalize/acl"
  521. ]
  522. }
  523. },
  524. {
  525. "variable": "path",
  526. "label": "Host Path",
  527. "description": "The host path to use for storage.",
  528. "schema": {
  529. "type": "hostpath",
  530. "show_if": [
  531. [
  532. "acl_enable",
  533. "=",
  534. false
  535. ]
  536. ],
  537. "required": true
  538. }
  539. }
  540. ]
  541. }
  542. }
  543. ]
  544. }
  545. },
  546. {
  547. "variable": "postgres_data",
  548. "label": "Postgres Data Storage",
  549. "description": "The path to store Postgres Data.",
  550. "schema": {
  551. "type": "dict",
  552. "attrs": [
  553. {
  554. "variable": "type",
  555. "label": "Type",
  556. "description": "ixVolume: Is dataset created automatically by the system.</br>\nHost Path: Is a path that already exists on the system.\n",
  557. "schema": {
  558. "type": "string",
  559. "required": true,
  560. "default": "ix_volume",
  561. "enum": [
  562. {
  563. "value": "host_path",
  564. "description": "Host Path (Path that already exists on the system)"
  565. },
  566. {
  567. "value": "ix_volume",
  568. "description": "ixVolume (Dataset created automatically by the system)"
  569. }
  570. ]
  571. }
  572. },
  573. {
  574. "variable": "ix_volume_config",
  575. "label": "ixVolume Configuration",
  576. "description": "The configuration for the ixVolume dataset.",
  577. "schema": {
  578. "type": "dict",
  579. "show_if": [
  580. [
  581. "type",
  582. "=",
  583. "ix_volume"
  584. ]
  585. ],
  586. "$ref": [
  587. "normalize/ix_volume"
  588. ],
  589. "attrs": [
  590. {
  591. "variable": "acl_enable",
  592. "label": "Enable ACL",
  593. "description": "Enable ACL for the storage.",
  594. "schema": {
  595. "type": "boolean",
  596. "default": false
  597. }
  598. },
  599. {
  600. "variable": "dataset_name",
  601. "label": "Dataset Name",
  602. "description": "The name of the dataset to use for storage.",
  603. "schema": {
  604. "type": "string",
  605. "required": true,
  606. "hidden": true,
  607. "default": "pg_data"
  608. }
  609. },
  610. {
  611. "variable": "acl_entries",
  612. "label": "ACL Configuration",
  613. "schema": {
  614. "type": "dict",
  615. "show_if": [
  616. [
  617. "acl_enable",
  618. "=",
  619. true
  620. ]
  621. ],
  622. "attrs": []
  623. }
  624. }
  625. ]
  626. }
  627. },
  628. {
  629. "variable": "host_path_config",
  630. "label": "Host Path Configuration",
  631. "schema": {
  632. "type": "dict",
  633. "show_if": [
  634. [
  635. "type",
  636. "=",
  637. "host_path"
  638. ]
  639. ],
  640. "attrs": [
  641. {
  642. "variable": "acl_enable",
  643. "label": "Enable ACL",
  644. "description": "Enable ACL for the storage.",
  645. "schema": {
  646. "type": "boolean",
  647. "default": false
  648. }
  649. },
  650. {
  651. "variable": "acl",
  652. "label": "ACL Configuration",
  653. "schema": {
  654. "type": "dict",
  655. "show_if": [
  656. [
  657. "acl_enable",
  658. "=",
  659. true
  660. ]
  661. ],
  662. "attrs": [],
  663. "$ref": [
  664. "normalize/acl"
  665. ]
  666. }
  667. },
  668. {
  669. "variable": "path",
  670. "label": "Host Path",
  671. "description": "The host path to use for storage.",
  672. "schema": {
  673. "type": "hostpath",
  674. "show_if": [
  675. [
  676. "acl_enable",
  677. "=",
  678. false
  679. ]
  680. ],
  681. "required": true
  682. }
  683. },
  684. {
  685. "variable": "auto_permissions",
  686. "label": "Automatic Permissions",
  687. "description": "Automatically set permissions for the host path.\nEnabling this, will check the top level directory,</br>\nIf it finds incorrect permissions, it will `chown` the\nhost path to the user and group required for the\npostgres container.\n",
  688. "schema": {
  689. "type": "boolean",
  690. "default": false,
  691. "show_if": [
  692. [
  693. "acl_enable",
  694. "=",
  695. false
  696. ]
  697. ]
  698. }
  699. }
  700. ]
  701. }
  702. }
  703. ]
  704. }
  705. },
  706. {
  707. "variable": "additional_storage",
  708. "label": "Additional Storage",
  709. "schema": {
  710. "type": "list",
  711. "default": [],
  712. "items": [
  713. {
  714. "variable": "storageEntry",
  715. "label": "Storage Entry",
  716. "schema": {
  717. "type": "dict",
  718. "attrs": [
  719. {
  720. "variable": "type",
  721. "label": "Type",
  722. "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",
  723. "schema": {
  724. "type": "string",
  725. "required": true,
  726. "default": "ix_volume",
  727. "enum": [
  728. {
  729. "value": "host_path",
  730. "description": "Host Path (Path that already exists on the system)"
  731. },
  732. {
  733. "value": "ix_volume",
  734. "description": "ixVolume (Dataset created automatically by the system)"
  735. },
  736. {
  737. "value": "cifs",
  738. "description": "SMB/CIFS Share (Mounts a volume to a SMB share)"
  739. }
  740. ]
  741. }
  742. },
  743. {
  744. "variable": "read_only",
  745. "label": "Read Only",
  746. "description": "Mount the volume as read only.",
  747. "schema": {
  748. "type": "boolean",
  749. "default": false
  750. }
  751. },
  752. {
  753. "variable": "mount_path",
  754. "label": "Mount Path",
  755. "description": "The path inside the container to mount the storage.",
  756. "schema": {
  757. "type": "path",
  758. "required": true
  759. }
  760. },
  761. {
  762. "variable": "host_path_config",
  763. "label": "Host Path Configuration",
  764. "schema": {
  765. "type": "dict",
  766. "show_if": [
  767. [
  768. "type",
  769. "=",
  770. "host_path"
  771. ]
  772. ],
  773. "attrs": [
  774. {
  775. "variable": "acl_enable",
  776. "label": "Enable ACL",
  777. "description": "Enable ACL for the storage.",
  778. "schema": {
  779. "type": "boolean",
  780. "default": false
  781. }
  782. },
  783. {
  784. "variable": "acl",
  785. "label": "ACL Configuration",
  786. "schema": {
  787. "type": "dict",
  788. "show_if": [
  789. [
  790. "acl_enable",
  791. "=",
  792. true
  793. ]
  794. ],
  795. "attrs": [],
  796. "$ref": [
  797. "normalize/acl"
  798. ]
  799. }
  800. },
  801. {
  802. "variable": "path",
  803. "label": "Host Path",
  804. "description": "The host path to use for storage.",
  805. "schema": {
  806. "type": "hostpath",
  807. "show_if": [
  808. [
  809. "acl_enable",
  810. "=",
  811. false
  812. ]
  813. ],
  814. "required": true
  815. }
  816. }
  817. ]
  818. }
  819. },
  820. {
  821. "variable": "ix_volume_config",
  822. "label": "ixVolume Configuration",
  823. "description": "The configuration for the ixVolume dataset.",
  824. "schema": {
  825. "type": "dict",
  826. "show_if": [
  827. [
  828. "type",
  829. "=",
  830. "ix_volume"
  831. ]
  832. ],
  833. "$ref": [
  834. "normalize/ix_volume"
  835. ],
  836. "attrs": [
  837. {
  838. "variable": "acl_enable",
  839. "label": "Enable ACL",
  840. "description": "Enable ACL for the storage.",
  841. "schema": {
  842. "type": "boolean",
  843. "default": false
  844. }
  845. },
  846. {
  847. "variable": "dataset_name",
  848. "label": "Dataset Name",
  849. "description": "The name of the dataset to use for storage.",
  850. "schema": {
  851. "type": "string",
  852. "required": true,
  853. "default": "storage_entry"
  854. }
  855. },
  856. {
  857. "variable": "acl_entries",
  858. "label": "ACL Configuration",
  859. "schema": {
  860. "type": "dict",
  861. "show_if": [
  862. [
  863. "acl_enable",
  864. "=",
  865. true
  866. ]
  867. ],
  868. "attrs": [],
  869. "$ref": [
  870. "normalize/acl"
  871. ]
  872. }
  873. }
  874. ]
  875. }
  876. },
  877. {
  878. "variable": "cifs_config",
  879. "label": "SMB Configuration",
  880. "description": "The configuration for the SMB dataset.",
  881. "schema": {
  882. "type": "dict",
  883. "show_if": [
  884. [
  885. "type",
  886. "=",
  887. "cifs"
  888. ]
  889. ],
  890. "attrs": [
  891. {
  892. "variable": "server",
  893. "label": "Server",
  894. "description": "The server to mount the SMB share.",
  895. "schema": {
  896. "type": "string",
  897. "required": true
  898. }
  899. },
  900. {
  901. "variable": "path",
  902. "label": "Path",
  903. "description": "The path to mount the SMB share.",
  904. "schema": {
  905. "type": "string",
  906. "required": true
  907. }
  908. },
  909. {
  910. "variable": "username",
  911. "label": "Username",
  912. "description": "The username to use for the SMB share.",
  913. "schema": {
  914. "type": "string",
  915. "required": true
  916. }
  917. },
  918. {
  919. "variable": "password",
  920. "label": "Password",
  921. "description": "The password to use for the SMB share.",
  922. "schema": {
  923. "type": "string",
  924. "required": true,
  925. "private": true
  926. }
  927. },
  928. {
  929. "variable": "domain",
  930. "label": "Domain",
  931. "description": "The domain to use for the SMB share.",
  932. "schema": {
  933. "type": "string"
  934. }
  935. }
  936. ]
  937. }
  938. }
  939. ]
  940. }
  941. }
  942. ]
  943. }
  944. }
  945. ]
  946. }
  947. },
  948. {
  949. "variable": "labels",
  950. "label": "",
  951. "group": "Labels Configuration",
  952. "schema": {
  953. "type": "list",
  954. "default": [],
  955. "items": [
  956. {
  957. "variable": "label",
  958. "label": "Label",
  959. "schema": {
  960. "type": "dict",
  961. "attrs": [
  962. {
  963. "variable": "key",
  964. "label": "Key",
  965. "schema": {
  966. "type": "string",
  967. "required": true
  968. }
  969. },
  970. {
  971. "variable": "value",
  972. "label": "Value",
  973. "schema": {
  974. "type": "string",
  975. "required": true
  976. }
  977. },
  978. {
  979. "variable": "containers",
  980. "label": "Containers",
  981. "description": "Containers where the label should be applied",
  982. "schema": {
  983. "type": "list",
  984. "items": [
  985. {
  986. "variable": "container",
  987. "label": "Container",
  988. "schema": {
  989. "type": "string",
  990. "required": true,
  991. "enum": [
  992. {
  993. "value": "traccar",
  994. "description": "traccar"
  995. },
  996. {
  997. "value": "postgres",
  998. "description": "postgres"
  999. }
  1000. ]
  1001. }
  1002. }
  1003. ]
  1004. }
  1005. }
  1006. ]
  1007. }
  1008. }
  1009. ]
  1010. }
  1011. },
  1012. {
  1013. "variable": "resources",
  1014. "label": "",
  1015. "group": "Resources Configuration",
  1016. "schema": {
  1017. "type": "dict",
  1018. "attrs": [
  1019. {
  1020. "variable": "limits",
  1021. "label": "Limits",
  1022. "schema": {
  1023. "type": "dict",
  1024. "attrs": [
  1025. {
  1026. "variable": "cpus",
  1027. "label": "CPUs",
  1028. "description": "CPUs limit for Traccar.",
  1029. "schema": {
  1030. "type": "int",
  1031. "default": 2,
  1032. "required": true
  1033. }
  1034. },
  1035. {
  1036. "variable": "memory",
  1037. "label": "Memory (in MB)",
  1038. "description": "Memory limit for Traccar.",
  1039. "schema": {
  1040. "type": "int",
  1041. "default": 4096,
  1042. "required": true
  1043. }
  1044. }
  1045. ]
  1046. }
  1047. }
  1048. ]
  1049. }
  1050. }
  1051. ]
  1052. },
  1053. "readme": "<h1>Traccar</h1> <p><a href=\"https://www.traccar.org/\">Traccar</a> GPS Tracking System</p>",
  1054. "changelog": null,
  1055. "chart_metadata": {
  1056. "app_version": "6.9.1",
  1057. "capabilities": [],
  1058. "categories": [
  1059. "productivity"
  1060. ],
  1061. "changelog_url": "https://github.com/traccar/traccar/releases",
  1062. "date_added": "2025-06-21",
  1063. "description": "Traccar GPS Tracking System",
  1064. "home": "https://www.traccar.org/",
  1065. "host_mounts": [],
  1066. "icon": "https://media.sys.truenas.net/apps/traccar/icons/icon.svg",
  1067. "keywords": [
  1068. "gps",
  1069. "tracking"
  1070. ],
  1071. "lib_version": "2.1.49",
  1072. "lib_version_hash": "e71e6b0122c9446fa5ea6fb07e7eb01b11fb42d549a19845426bbd7e21a42634",
  1073. "maintainers": [
  1074. {
  1075. "email": "dev@ixsystems.com",
  1076. "name": "truenas",
  1077. "url": "https://www.truenas.com/"
  1078. }
  1079. ],
  1080. "name": "traccar",
  1081. "run_as_context": [
  1082. {
  1083. "description": "Traccar runs as any non-root user.",
  1084. "gid": 568,
  1085. "group_name": "traccar",
  1086. "uid": 568,
  1087. "user_name": "traccar"
  1088. },
  1089. {
  1090. "description": "Postgres runs as non-root user.",
  1091. "gid": 999,
  1092. "group_name": "postgres",
  1093. "uid": 999,
  1094. "user_name": "postgres"
  1095. }
  1096. ],
  1097. "screenshots": [],
  1098. "sources": [
  1099. "https://github.com/traccar/traccar"
  1100. ],
  1101. "title": "Traccar",
  1102. "train": "community",
  1103. "version": "1.0.10"
  1104. }
  1105. }
  1106. }