template.yaml 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213
  1. kind: compose
  2. metadata:
  3. name: Authentik
  4. description: 'Integrate Authentik Single Sign-On (SSO) for secure and streamlined
  5. user authentication.
  6. Authentik is an open-source identity provider that supports various authentication
  7. protocols.
  8. This configuration enables OAuth-based SSO, allowing users to log in using their
  9. Authentik
  10. credentials, enhancing security and user experience.
  11. ## Prerequisites
  12. - :warning: The `authentik_secret_key` must be generated using the following command
  13. according to the official documentation.
  14. ```bash
  15. echo "$(openssl rand -base64 60 | tr -d ''\n'')"
  16. ```
  17. ## References
  18. * **Project:** https://goauthentik.io/
  19. * **Documentation:** https://goauthentik.io/docs/
  20. * **GitHub:** https://github.com/goauthentik/authentik'
  21. icon:
  22. provider: selfh
  23. id: authentik
  24. next_steps: 'Log in with your initial admin user:
  25. ```bash
  26. Username: akadmin
  27. Password: {{ authentik_admin_password }}
  28. ```'
  29. version: 2025.12.4
  30. author: Christian Lempa
  31. date: '2026-02-12'
  32. tags:
  33. - traefik
  34. - volume
  35. schema: '1.2'
  36. spec:
  37. general:
  38. vars:
  39. service_name:
  40. default: authentik
  41. restart_policy:
  42. type: enum
  43. options:
  44. - unless-stopped
  45. - always
  46. - on-failure
  47. - 'no'
  48. default: unless-stopped
  49. required: true
  50. database:
  51. vars:
  52. database_password:
  53. description: Database password
  54. type: str
  55. sensitive: true
  56. autogenerated: true
  57. required: true
  58. database_user:
  59. type: str
  60. default: authentik
  61. description: The database user
  62. database_name:
  63. type: str
  64. default: authentik
  65. description: The database name
  66. database_external:
  67. type: bool
  68. default: false
  69. description: Use external database
  70. ports:
  71. vars:
  72. ports_http:
  73. default: 8000
  74. ports_https:
  75. default: 8443
  76. traefik:
  77. vars:
  78. traefik_host:
  79. default: authentik
  80. traefik_network:
  81. default: traefik
  82. type: str
  83. required: true
  84. traefik_domain:
  85. default: home.arpa
  86. type: str
  87. required: true
  88. traefik_enabled:
  89. type: bool
  90. default: false
  91. description: Enable Traefik integration
  92. toggle: traefik_enabled
  93. title: Traefik
  94. description: Configure Traefik reverse proxy integration
  95. authentik:
  96. description: Configure Authentik application settings
  97. required: true
  98. vars:
  99. authentik_secret_key:
  100. description: Secret Key
  101. extra: Used for cookie signing and unique user IDs
  102. type: str
  103. sensitive: true
  104. autogenerated: true
  105. required: true
  106. authentik_admin_password:
  107. description: Initial admin user password
  108. type: str
  109. sensitive: true
  110. autogenerated: true
  111. authentik_error_reporting:
  112. description: Enable error reporting to Authentik developers
  113. type: bool
  114. traefik_tls:
  115. vars:
  116. traefik_tls_certresolver:
  117. type: str
  118. default: cloudflare
  119. required: true
  120. traefik_tls_enabled:
  121. type: bool
  122. default: false
  123. description: Enable Traefik TLS
  124. toggle: traefik_tls_enabled
  125. title: Traefik TLS
  126. description: Configure Traefik TLS/SSL certificates
  127. needs: traefik
  128. volume:
  129. vars:
  130. volume_mode:
  131. type: enum
  132. options:
  133. - local
  134. - mount
  135. - nfs
  136. default: local
  137. required: true
  138. volume_mount_path:
  139. type: str
  140. default: /mnt/storage
  141. needs:
  142. - volume_mode=mount
  143. required: true
  144. volume_nfs_server:
  145. type: str
  146. default: 192.168.1.1
  147. needs:
  148. - volume_mode=nfs
  149. required: true
  150. volume_nfs_path:
  151. type: str
  152. default: /export
  153. needs:
  154. - volume_mode=nfs
  155. required: true
  156. volume_nfs_options:
  157. type: str
  158. default: rw,nolock,soft
  159. needs:
  160. - volume_mode=nfs
  161. required: true
  162. email:
  163. vars:
  164. email_host:
  165. description: SMTP server hostname
  166. type: str
  167. required: true
  168. email_port:
  169. description: SMTP server port
  170. type: int
  171. default: 25
  172. required: true
  173. email_username:
  174. description: SMTP username
  175. type: str
  176. required: true
  177. email_password:
  178. description: SMTP password
  179. type: str
  180. sensitive: true
  181. required: true
  182. email_from:
  183. description: From email address
  184. type: str
  185. required: true
  186. email_enabled:
  187. type: bool
  188. default: false
  189. description: Enable email integration
  190. email_encryption:
  191. type: str
  192. default: tls
  193. description: The email encryption type
  194. toggle: email_enabled
  195. title: Email
  196. description: Configure email/SMTP integration