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.
 
 
 

296 lines
16 KiB

  1. #jinja2: lstrip_blocks: "True"
  2. # Homeserver details
  3. homeserver:
  4. # The address that this appservice can use to connect to the homeserver.
  5. address: {{ matrix_mautrix_signal_homeserver_address }}
  6. # The domain of the homeserver (for MXIDs, etc).
  7. domain: {{ matrix_mautrix_signal_homeserver_domain }}
  8. # What software is the homeserver running?
  9. # Standard Matrix homeservers like Synapse, Dendrite and Conduit should just use "standard" here.
  10. software: standard
  11. # The URL to push real-time bridge status to.
  12. # If set, the bridge will make POST requests to this URL whenever a user's discord connection state changes.
  13. # The bridge will use the appservice as_token to authorize requests.
  14. status_endpoint: null
  15. # Endpoint for reporting per-message status.
  16. message_send_checkpoint_endpoint: null
  17. # Does the homeserver support https://github.com/matrix-org/matrix-spec-proposals/pull/2246?
  18. async_media: false
  19. # Should the bridge use a websocket for connecting to the homeserver?
  20. # The server side is currently not documented anywhere and is only implemented by mautrix-wsproxy,
  21. # mautrix-asmux (deprecated), and hungryserv (proprietary).
  22. websocket: false
  23. # How often should the websocket be pinged? Pinging will be disabled if this is zero.
  24. ping_interval_seconds: 0
  25. # Application service host/registration related details.
  26. # Changing these values requires regeneration of the registration.
  27. appservice:
  28. # The address that the homeserver can use to connect to this appservice.
  29. address: {{ matrix_mautrix_signal_appservice_address | to_json }}
  30. # The hostname and port where this appservice should listen.
  31. hostname: 0.0.0.0
  32. port: 8080
  33. # Database config.
  34. database:
  35. # The database type. "sqlite3-fk-wal" and "postgres" are supported.
  36. type: {{ matrix_mautrix_signal_appservice_database_type|to_json }}
  37. # The database URI.
  38. # SQLite: A raw file path is supported, but `file:<path>?_txlock=immediate` is recommended.
  39. # https://github.com/mattn/go-sqlite3#connection-string
  40. # Postgres: Connection string. For example, postgres://user:password@host/database?sslmode=disable
  41. # To connect via Unix socket, use something like postgres:///dbname?host=/var/run/postgresql
  42. uri: {{ matrix_mautrix_signal_appservice_database_uri|to_json }}
  43. # Maximum number of connections. Mostly relevant for Postgres.
  44. max_open_conns: 20
  45. max_idle_conns: 2
  46. # Maximum connection idle time and lifetime before they're closed. Disabled if null.
  47. # Parsed with https://pkg.go.dev/time#ParseDuration
  48. max_conn_idle_time: null
  49. max_conn_lifetime: null
  50. # The unique ID of this appservice.
  51. id: signal
  52. # Appservice bot details.
  53. bot:
  54. # Username of the appservice bot.
  55. username: signalbot
  56. # Display name and avatar for bot. Set to "remove" to remove display name/avatar, leave empty
  57. # to leave display name/avatar as-is.
  58. displayname: signal bridge bot
  59. avatar: mxc://maunium.net/wPJgTQbZOtpBFmDNkiNEMDUp
  60. # Whether or not to receive ephemeral events via appservice transactions.
  61. # Requires MSC2409 support (i.e. Synapse 1.22+).
  62. ephemeral_events: true
  63. # Should incoming events be handled asynchronously?
  64. # This may be necessary for large public instances with lots of messages going through.
  65. # However, messages will not be guaranteed to be bridged in the same order they were sent in.
  66. async_transactions: false
  67. # Authentication tokens for AS <-> HS communication. Autogenerated; do not modify.
  68. as_token: {{ matrix_mautrix_signal_appservice_token | to_json }}
  69. hs_token: {{ matrix_mautrix_signal_homeserver_token | to_json }}
  70. # Prometheus config.
  71. metrics:
  72. # Enable prometheus metrics?
  73. enabled: false
  74. # IP and port where the metrics listener should be. The path is always /metrics
  75. listen: 127.0.0.1:8000
  76. # Bridge config
  77. bridge:
  78. # Localpart template of MXIDs for Signal users.
  79. # {{ '{{.}}' }} is replaced with the internal ID of the Signal user.
  80. username_template: "{{ 'signal_{{.}}' }}"
  81. # Displayname template for Signal users. This is also used as the room name in DMs if private_chat_portal_meta is enabled.
  82. # {% raw %}
  83. # {{.ProfileName}} - The Signal profile name set by the user.
  84. # {{.ContactName}} - The name for the user from your phone's contact list. This is not safe on multi-user instances.
  85. # {{.PhoneNumber}} - The phone number of the user.
  86. # {{.UUID}} - The UUID of the Signal user.
  87. # {{.AboutEmoji}} - The emoji set by the user in their profile.
  88. # {% endraw %}
  89. displayname_template: "{{ '{{.ProfileName}} (Signal)' }}"
  90. # Whether to explicitly set the avatar and room name for private chat portal rooms.
  91. # If set to `default`, this will be enabled in encrypted rooms and disabled in unencrypted rooms.
  92. # If set to `always`, all DM rooms will have explicit names and avatars set.
  93. # If set to `never`, DM rooms will never have names and avatars set.
  94. private_chat_portal_meta: default
  95. # Should avatars from the user's contact list be used? This is not safe on multi-user instances.
  96. use_contact_avatars: false
  97. portal_message_buffer: 128
  98. # Should the bridge create a space for each logged-in user and add bridged rooms to it?
  99. # Users who logged in before turning this on should run `!signal sync-space` to create and fill the space for the first time.
  100. personal_filtering_spaces: {{ matrix_mautrix_signal_bridge_personal_filtering_spaces | to_json }}
  101. # Should the bridge send a read receipt from the bridge bot when a message has been sent to Signal?
  102. delivery_receipts: false
  103. # Whether the bridge should send the message status as a custom com.beeper.message_send_status event.
  104. message_status_events: false
  105. # Whether the bridge should send error notices via m.notice events when a message fails to bridge.
  106. message_error_notices: true
  107. # Should the bridge update the m.direct account data event when double puppeting is enabled.
  108. # Note that updating the m.direct event is not atomic (except with mautrix-asmux)
  109. # and is therefore prone to race conditions.
  110. sync_direct_chat_list: false
  111. # Set this to true to tell the bridge to re-send m.bridge events to all rooms on the next run.
  112. # This field will automatically be changed back to false after it, except if the config file is not writable.
  113. resend_bridge_info: false
  114. # Send captions in the same message as images. This will send data compatible with both MSC2530.
  115. # This is currently not supported in most clients.
  116. caption_in_message: false
  117. # Whether or not created rooms should have federation enabled.
  118. # If false, created portal rooms will never be federated.
  119. federate_rooms: {{ matrix_mautrix_signal_federate_rooms|to_json }}
  120. # Servers to always allow double puppeting from
  121. double_puppet_server_map:
  122. "{{ matrix_mautrix_signal_homeserver_domain }}": {{ matrix_mautrix_signal_homeserver_address }}
  123. # Allow using double puppeting from any server with a valid client .well-known file.
  124. double_puppet_allow_discovery: false
  125. # Shared secrets for https://github.com/devture/matrix-synapse-shared-secret-auth
  126. #
  127. # If set, double puppeting will be enabled automatically for local users
  128. # instead of users having to find an access token and run `login-matrix`
  129. # manually.
  130. login_shared_secret_map: {{ matrix_mautrix_signal_bridge_login_shared_secret_map|to_json }}
  131. # Maximum time for handling Matrix events. Duration strings formatted for https://pkg.go.dev/time#ParseDuration
  132. # Null means there's no enforced timeout.
  133. message_handling_timeout:
  134. # Send an error message after this timeout, but keep waiting for the response until the deadline.
  135. # This is counted from the origin_server_ts, so the warning time is consistent regardless of the source of delay.
  136. # If the message is older than this when it reaches the bridge, the message won't be handled at all.
  137. error_after: null
  138. # Drop messages after this timeout. They may still go through if the message got sent to the servers.
  139. # This is counted from the time the bridge starts handling the message.
  140. deadline: 120s
  141. # The prefix for commands. Only required in non-management rooms.
  142. command_prefix: "{{ matrix_mautrix_signal_command_prefix }}"
  143. # Messages sent upon joining a management room.
  144. # Markdown is supported. The defaults are listed below.
  145. management_room_text:
  146. # Sent when joining a room.
  147. welcome: "Hello, I'm a Signal bridge bot."
  148. # Sent when joining a management room and the user is already logged in.
  149. welcome_connected: "Use `help` for help."
  150. # Sent when joining a management room and the user is not logged in.
  151. welcome_unconnected: "Use `help` for help or `login` to log in."
  152. # Optional extra text sent when joining a management room.
  153. additional_help: ""
  154. # End-to-bridge encryption support options.
  155. #
  156. # See https://docs.mau.fi/bridges/general/end-to-bridge-encryption.html for more info.
  157. encryption:
  158. # Allow encryption, work in group chat rooms with e2ee enabled
  159. allow: {{ matrix_mautrix_signal_bridge_encryption_allow|to_json }}
  160. # Default to encryption, force-enable encryption in all portals the bridge creates
  161. # This will cause the bridge bot to be in private chats for the encryption to work properly.
  162. default: {{ matrix_mautrix_signal_bridge_encryption_default|to_json }}
  163. # Whether to use MSC2409/MSC3202 instead of /sync long polling for receiving encryption-related data.
  164. appservice: false
  165. # Require encryption, drop any unencrypted messages.
  166. require: false
  167. # Enable key sharing? If enabled, key requests for rooms where users are in will be fulfilled.
  168. # You must use a client that supports requesting keys from other users to use this feature.
  169. allow_key_sharing: {{ matrix_mautrix_signal_bridge_encryption_key_sharing_allow|to_json }}
  170. # Options for deleting megolm sessions from the bridge.
  171. delete_keys:
  172. # Beeper-specific: delete outbound sessions when hungryserv confirms
  173. # that the user has uploaded the key to key backup.
  174. delete_outbound_on_ack: false
  175. # Don't store outbound sessions in the inbound table.
  176. dont_store_outbound: false
  177. # Ratchet megolm sessions forward after decrypting messages.
  178. ratchet_on_decrypt: false
  179. # Delete fully used keys (index >= max_messages) after decrypting messages.
  180. delete_fully_used_on_decrypt: false
  181. # Delete previous megolm sessions from same device when receiving a new one.
  182. delete_prev_on_new_session: false
  183. # Delete megolm sessions received from a device when the device is deleted.
  184. delete_on_device_delete: false
  185. # Periodically delete megolm sessions when 2x max_age has passed since receiving the session.
  186. periodically_delete_expired: false
  187. # Delete inbound megolm sessions that don't have the received_at field used for
  188. # automatic ratcheting and expired session deletion. This is meant as a migration
  189. # to delete old keys prior to the bridge update.
  190. delete_outdated_inbound: false
  191. # What level of device verification should be required from users?
  192. #
  193. # Valid levels:
  194. # unverified - Send keys to all device in the room.
  195. # cross-signed-untrusted - Require valid cross-signing, but trust all cross-signing keys.
  196. # cross-signed-tofu - Require valid cross-signing, trust cross-signing keys on first use (and reject changes).
  197. # cross-signed-verified - Require valid cross-signing, plus a valid user signature from the bridge bot.
  198. # Note that creating user signatures from the bridge bot is not currently possible.
  199. # verified - Require manual per-device verification
  200. # (currently only possible by modifying the `trust` column in the `crypto_device` database table).
  201. verification_levels:
  202. # Minimum level for which the bridge should send keys to when bridging messages from Signal to Matrix.
  203. receive: unverified
  204. # Minimum level that the bridge should accept for incoming Matrix messages.
  205. send: unverified
  206. # Minimum level that the bridge should require for accepting key requests.
  207. share: cross-signed-tofu
  208. # Options for Megolm room key rotation. These options allow you to
  209. # configure the m.room.encryption event content. See:
  210. # https://spec.matrix.org/v1.3/client-server-api/#mroomencryption for
  211. # more information about that event.
  212. rotation:
  213. # Enable custom Megolm room key rotation settings. Note that these
  214. # settings will only apply to rooms created after this option is
  215. # set.
  216. enable_custom: false
  217. # The maximum number of milliseconds a session should be used
  218. # before changing it. The Matrix spec recommends 604800000 (a week)
  219. # as the default.
  220. milliseconds: 604800000
  221. # The maximum number of messages that should be sent with a given a
  222. # session before changing it. The Matrix spec recommends 100 as the
  223. # default.
  224. messages: 100
  225. # Disable rotating keys when a user's devices change?
  226. # You should not enable this option unless you understand all the implications.
  227. disable_device_change_key_rotation: false
  228. # Settings for provisioning API
  229. provisioning:
  230. # Prefix for the provisioning API paths.
  231. prefix: /_matrix/provision
  232. # Shared secret for authentication. If set to "generate", a random secret will be generated,
  233. # or if set to "disable", the provisioning API will be disabled.
  234. shared_secret: generate
  235. # Enable debug API at /debug with provisioning authentication.
  236. debug_endpoints: false
  237. # Permissions for using the bridge.
  238. # Permitted values:
  239. # relay - Talk through the relaybot (if enabled), no access otherwise
  240. # user - Access to use the bridge to chat with a Signal account.
  241. # admin - User level and some additional administration tools
  242. # Permitted keys:
  243. # * - All Matrix users
  244. # domain - All users on that homeserver
  245. # mxid - Specific user
  246. permissions: {{ matrix_mautrix_signal_bridge_permissions|to_json }}
  247. # Settings for relay mode
  248. relay:
  249. # Whether relay mode should be allowed. If allowed, `!signal set-relay` can be used to turn any
  250. # authenticated user into a relaybot for that chat.
  251. enabled: {{ matrix_mautrix_signal_bridge_relay_enabled | to_json }}
  252. # Should only admins be allowed to set themselves as relay users?
  253. admin_only: {{ matrix_mautrix_signal_bridge_relay_admin_only | to_json }}
  254. # The formats to use when sending messages to WhatsApp via the relaybot.
  255. message_formats:
  256. m.text: "<b>{{ '{{ .Sender.Displayname }}' }}</b>: {{ '{{ .Message }}' }}"
  257. m.notice: "<b>{{ '{{ .Sender.Displayname }}' }}</b>:: {{ '{{ .Message }}' }}"
  258. m.emote: "* <b>{{ '{{ .Sender.Displayname }}' }}</b>: {{ '{{ .Message }}' }}"
  259. m.file: "<b>{{ '{{ .Sender.Displayname }}' }}</b>: sent a file"
  260. m.image: "<b>{{ '{{ .Sender.Displayname }}' }}</b>: sent an image"
  261. m.audio: "<b>{{ '{{ .Sender.Displayname }}' }}</b>: sent an audio file"
  262. m.video: "<b>{{ '{{ .Sender.Displayname }}' }}</b>: sent a video"
  263. m.location: "<b>{{ '{{ .Sender.Displayname }}' }}</b>: sent a location"
  264. # Logging config. See https://github.com/tulir/zeroconfig for details.
  265. logging:
  266. directory: ./logs
  267. file_name_format: ''
  268. file_date_format: "2006-01-02"
  269. file_mode: 384
  270. timestamp_format: Jan _2, 2006 15:04:05
  271. print_level: {{ matrix_mautrix_signal_logging_level | to_json }}
  272. print_json: false
  273. file_json: false