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.
 
 

226 lines
11 KiB

  1. # The bare hostname which represents your identity.
  2. # This is something like "example.com".
  3. # Note: this playbook does not touch the server referenced here.
  4. hostname_identity: "{{ host_specific_hostname_identity }}"
  5. # This is where your data lives and what we set up here.
  6. # This and the Riot hostname (see below) are expected to be on the same server.
  7. hostname_matrix: "matrix.{{ hostname_identity }}"
  8. # This is where you access the web UI from and what we set up here.
  9. # This and the Matrix hostname (see above) are expected to be on the same server.
  10. hostname_riot: "riot.{{ hostname_identity }}"
  11. matrix_user_username: "matrix"
  12. matrix_user_uid: 991
  13. matrix_user_gid: 991
  14. # The defaults below cause a postgres server to be configured (running within a container).
  15. # Using an external server is possible by tweaking all of the parameters below.
  16. matrix_postgres_use_external: false
  17. matrix_postgres_connection_hostname: "matrix-postgres"
  18. matrix_postgres_connection_username: "synapse"
  19. matrix_postgres_connection_password: "synapse-password"
  20. matrix_postgres_db_name: "homeserver"
  21. matrix_base_data_path: "/matrix"
  22. matrix_ssl_certs_path: "{{ matrix_base_data_path }}/ssl"
  23. matrix_ssl_support_email: "{{ host_specific_matrix_ssl_support_email }}"
  24. matrix_environment_variables_data_path: "{{ matrix_base_data_path }}/environment-variables"
  25. matrix_synapse_base_path: "{{ matrix_base_data_path }}/synapse"
  26. matrix_synapse_config_dir_path: "{{ matrix_synapse_base_path }}/config"
  27. matrix_synapse_run_path: "{{ matrix_synapse_base_path }}/run"
  28. matrix_synapse_storage_path: "{{ matrix_synapse_base_path }}/storage"
  29. matrix_synapse_media_store_path: "{{ matrix_synapse_storage_path }}/media-store"
  30. matrix_synapse_ext_path: "{{ matrix_synapse_base_path }}/ext"
  31. # Specifies which template files to use when configuring Synapse.
  32. # If you'd like to have your own different configuration, feel free to copy and paste
  33. # the original files into your inventory (e.g. in `inventory/host_vars/<host>/`)
  34. # and then change the specific host's `vars.yaml` file like this:
  35. # matrix_synapse_template_synapse_homeserver: "{{ playbook_dir }}/inventory/host_vars/<host>/homeserver.yaml.j2"
  36. matrix_synapse_template_synapse_homeserver: "{{ role_path }}/templates/synapse/homeserver.yaml.j2"
  37. matrix_synapse_template_synapse_log: "{{ role_path }}/templates/synapse/synapse.log.config.j2"
  38. matrix_synapse_macaroon_secret_key: ""
  39. matrix_synapse_registration_shared_secret: "{{ matrix_synapse_macaroon_secret_key }}"
  40. matrix_synapse_form_secret: "{{ matrix_synapse_macaroon_secret_key }}"
  41. # These are the identity servers that would be trusted by Synapse if mxisd is NOT enabled
  42. matrix_synapse_id_servers_public: ['vector.im', 'riot.im', 'matrix.org']
  43. # These are the identity servers that would be trusted by Synapse if mxisd IS enabled
  44. matrix_synapse_id_servers_own: "['{{ hostname_matrix }}']"
  45. # The final list of identity servers to use for Synapse.
  46. # The first one would also be used as riot-web's default identity server.
  47. matrix_synapse_trusted_third_party_id_servers: "{{ matrix_synapse_id_servers_own if matrix_mxisd_enabled else matrix_synapse_id_servers_public }}"
  48. matrix_synapse_max_upload_size_mb: 10
  49. matrix_synapse_max_log_file_size_mb: 100
  50. matrix_synapse_max_log_files_count: 10
  51. # Rate limits
  52. matrix_synapse_rc_messages_per_second: 0.2
  53. matrix_synapse_rc_message_burst_count: 10.0
  54. # A list of additional "volumes" to mount in the container.
  55. # This list gets populated dynamically based on Synapse extensions that have been enabled.
  56. # Contains definition objects like this: `{"src": "/outside", "dst": "/inside", "options": "rw|ro|slave|.."}
  57. matrix_synapse_container_additional_volumes: []
  58. # A list of additional loggers to register in synapse.log.config.
  59. # This list gets populated dynamically based on Synapse extensions that have been enabled.
  60. # Contains definition objects like this: `{"name": "..", "level": "DEBUG"}
  61. matrix_synapse_additional_loggers: []
  62. # This is set dynamically during execution depending on whether
  63. # any password providers have been enabled or not.
  64. matrix_synapse_password_providers_enabled: false
  65. # Enable this to activate the REST auth password provider module.
  66. # See: https://github.com/kamax-io/matrix-synapse-rest-auth
  67. matrix_synapse_ext_password_provider_rest_auth_enabled: false
  68. matrix_synapse_ext_password_provider_rest_auth_download_url: "https://raw.githubusercontent.com/kamax-io/matrix-synapse-rest-auth/v0.1.1/rest_auth_provider.py"
  69. matrix_synapse_ext_password_provider_rest_auth_endpoint: ""
  70. matrix_synapse_ext_password_provider_rest_auth_registration_enforce_lowercase: false
  71. matrix_synapse_ext_password_provider_rest_auth_registration_profile_name_autofill: true
  72. matrix_synapse_ext_password_provider_rest_auth_login_profile_name_autofill: false
  73. # Enable this to activate the Shared Secret Auth password provider module.
  74. # See: https://github.com/devture/matrix-synapse-shared-secret-auth
  75. matrix_synapse_ext_password_provider_shared_secret_auth_enabled: false
  76. matrix_synapse_ext_password_provider_shared_secret_auth_download_url: "https://raw.githubusercontent.com/devture/matrix-synapse-shared-secret-auth/1.0/shared_secret_authenticator.py"
  77. matrix_synapse_ext_password_provider_shared_secret_auth_shared_secret: ""
  78. matrix_postgres_data_path: "{{ matrix_base_data_path }}/postgres"
  79. matrix_nginx_proxy_data_path: "{{ matrix_base_data_path }}/nginx-proxy"
  80. matrix_nginx_proxy_confd_path: "{{ matrix_nginx_proxy_data_path }}/conf.d"
  81. matrix_nginx_riot_web_data_path: "{{ matrix_base_data_path }}/riot-web"
  82. matrix_coturn_base_path: "{{ matrix_base_data_path }}/coturn"
  83. matrix_coturn_config_path: "{{ matrix_coturn_base_path }}/turnserver.conf"
  84. matrix_scratchpad_dir: "{{ matrix_base_data_path }}/scratchpad"
  85. matrix_docker_image_postgres_v9: "postgres:9.6.10-alpine"
  86. matrix_docker_image_postgres_v10: "postgres:10.5-alpine"
  87. matrix_docker_image_postgres_latest: "{{ matrix_docker_image_postgres_v10 }}"
  88. matrix_docker_image_synapse: "matrixdotorg/synapse:v0.33.3"
  89. matrix_docker_image_nginx: "nginx:1.15.2-alpine"
  90. matrix_docker_image_riot: "avhost/docker-matrix-riot:v0.16.1"
  91. matrix_docker_image_s3fs: "xueshanf/s3fs:latest"
  92. matrix_docker_image_goofys: "cloudproto/goofys:latest"
  93. matrix_docker_image_coturn: "instrumentisto/coturn:4.5.0.7"
  94. matrix_docker_image_mailer: "panubo/postfix:latest"
  95. matrix_docker_image_mxisd: "kamax/mxisd:1.1.1"
  96. # The Docker network that all services would be put into
  97. matrix_docker_network: "matrix"
  98. # A shared secret (between Synapse and Coturn) used for authentication.
  99. # You can put any string here, but generating a strong one is preferred (e.g. `pwgen -s 64 1`).
  100. matrix_coturn_turn_static_auth_secret: ""
  101. # UDP port-range to use for TURN
  102. matrix_coturn_turn_udp_min_port: 49152
  103. matrix_coturn_turn_udp_max_port: 49172
  104. matrix_coturn_turn_external_ip_address: "{{ ansible_host }}"
  105. matrix_s3_media_store_enabled: false
  106. matrix_s3_media_store_bucket_name: "your-bucket-name"
  107. matrix_s3_media_store_aws_access_key: "your-aws-access-key"
  108. matrix_s3_media_store_aws_secret_key: "your-aws-secret-key"
  109. matrix_s3_media_store_region: "eu-central-1"
  110. # By default, this playbook sets up a postfix mailer server (running in a container).
  111. # This is so that Matrix Synapse can send email reminders for unread messages.
  112. # Other services (like mxisd), however, also use that mailer to send emails through it.
  113. matrix_mailer_enabled: true
  114. matrix_mailer_sender_address: "matrix@{{ hostname_identity }}"
  115. matrix_mailer_relay_use: false
  116. matrix_mailer_relay_host_name: "mail.example.com"
  117. matrix_mailer_relay_host_port: 587
  118. matrix_mailer_relay_auth: false
  119. matrix_mailer_relay_auth_username: ""
  120. matrix_mailer_relay_auth_password: ""
  121. # By default, this playbook installs the mxisd identity server on the same domain as Synapse (`hostname_matrix`).
  122. # If you wish to use the public identity servers (matrix.org, vector.im, riot.im) instead of your own,
  123. # you may wish to disable this.
  124. matrix_mxisd_enabled: true
  125. matrix_mxisd_base_path: "{{ matrix_base_data_path }}/mxisd"
  126. matrix_mxisd_config_path: "{{ matrix_mxisd_base_path }}/config"
  127. matrix_mxisd_data_path: "{{ matrix_mxisd_base_path }}/data"
  128. # Your identity server is private by default.
  129. # To ensure maximum discovery, you can make your identity server
  130. # also forward lookups to the central matrix.org Identity server
  131. # (at the cost of potentially leaking all your contacts information).
  132. # Enabling this is discouraged. Learn more here: https://github.com/kamax-io/mxisd/blob/master/docs/features/identity.md#lookups
  133. matrix_mxisd_matrixorg_forwarding_enabled: false
  134. # Specifies which template files to use when configuring mxisd.
  135. # If you'd like to have your own different configuration, feel free to copy and paste
  136. # the original files into your inventory (e.g. in `inventory/host_vars/<host>/`)
  137. # and then change the specific host's `vars.yaml` file like this:
  138. # matrix_mxisd_template_config: "{{ playbook_dir }}/inventory/host_vars/<host>/mxisd.yaml.j2"
  139. matrix_mxisd_template_config: "{{ role_path }}/templates/mxisd/mxisd.yaml.j2"
  140. # Enable this to add support for matrix-corporal.
  141. # See: https://github.com/devture/matrix-corporal
  142. matrix_corporal_enabled: false
  143. matrix_corporal_docker_image: "devture/matrix-corporal:1.0"
  144. matrix_corporal_base_path: "{{ matrix_base_data_path }}/corporal"
  145. matrix_corporal_config_dir_path: "{{ matrix_corporal_base_path }}/config"
  146. matrix_corporal_cache_dir_path: "{{ matrix_corporal_base_path }}/cache"
  147. matrix_corporal_var_dir_path: "{{ matrix_corporal_base_path }}/var"
  148. matrix_corporal_matrix_timeout_milliseconds: 30000
  149. matrix_corporal_reconciliation_retry_interval_milliseconds: 30000
  150. matrix_corporal_reconciliation_user_id_local_part: "matrix-corporal"
  151. matrix_corporal_http_api_enabled: false
  152. matrix_corporal_http_api_auth_token: ""
  153. # Matrix Corporal policy provider configuration (goes directly into the configuration's `PolicyProvider` value)
  154. matrix_corporal_policy_provider_config: ""
  155. matrix_corporal_debug: false
  156. # By default, this playbook installs the Riot.IM web UI on the `hostname_riot` domain.
  157. # If you wish to connect to your Matrix server by other means,
  158. # you may wish to disable this.
  159. matrix_riot_web_enabled: true
  160. matrix_riot_web_default_identity_server_url: "https://{{ matrix_synapse_trusted_third_party_id_servers[0] }}"
  161. # By default, this playbook sets up its own nginx proxy server on port 80/443.
  162. # This is fine if you're dedicating the whole server to Matrix.
  163. # But in case that's not the case, you may wish to prevent that
  164. # and take care of proxying by yourself.
  165. matrix_nginx_proxy_enabled: true
  166. # The addresses where the Matrix Client API is.
  167. # Certain extensions (like matrix-corporal) may override this in order to capture all traffic.
  168. matrix_nginx_proxy_matrix_client_api_addr_with_proxy_container: "matrix-synapse:8008"
  169. matrix_nginx_proxy_matrix_client_api_addr_sans_proxy_container: "localhost:8008"
  170. # Specifies when to attempt to retrieve new SSL certificates from Let's Encrypt.
  171. matrix_ssl_renew_cron_time_definition: "15 4 */5 * *"
  172. # Specifies when to reload the matrix-nginx-proxy service so that
  173. # a new SSL certificate could go into effect.
  174. matrix_nginx_proxy_reload_cron_time_definition: "20 4 */5 * *"