template.yaml 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152
  1. ---
  2. kind: compose
  3. metadata:
  4. name: Grafana
  5. description: 'Grafana is an open-source platform for monitoring and observability that allows you to visualize and analyze
  6. metrics, logs, and traces from various data
  7. sources. It provides a powerful and flexible dashboarding solution for IT infrastructure and application monitoring.
  8. ## Prerequisites
  9. - **Project:** https://grafana.com/
  10. - **Documentation:** https://grafana.com/docs/grafana/latest/
  11. - **GitHub:** https://github.com/grafana/grafana'
  12. icon:
  13. provider: selfh
  14. id: grafana
  15. next_steps: 'Log in with the initial admin user:
  16. ```bash
  17. Username: admin
  18. Password: admin
  19. ```'
  20. version: 12.3.1
  21. author: Christian Lempa
  22. date: '2025-12-16'
  23. tags:
  24. - traefik
  25. - authentik
  26. schema: '1.2'
  27. spec:
  28. general:
  29. vars:
  30. service_name:
  31. default: grafana
  32. restart_policy:
  33. type: enum
  34. options:
  35. - unless-stopped
  36. - always
  37. - on-failure
  38. - 'no'
  39. default: unless-stopped
  40. required: true
  41. ports:
  42. vars:
  43. ports_http:
  44. default: 3000
  45. authentik:
  46. vars:
  47. authentik_url:
  48. type: url
  49. default: https://auth.home.arpa
  50. required: true
  51. needs: authentik_enabled=true
  52. authentik_slug:
  53. type: hostname
  54. default: grafana
  55. required: true
  56. needs: authentik_enabled=true
  57. authentik_client_id:
  58. type: str
  59. sensitive: true
  60. required: true
  61. needs: authentik_enabled=true
  62. authentik_client_secret:
  63. type: str
  64. sensitive: true
  65. required: true
  66. needs: authentik_enabled=true
  67. authentik_enabled:
  68. type: bool
  69. default: false
  70. description: Enable Authentik SSO integration
  71. traefik:
  72. vars:
  73. traefik_host:
  74. default: grafana
  75. traefik_network:
  76. default: traefik
  77. type: str
  78. required: true
  79. traefik_domain:
  80. default: home.arpa
  81. type: str
  82. required: true
  83. traefik_enabled:
  84. type: bool
  85. default: false
  86. description: Enable Traefik integration
  87. traefik_tls:
  88. vars:
  89. traefik_tls_certresolver:
  90. type: str
  91. default: cloudflare
  92. required: true
  93. traefik_tls_enabled:
  94. type: bool
  95. default: false
  96. description: Enable Traefik TLS
  97. database:
  98. vars:
  99. database_type:
  100. type: enum
  101. options:
  102. - sqlite
  103. - postgres
  104. database_name:
  105. type: str
  106. default: grafana
  107. needs: database_type=postgres
  108. database_user:
  109. type: str
  110. default: grafana
  111. needs: database_type=postgres
  112. database_host:
  113. type: str
  114. required: true
  115. needs: ["database_type=postgres", "database_external=true"]
  116. database_password:
  117. type: str
  118. sensitive: true
  119. required: true
  120. needs: database_type=postgres
  121. database_external:
  122. type: bool
  123. default: false
  124. description: Use external database
  125. needs: database_type=postgres
  126. swarm:
  127. vars:
  128. swarm_enabled:
  129. type: bool
  130. default: false
  131. description: Enable Docker Swarm mode
  132. swarm_placement_host:
  133. type: str
  134. default: ''
  135. description: The placement host
  136. swarm_placement_mode:
  137. type: str
  138. default: replicated
  139. description: The placement mode
  140. swarm_replicas:
  141. type: int
  142. default: 1
  143. description: The number of replicas