Matrix Docker Ansible eploy
Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

214 строки
8.8 KiB

  1. #jinja2: lstrip_blocks: True
  2. # Network-specific config options (iMessage via RustPush)
  3. network:
  4. # Displayname template for iMessage contacts.
  5. # Available variables:
  6. # .FirstName, .LastName, .Nickname
  7. # .Phone, .Email, .ID
  8. displayname_template: {{ matrix_rustpush_bridge_network_displayname_template | to_json }}
  9. # How many days back to look for chats during initial sync.
  10. # Default is 365 (1 year). Set to 0 to use the default.
  11. initial_sync_days: {{ matrix_rustpush_bridge_initial_sync_days | to_json }}
  12. # Set to false to disable CloudKit backfill globally
  13. cloudkit_backfill: {{ matrix_rustpush_bridge_cloudkit_backfill | to_json }}
  14. backfill_source: cloudkit
  15. # Enable or disable video transcoding
  16. video_transcoding: {{ matrix_rustpush_bridge_video_transcoding | to_json }}
  17. # Enable or disable HEIC conversion
  18. heic_conversion: {{ matrix_rustpush_bridge_heic_conversion | to_json }}
  19. heic_jpeg_quality: 95
  20. # Set to true to disable Facetime support globally
  21. disable_facetime: {{ matrix_rustpush_bridge_disable_facetime | to_json }}
  22. # Set to false to disable Statuskit support globally
  23. statuskit_notifications: {{ matrix_rustpush_bridge_statuskit_notifications | to_json }}
  24. statuskit_share_on_startup: {{ matrix_rustpush_bridge_statuskit_share_on_startup | to_json }}
  25. # How to surface a contact's Focus/DND status. Only takes effect when statuskit_notifications is true.
  26. # - topic: set the DM room topic to the contact's Focus/DND state, clearing it when available.
  27. # - notice: post a silent m.notice instead (legacy behavior). Group chats always use notice.
  28. statuskit_notification_style: {{ matrix_rustpush_bridge_statuskit_notification_style | to_json }}
  29. # Config options that affect the central bridge module.
  30. bridge:
  31. # The prefix for commands. Only required in non-management rooms.
  32. command_prefix: {{ matrix_rustpush_bridge_bridge_command_prefix | to_json }}
  33. # Should the bridge create a space for each login containing the rooms that account is in?
  34. personal_filtering_spaces: true
  35. # Whether the bridge should set names and avatars explicitly for DM portals.
  36. private_chat_portal_meta: true
  37. # Should events be handled asynchronously within portal rooms?
  38. async_events: false
  39. # Should every user have their own portals rather than sharing them?
  40. split_portals: false
  41. # Should the bridge resend `m.bridge` events to all portals on startup?
  42. resend_bridge_info: false
  43. # Should leaving Matrix rooms be bridged as leaving groups on the remote network?
  44. bridge_matrix_leave: false
  45. # Should room tags only be synced when creating the portal?
  46. tag_only_on_create: true
  47. # List of tags to allow bridging.
  48. only_bridge_tags: [m.favourite, m.lowpriority]
  49. # Should room mute status only be synced when creating the portal?
  50. mute_only_on_create: true
  51. # What should be done to portal rooms when a user logs out or is logged out?
  52. cleanup_on_logout:
  53. enabled: false
  54. manual:
  55. private: nothing
  56. relayed: nothing
  57. shared_no_users: nothing
  58. shared_has_users: nothing
  59. bad_credentials:
  60. private: nothing
  61. relayed: nothing
  62. shared_no_users: nothing
  63. shared_has_users: nothing
  64. # Settings for relay mode
  65. relay:
  66. enabled: false
  67. admin_only: true
  68. default_relays: []
  69. message_formats:
  70. m.text: "{% raw %}<b>{{ .Sender.DisambiguatedName }}</b>: {{ .Message }}{% endraw %}"
  71. m.notice: "{% raw %}<b>{{ .Sender.DisambiguatedName }}</b>: {{ .Message }}{% endraw %}"
  72. m.emote: "{% raw %}* <b>{{ .Sender.DisambiguatedName }}</b> {{ .Message }}{% endraw %}"
  73. m.file: "{% raw %}<b>{{ .Sender.DisambiguatedName }}</b> sent a file{{ if .Caption }}: {{ .Caption }}{{ end }}{% endraw %}"
  74. m.image: "{% raw %}<b>{{ .Sender.DisambiguatedName }}</b> sent an image{{ if .Caption }}: {{ .Caption }}{{ end }}{% endraw %}"
  75. m.audio: "{% raw %}<b>{{ .Sender.DisambiguatedName }}</b> sent an audio file{{ if .Caption }}: {{ .Caption }}{{ end }}{% endraw %}"
  76. m.video: "{% raw %}<b>{{ .Sender.DisambiguatedName }}</b> sent a video{{ if .Caption }}: {{ .Caption }}{{ end }}{% endraw %}"
  77. m.location: "{% raw %}<b>{{ .Sender.DisambiguatedName }}</b> sent a location{{ if .Caption }}: {{ .Caption }}{{ end }}{% endraw %}"
  78. displayname_format: "{% raw %}{{ .DisambiguatedName }}{% endraw %}"
  79. # Permissions for using the bridge.
  80. permissions: {{ matrix_rustpush_bridge_bridge_permissions | to_json }}
  81. # Config for the bridge's database.
  82. database:
  83. type: postgres
  84. uri: {{ matrix_rustpush_bridge_database_uri | to_json }}
  85. max_open_conns: 5
  86. max_idle_conns: 1
  87. max_conn_idle_time: null
  88. max_conn_lifetime: null
  89. # Homeserver details.
  90. homeserver:
  91. address: {{ matrix_rustpush_bridge_homeserver_address | to_json }}
  92. domain: {{ matrix_rustpush_bridge_homeserver_domain | to_json }}
  93. software: standard
  94. status_endpoint:
  95. message_send_checkpoint_endpoint:
  96. async_media: {{ matrix_rustpush_bridge_homeserver_async_media | to_json }}
  97. websocket: false
  98. ping_interval_seconds: 0
  99. # Application service host/registration related details.
  100. appservice:
  101. address: {{ matrix_rustpush_bridge_appservice_address | to_json }}
  102. public_address: {{ matrix_rustpush_bridge_appservice_public_address | to_json }}
  103. hostname: 0.0.0.0
  104. port: 8081
  105. id: rustpush-bridge
  106. bot:
  107. username: {{ matrix_rustpush_bridge_appservice_bot_username | to_json }}
  108. displayname: {{ matrix_rustpush_bridge_appservice_bot_displayname | to_json(ensure_ascii=False) }}
  109. avatar: {{ matrix_rustpush_bridge_appservice_bot_avatar | to_json }}
  110. ephemeral_events: true
  111. async_transactions: false
  112. as_token: {{ matrix_rustpush_bridge_appservice_token | to_json }}
  113. hs_token: {{ matrix_rustpush_bridge_homeserver_token | to_json }}
  114. # Localpart template of MXIDs for remote users.
  115. username_template: {{ matrix_rustpush_bridge_appservice_username_template | to_json }}
  116. # Config options that affect the Matrix connector of the bridge.
  117. matrix:
  118. message_status_events: false
  119. delivery_receipts: false
  120. message_error_notices: true
  121. sync_direct_chat_list: true
  122. federate_rooms: {{ matrix_rustpush_bridge_matrix_federate_rooms | to_json }}
  123. upload_file_threshold: 5242880
  124. # Segment-compatible analytics endpoint for tracking some events.
  125. analytics:
  126. token: null
  127. url: https://api.segment.io/v1/track
  128. user_id: null
  129. # Settings for provisioning API
  130. provisioning:
  131. prefix: /_matrix/provision
  132. shared_secret: {{ matrix_rustpush_bridge_provisioning_shared_secret | to_json }}
  133. allow_matrix_auth: true
  134. debug_endpoints: false
  135. # Settings for backfilling messages.
  136. backfill:
  137. enabled: {{ matrix_rustpush_bridge_backfill_enabled | to_json }}
  138. max_initial_messages: {{ matrix_rustpush_bridge_backfill_max_initial_messages | to_json }}
  139. max_catchup_messages: {{ matrix_rustpush_bridge_backfill_max_catchup_messages | to_json }}
  140. unread_hours_threshold: 720
  141. threads:
  142. max_initial_messages: 50
  143. queue:
  144. enabled: false
  145. batch_size: 100
  146. batch_delay: 20
  147. max_batches: -1
  148. max_batches_override: {}
  149. # Settings for enabling double puppeting
  150. double_puppet:
  151. servers: {}
  152. allow_discovery: false
  153. secrets: {{ matrix_rustpush_bridge_double_puppet_secrets | to_json }}
  154. # End-to-bridge encryption support options.
  155. encryption:
  156. allow: {{ matrix_rustpush_bridge_bridge_encryption_allow | to_json }}
  157. default: {{ matrix_rustpush_bridge_bridge_encryption_default | to_json }}
  158. require: {{ matrix_rustpush_bridge_bridge_encryption_require | to_json }}
  159. appservice: {{ matrix_rustpush_bridge_bridge_encryption_appservice | to_json }}
  160. msc4190: {{ matrix_rustpush_bridge_msc4190_enabled | to_json }}
  161. self_sign: {{ matrix_rustpush_bridge_self_sign_enabled | to_json }}
  162. allow_key_sharing: {{ matrix_rustpush_bridge_bridge_encryption_key_sharing_allow | to_json }}
  163. pickle_key: {{ matrix_rustpush_bridge_bridge_encryption_pickle_key | to_json }}
  164. delete_keys:
  165. delete_outbound_on_ack: false
  166. dont_store_outbound: false
  167. ratchet_on_decrypt: false
  168. delete_fully_used_on_decrypt: false
  169. delete_prev_on_new_session: false
  170. delete_on_device_delete: false
  171. periodically_delete_expired: false
  172. delete_outdated_inbound: false
  173. verification_levels:
  174. receive: unverified
  175. send: unverified
  176. share: cross-signed-tofu
  177. rotation:
  178. enable_custom: false
  179. milliseconds: 604800000
  180. messages: 100
  181. disable_device_change_key_rotation: false
  182. # Logging config.
  183. logging:
  184. min_level: {{ matrix_rustpush_bridge_logging_level | to_json }}
  185. writers:
  186. - type: stdout
  187. format: pretty-colored