app_versions.json 67 KB

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