Matrix Docker Ansible eploy
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

244 line
6.8 KiB

  1. {#
  2. SPDX-FileCopyrightText: 2024 MDAD Team and contributors
  3. SPDX-License-Identifier: AGPL-3.0-or-later
  4. #}
  5. ##
  6. # This is a configuration for Sygnal, the reference Push Gateway for Matrix
  7. # See: matrix.org
  8. ##
  9. ## Logging #
  10. #
  11. log:
  12. # Specify a Python logging 'dictConfig', as described at:
  13. # https://docs.python.org/3.7/library/logging.config.html#logging.config.dictConfig
  14. #
  15. setup:
  16. version: 1
  17. formatters:
  18. normal:
  19. format: "%(asctime)s [%(process)d] %(levelname)-5s %(name)s %(message)s"
  20. handlers:
  21. # This handler prints to Standard Error
  22. #
  23. stderr:
  24. class: "logging.StreamHandler"
  25. formatter: "normal"
  26. stream: "ext://sys.stderr"
  27. # This handler prints to Standard Output.
  28. #
  29. stdout:
  30. class: "logging.StreamHandler"
  31. formatter: "normal"
  32. stream: "ext://sys.stdout"
  33. # This handler demonstrates logging to a text file on the filesystem.
  34. # You can use logrotate(8) to perform log rotation.
  35. #
  36. #file:
  37. # class: "logging.handlers.WatchedFileHandler"
  38. # formatter: "normal"
  39. # filename: "./sygnal.log"
  40. loggers:
  41. # sygnal.access contains the access logging lines.
  42. # Comment out this section if you don't want to give access logging
  43. # any special treatment.
  44. #
  45. sygnal.access:
  46. propagate: false
  47. handlers: ["stdout"]
  48. level: "INFO"
  49. # sygnal contains log lines from Sygnal itself.
  50. # You can comment out this section to fall back to the root logger.
  51. #
  52. sygnal:
  53. propagate: false
  54. handlers: ["stderr"]
  55. root:
  56. # Specify the handler(s) to send log messages to.
  57. handlers: ["stderr"]
  58. level: "INFO"
  59. disable_existing_loggers: false
  60. access:
  61. # Specify whether or not to trust the IP address in the `X-Forwarded-For`
  62. # header. In general, you want to enable this if and only if you are using a
  63. # reverse proxy which is configured to emit it.
  64. #
  65. x_forwarded_for: true
  66. ## HTTP Server (Matrix Push Gateway API) #
  67. #
  68. http:
  69. # Specify a list of interface addresses to bind to.
  70. #
  71. # This example listens on the IPv4 loopback device:
  72. #bind_addresses: ['127.0.0.1']
  73. # This example listens on all IPv4 interfaces:
  74. #bind_addresses: ['0.0.0.0']
  75. # This example listens on all IPv4 and IPv6 interfaces:
  76. #bind_addresses: ['0.0.0.0', '::']
  77. bind_addresses: ['::']
  78. # Specify the port number to listen on.
  79. #
  80. port: 6000
  81. ## Proxying for outgoing connections #
  82. #
  83. # Specify the URL of a proxy to use for outgoing traffic
  84. # (e.g. to Apple & Google) if desired.
  85. # Currently only HTTP proxies with CONNECT capability are supported.
  86. #
  87. # If you do not specify a value, the `HTTPS_PROXY` environment variable will
  88. # be used if present. Otherwise, no proxy will be used.
  89. #
  90. # Default is unspecified.
  91. #
  92. #proxy: 'http://user:secret@prox:8080'
  93. ## Metrics #
  94. #
  95. metrics:
  96. ## Prometheus #
  97. #
  98. prometheus:
  99. # Specify whether or not to enable Prometheus.
  100. #
  101. enabled: false
  102. # Specify an address for the Prometheus HTTP Server to listen on.
  103. #
  104. address: '0.0.0.0'
  105. # Specify a port for the Prometheus HTTP Server to listen on.
  106. #
  107. port: 8000
  108. ## OpenTracing #
  109. #
  110. opentracing:
  111. # Specify whether or not to enable OpenTracing.
  112. #
  113. enabled: false
  114. # Specify an implementation of OpenTracing to use. Currently only 'jaeger'
  115. # is supported.
  116. #
  117. implementation: jaeger
  118. # Specify the service name to be reported to the tracer.
  119. #
  120. service_name: sygnal
  121. # Specify configuration values to pass to jaeger_client.
  122. #
  123. jaeger:
  124. sampler:
  125. type: 'const'
  126. param: 1
  127. # local_agent:
  128. # reporting_host: '127.0.0.1'
  129. # reporting_port:
  130. logging: true
  131. ## Sentry #
  132. #
  133. sentry:
  134. # Specify whether or not to enable Sentry.
  135. #
  136. enabled: false
  137. # Specify your Sentry DSN if you enable Sentry
  138. #
  139. #dsn: "https://<key>@sentry.example.org/<project>"
  140. ## Pushkins/Apps #
  141. #
  142. # Add a section for every push application here.
  143. # Specify the pushkey for the application and also the type.
  144. # For the type, you may specify a fully-qualified Python classname if desired.
  145. #
  146. #apps:
  147. # This is an example APNs push configuration
  148. #
  149. #com.example.myapp.ios:
  150. # type: apns
  151. #
  152. # # Authentication
  153. # #
  154. # # Two methods of authentication to APNs are currently supported.
  155. # #
  156. # # You can authenticate using a key:
  157. # keyfile: my_key.p8
  158. # key_id: MY_KEY_ID
  159. # team_id: MY_TEAM_ID
  160. # topic: MY_TOPIC
  161. #
  162. # # Or, a certificate can be used instead:
  163. # certfile: com.example.myApp_prod_APNS.pem
  164. #
  165. # # This is the maximum number of in-flight requests *for this pushkin*
  166. # # before additional notifications will be failed.
  167. # # (This is a robustness measure to prevent one pushkin stacking up with
  168. # # queued requests and saturating the inbound connection queue of a load
  169. # # balancer or reverse proxy).
  170. # # Defaults to 512 if unset.
  171. # #
  172. # #inflight_request_limit: 512
  173. #
  174. # # Specifies whether to use the production or sandbox APNs server. Note that
  175. # # sandbox tokens should only be used with the sandbox server and vice versa.
  176. # #
  177. # # Valid options are:
  178. # # * production
  179. # # * sandbox
  180. # #
  181. # # The default is 'production'. Uncomment to use the sandbox instance.
  182. # #platform: sandbox
  183. # This is an example GCM/FCM push configuration.
  184. #
  185. #com.example.myapp.android:
  186. # type: gcm
  187. # api_key: your_api_key_for_gcm
  188. #
  189. # # This is the maximum number of connections to GCM servers at any one time
  190. # # the default is 20.
  191. # #max_connections: 20
  192. #
  193. # # This is the maximum number of in-flight requests *for this pushkin*
  194. # # before additional notifications will be failed.
  195. # # (This is a robustness measure to prevent one pushkin stacking up with
  196. # # queued requests and saturating the inbound connection queue of a load
  197. # # balancer or reverse proxy).
  198. # # Defaults to 512 if unset.
  199. # #
  200. # #inflight_request_limit: 512
  201. #
  202. # # This allows you to specify additional options to send to Firebase.
  203. # #
  204. # # Of particular interest, admins who wish to support iOS apps using Firebase
  205. # # probably wish to set content_available, and may need to set mutable_content.
  206. # # (content_available allows your iOS app to be woken up by data messages,
  207. # # and mutable_content allows your notification to be modified by a
  208. # # Notification Service app extension).
  209. # #
  210. # # See https://firebase.google.com/docs/cloud-messaging/http-server-ref
  211. # # for the exhaustive list of valid options.
  212. # #
  213. # # Do not specify `data`, `priority`, `to` or `registration_ids` as they may
  214. # # be overwritten or lead to an invalid request.
  215. # #
  216. # #fcm_options:
  217. # # content_available: true
  218. # # mutable_content: true
  219. apps: {{ matrix_sygnal_apps|to_json }}