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.
 
 

233 lines
9.2 KiB

  1. # Mx Puppet Skype is a Matrix <-> Skype bridge
  2. # See: https://github.com/Sorunome/mx-puppet-skype
  3. matrix_mx_puppet_skype_enabled: true
  4. matrix_mx_puppet_skype_container_image_self_build: false
  5. matrix_mx_puppet_skype_docker_image: "sorunome/mx-puppet-skype:latest"
  6. matrix_mx_puppet_skype_docker_image_force_pull: "{{ matrix_mx_puppet_skype_docker_image.endswith(':latest') }}"
  7. matrix_mx_puppet_skype_base_path: "{{ matrix_base_data_path }}/mx-puppet-skype"
  8. matrix_mx_puppet_skype_config_path: "{{ matrix_mx_puppet_skype_base_path }}/config"
  9. matrix_mx_puppet_skype_data_path: "{{ matrix_mx_puppet_skype_base_path }}/data"
  10. matrix_mx_puppet_skype_docker_src_files_path: "{{ matrix_mx_puppet_skype_base_path }}/docker-src"
  11. matrix_mx_puppet_skype_appservice_port: "8438"
  12. matrix_mx_puppet_skype_homeserver_address: 'http://matrix-synapse:8008'
  13. matrix_mx_puppet_skype_appservice_address: 'http://matrix-mx-puppet-skype:{{ matrix_mx_puppet_skype_appservice_port }}'
  14. # "@user:server.com" to allow specific user
  15. # "@.*:yourserver.com" to allow users on a specific homeserver
  16. # "@.*" to allow anyone
  17. matrix_mx_puppet_skype_provisioning_whitelist:
  18. - "@.*:{{ matrix_domain|regex_escape }}"
  19. # Leave empty to disable blacklist
  20. # "@user:server.com" disallow a specific user
  21. # "@.*:yourserver.com" disallow users on a specific homeserver
  22. matrix_mx_puppet_skype_provisioning_blacklist: []
  23. # Same as provisioning
  24. matrix_mx_puppet_skype_relay_whitelist:
  25. - "@.*:{{ matrix_domain|regex_escape }}"
  26. # Same as provisioning
  27. matrix_mx_puppet_skype_relay_blacklist: []
  28. # A list of extra arguments to pass to the container
  29. matrix_mx_puppet_skype_container_extra_arguments: []
  30. # List of systemd services that matrix-puppet-skype.service depends on.
  31. matrix_mx_puppet_skype_systemd_required_services_list: ['docker.service']
  32. # List of systemd services that matrix-puppet-skype.service wants
  33. matrix_mx_puppet_skype_systemd_wanted_services_list: []
  34. matrix_mx_puppet_skype_appservice_token: ''
  35. matrix_mx_puppet_skype_homeserver_token: ''
  36. # Can be set to enable automatic double-puppeting via Shared Secret Auth (https://github.com/devture/matrix-synapse-shared-secret-auth).
  37. matrix_mx_puppet_skype_login_shared_secret: ''
  38. # Default configuration template which covers the generic use case.
  39. # You can customize it by controlling the various variables inside it.
  40. #
  41. # For a more advanced customization, you can extend the default (see `matrix_mx_puppet_skype_configuration_extension_yaml`)
  42. # or completely replace this variable with your own template.
  43. matrix_mx_puppet_skype_configuration_yaml: |
  44. #jinja2: lstrip_blocks: "True"
  45. bridge:
  46. # Address for the bridge to bind to; if running as a Docker container, you
  47. # probably want 0.0.0.0 here
  48. bindAddress: 0.0.0.0
  49. # Port to host the bridge on which your homeserver will connect to
  50. port: {{ matrix_mx_puppet_skype_appservice_port }}
  51. # Name of your homeserver
  52. domain: {{ matrix_domain }}
  53. # URL where the bridge can connect to your homeserver
  54. homeserverUrl: {{ matrix_mx_puppet_skype_homeserver_address }}
  55. # Optionally specify a different media URL used for the media store
  56. mediaURL: https://{{ matrix_server_fqn_matrix }}
  57. # This enabled automatic double-puppeting:
  58. # A map for shared secrets of the homeserver URL to the shared secret
  59. # See https://github.com/devture/matrix-synapse-shared-secret-auth
  60. #loginSharedSecretMap:
  61. # yourserver.com: supersecretsharedsecret
  62. {% if matrix_mx_puppet_skype_login_shared_secret != '' %}
  63. loginSharedSecretMap:
  64. {{ matrix_domain }}: {{ matrix_mx_puppet_skype_login_shared_secret }}
  65. {% endif %}
  66. # optionally override the display name of the bridge bot
  67. #displayname: Protocol Bot
  68. # optionally set the avatar of the bridge bot
  69. #avatarUrl: mxc://yourserver.com/somefile
  70. logging:
  71. # Log level of console output
  72. # Allowed values starting with most verbose:
  73. # silly, debug, verbose, info, warn, error
  74. console: info
  75. # Optionally, you can apply filters to the console logging
  76. #console:
  77. # level: info
  78. # enabled:
  79. # - Store
  80. # disabled:
  81. # - PresenceHandler
  82. # Date and time formatting
  83. lineDateFormat: MMM-D HH:mm:ss.SSS
  84. # Logging files
  85. # Log files are rotated daily by default
  86. files:
  87. # Log file path
  88. - file: "/data/bridge.log"
  89. # Log level for this file
  90. # Allowed values starting with most verbose:
  91. # silly, debug, verbose, info, warn, error
  92. level: info
  93. # Date and time formatting
  94. datePattern: YYYY-MM-DD
  95. # Maximum number of logs to keep.
  96. # This can be a number of files or number of days.
  97. # If using days, add 'd' as a suffix
  98. maxFiles: 14d
  99. # Maximum size of the file after which it will rotate. This can be a
  100. # number of bytes, or units of kb, mb, and gb. If using the units, add
  101. # 'k', 'm', or 'g' as the suffix
  102. maxSize: 50m
  103. # Optionally enable/disable logging for certain modules
  104. #disabled:
  105. # - PresenceHandler
  106. # - module: bot-sdk-MatrixLiteClient
  107. # regex: /_matrix/client/r0/presence/ # this regex needs to match to disable the log
  108. #enabled:
  109. # - Store
  110. database:
  111. # Use Postgres as a database backend
  112. # If set, will be used instead of SQLite3
  113. # Connection string to connect to the Postgres instance
  114. # with username "user", password "pass", host "localhost" and database name "dbname".
  115. # Modify each value as necessary
  116. #connString: "postgres://user:pass@localhost/dbname?sslmode=disable"
  117. # Use SQLite3 as a database backend
  118. # The name of the database file
  119. filename: /data/database.db
  120. provisioning:
  121. # Regex of Matrix IDs allowed to use the puppet bridge
  122. whitelist:
  123. whitelist: {{ matrix_mx_puppet_skype_provisioning_whitelist|to_json }}
  124. # Allow a specific user
  125. #- "@user:server\\.com"
  126. # Allow users on a specific homeserver
  127. #- "@.*:yourserver\\.com"
  128. # Allow anyone
  129. #- ".*"
  130. # Regex of Matrix IDs forbidden from using the puppet bridge
  131. #blacklist:
  132. # Disallow a specific user
  133. #- "@user:server\\.com"
  134. # Disallow users on a specific homeserver
  135. #- "@.*:yourserver\\.com"
  136. blacklist: {{ matrix_mx_puppet_skype_provisioning_blacklist|to_json }}
  137. presence:
  138. # Bridge online/offline status
  139. enabled: true
  140. # How often to send status to the homeserver in milliseconds
  141. interval: 500
  142. # if the im.vector.user_status state setting should be diabled
  143. #disableStatusState: false
  144. # A blacklist of remote user IDs for the im.vector.user_status state setting
  145. #statusStateBlacklist:
  146. # - baduser
  147. relay:
  148. # Regex of Matrix IDs to allow to use the relay mode
  149. # Same format as in provisioning
  150. #whitelist:
  151. #- "@.*:yourserver\\.com"
  152. whitelist: {{ matrix_mx_puppet_skype_relay_whitelist|to_json }}
  153. #blacklist:
  154. #- "@user:yourserver\\.com"
  155. blacklist: {{ matrix_mx_puppet_skype_relay_blacklist|to_json }}
  156. # Map certain homeserver URLs to the C-S API endpoint
  157. # Useful for double-puppeting if .well-known is unavailable for some reason
  158. #homeserverUrlMap:
  159. # yourserver.com: http://localhost:1234
  160. namePatterns:
  161. # Override the protocols set default name patterns
  162. # Which variables are available depends on protocol implementation
  163. user: :name
  164. room: :name
  165. limits:
  166. # Up to how many users should be auto-joined on room creation? -1 to disable
  167. # Defaults to 200
  168. maxAutojoinUsers: 200
  169. # How long the delay between two autojoin users should be, in millisectonds.
  170. # Defaults to 5000
  171. roomUserAutojoinDelay: 5000
  172. matrix_mx_puppet_skype_configuration_extension_yaml: |
  173. # Your custom YAML configuration goes here.
  174. # This configuration extends the default starting configuration (`matrix_mx_puppet_skype_configuration_yaml`).
  175. #
  176. # You can override individual variables from the default configuration, or introduce new ones.
  177. #
  178. # If you need something more special, you can take full control by
  179. # completely redefining `matrix_mx_puppet_skype_configuration_yaml`.
  180. matrix_mx_puppet_skype_configuration_extension: "{{ matrix_mx_puppet_skype_configuration_extension_yaml|from_yaml if matrix_mx_puppet_skype_configuration_extension_yaml|from_yaml is mapping else {} }}"
  181. # Holds the final configuration (a combination of the default and its extension).
  182. # You most likely don't need to touch this variable. Instead, see `matrix_mx_puppet_skype_configuration_yaml`.
  183. matrix_mx_puppet_skype_configuration: "{{ matrix_mx_puppet_skype_configuration_yaml|from_yaml|combine(matrix_mx_puppet_skype_configuration_extension, recursive=True) }}"
  184. matrix_mx_puppet_skype_registration_yaml: |
  185. as_token: "{{ matrix_mx_puppet_skype_appservice_token }}"
  186. hs_token: "{{ matrix_mx_puppet_skype_homeserver_token }}"
  187. id: skype-puppet
  188. namespaces:
  189. users:
  190. - exclusive: true
  191. regex: '@_skypepuppet_.*:{{ matrix_domain|regex_escape }}'
  192. rooms: []
  193. aliases:
  194. - exclusive: true
  195. regex: '#_skypepuppet_.*:{{ matrix_domain|regex_escape }}'
  196. protocols: []
  197. rate_limited: false
  198. sender_localpart: _skypepuppet_bot
  199. url: {{ matrix_mx_puppet_skype_appservice_address }}
  200. matrix_mx_puppet_skype_registration: "{{ matrix_mx_puppet_skype_registration_yaml|from_yaml }}"