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.
 
 

245 line
6.8 KiB

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