mirror of
https://github.com/spantaleev/matrix-docker-ansible-deploy.git
synced 2024-11-14 10:04:46 +08:00
2848322461
The only one that remains is `matrix_synapse_database_password`, but that's something old and should be dealt with separately in the future (unless it remains as it is).
1238 lines
53 KiB
Plaintext
Executable File
1238 lines
53 KiB
Plaintext
Executable File
---
|
|
|
|
# This variables file wires together the various components (roles) used by the playbook.
|
|
#
|
|
# Roles used by playbook are pretty minimal and kept independent of one another as much as possible.
|
|
# To deliver a turnkey fully-featured Matrix server, this playbook needs
|
|
# to connect them all together. It does so by overriding role variables.
|
|
#
|
|
# You can also override ANY variable (seen here or in any given role),
|
|
# by re-defining it in your own configuration file (`inventory/host_vars/matrix.<your-domain>`).
|
|
|
|
|
|
######################################################################
|
|
#
|
|
# matrix-base
|
|
#
|
|
######################################################################
|
|
|
|
matrix_identity_server_url: "{{ ('https://' + matrix_server_fqn_matrix) if matrix_ma1sd_enabled else None }}"
|
|
|
|
######################################################################
|
|
#
|
|
# /matrix-base
|
|
#
|
|
######################################################################
|
|
|
|
######################################################################
|
|
#
|
|
# matrix-architecture
|
|
#
|
|
######################################################################
|
|
|
|
matrix_architecture: "amd64"
|
|
|
|
######################################################################
|
|
#
|
|
# /matrix-architecture
|
|
#
|
|
######################################################################
|
|
|
|
|
|
######################################################################
|
|
#
|
|
# matrix-bridge-appservice-discord
|
|
#
|
|
######################################################################
|
|
|
|
# We don't enable bridges by default.
|
|
matrix_appservice_discord_enabled: false
|
|
|
|
# Normally, matrix-nginx-proxy is enabled and nginx can reach matrix-appservice-discord over the container network.
|
|
# If matrix-nginx-proxy is not enabled, or you otherwise have a need for it, you can expose
|
|
# matrix-appservice-discord's client-server port to the local host.
|
|
matrix_appservice_discord_container_http_host_bind_port: "{{ '' if matrix_nginx_proxy_enabled else '127.0.0.1:9005' }}"
|
|
|
|
# If the homeserver disables presence, it's likely better (less wasteful) to also disable presence on the bridge side.
|
|
matrix_appservice_discord_bridge_disablePresence: "{{ matrix_synapse_use_presence }}"
|
|
|
|
matrix_appservice_discord_systemd_required_services_list: |
|
|
{{
|
|
['docker.service']
|
|
+
|
|
(['matrix-synapse.service'] if matrix_synapse_enabled else [])
|
|
}}
|
|
|
|
matrix_appservice_discord_appservice_token: "{{ matrix_synapse_macaroon_secret_key | password_hash('sha512', 'discord.as.token') | to_uuid }}"
|
|
|
|
matrix_appservice_discord_homeserver_token: "{{ matrix_synapse_macaroon_secret_key | password_hash('sha512', 'discord.hs.token') | to_uuid }}"
|
|
|
|
# We only make this use Postgres if our own Postgres server is enabled.
|
|
# It's only then (for now) that we can automatically create the necessary database and user for this service.
|
|
matrix_appservice_discord_database_engine: "{{ 'postgres' if matrix_postgres_enabled else 'sqlite' }}"
|
|
matrix_appservice_discord_postgres_password: "{{ matrix_synapse_macaroon_secret_key | password_hash('sha512', 'as.discord.db') | to_uuid }}"
|
|
|
|
######################################################################
|
|
#
|
|
# /matrix-bridge-appservice-discord
|
|
#
|
|
######################################################################
|
|
|
|
|
|
######################################################################
|
|
#
|
|
# matrix-appservice-webhooks
|
|
#
|
|
######################################################################
|
|
|
|
# We don't enable bridges by default.
|
|
matrix_appservice_webhooks_enabled: false
|
|
|
|
# Normally, matrix-nginx-proxy is enabled and nginx can reach matrix-appservice-webhooks over the container network.
|
|
# If matrix-nginx-proxy is not enabled, or you otherwise have a need for it, you can expose
|
|
# matrix-appservice-webhooks' client-server port to the local host.
|
|
matrix_appservice_webhooks_container_http_host_bind_port: "{{ '' if matrix_nginx_proxy_enabled else ('127.0.0.1:' ~ matrix_appservice_webhooks_matrix_port) }}"
|
|
|
|
matrix_appservice_webhooks_appservice_token: "{{ matrix_synapse_macaroon_secret_key | password_hash('sha512', 'webhook.as.token') | to_uuid }}"
|
|
|
|
matrix_appservice_webhooks_homeserver_token: "{{ matrix_synapse_macaroon_secret_key | password_hash('sha512', 'webhook.hs.token') | to_uuid }}"
|
|
|
|
matrix_appservice_webhooks_id_token: "{{ matrix_synapse_macaroon_secret_key | password_hash('sha512', 'webhook.id.token') | to_uuid }}"
|
|
|
|
matrix_appservice_webhooks_systemd_required_services_list: |
|
|
{{
|
|
['docker.service']
|
|
+
|
|
(['matrix-synapse.service'] if matrix_synapse_enabled else [])
|
|
}}
|
|
|
|
######################################################################
|
|
#
|
|
# /matrix-appservice-webhooks
|
|
#
|
|
######################################################################
|
|
|
|
|
|
######################################################################
|
|
#
|
|
# matrix-appservice-slack
|
|
#
|
|
######################################################################
|
|
|
|
# We don't enable bridges by default.
|
|
matrix_appservice_slack_enabled: false
|
|
|
|
# Normally, matrix-nginx-proxy is enabled and nginx can reach matrix-appservice-slack over the container network.
|
|
# If matrix-nginx-proxy is not enabled, or you otherwise have a need for it, you can expose
|
|
# matrix-appservice-slack's client-server port to the local host.
|
|
matrix_appservice_slack_container_http_host_bind_port: "{{ '' if matrix_nginx_proxy_enabled else ('127.0.0.1:' ~ matrix_appservice_slack_slack_port) }}"
|
|
|
|
matrix_appservice_slack_appservice_token: "{{ matrix_synapse_macaroon_secret_key | password_hash('sha512', 'slack.as.token') | to_uuid }}"
|
|
|
|
matrix_appservice_slack_homeserver_token: "{{ matrix_synapse_macaroon_secret_key | password_hash('sha512', 'slack.hs.token') | to_uuid }}"
|
|
|
|
matrix_appservice_slack_id_token: "{{ matrix_synapse_macaroon_secret_key | password_hash('sha512', 'slack.id.token') | to_uuid }}"
|
|
|
|
matrix_appservice_slack_systemd_required_services_list: |
|
|
{{
|
|
['docker.service']
|
|
+
|
|
(['matrix-synapse.service'] if matrix_synapse_enabled else [])
|
|
}}
|
|
|
|
# Postgres is the default, except if not using `matrix_postgres` (internal postgres)
|
|
matrix_appservice_slack_database_engine: "{{ 'postgres' if matrix_postgres_enabled else 'sqlite' }}"
|
|
matrix_appservice_slack_postgres_password: "{{ matrix_synapse_macaroon_secret_key | password_hash('sha512', 'as.slack.db') | to_uuid }}"
|
|
|
|
######################################################################
|
|
#
|
|
# /matrix-bridge-appservice-slack
|
|
#
|
|
######################################################################
|
|
|
|
######################################################################
|
|
#
|
|
# matrix-bridge-appservice-irc
|
|
#
|
|
######################################################################
|
|
|
|
# We don't enable bridges by default.
|
|
matrix_appservice_irc_enabled: false
|
|
|
|
# Normally, matrix-nginx-proxy is enabled and nginx can reach matrix-appservice-irc over the container network.
|
|
# If matrix-nginx-proxy is not enabled, or you otherwise have a need for it, you can expose
|
|
# matrix-appservice-irc's client-server port to the local host.
|
|
matrix_appservice_irc_container_http_host_bind_port: "{{ '' if matrix_nginx_proxy_enabled else '127.0.0.1:9999' }}"
|
|
|
|
# The IRC bridge docs say that if homeserver presence is disabled, it's better to also disable
|
|
# IRC bridge presence, for performance reasons.
|
|
matrix_appservice_irc_homeserver_enablePresence: "{{ matrix_synapse_use_presence }}"
|
|
|
|
matrix_appservice_irc_systemd_required_services_list: |
|
|
{{
|
|
['docker.service']
|
|
+
|
|
(['matrix-synapse.service'] if matrix_synapse_enabled else [])
|
|
}}
|
|
|
|
matrix_appservice_irc_appservice_token: "{{ matrix_synapse_macaroon_secret_key | password_hash('sha512', 'irc.as.token') | to_uuid }}"
|
|
|
|
matrix_appservice_irc_homeserver_token: "{{ matrix_synapse_macaroon_secret_key | password_hash('sha512', 'irc.hs.token') | to_uuid }}"
|
|
|
|
# Postgres is the default, except if not using `matrix_postgres` (internal postgres)
|
|
matrix_appservice_irc_database_engine: "{{ 'postgres' if matrix_postgres_enabled else 'sqlite' }}"
|
|
matrix_appservice_irc_postgres_password: "{{ matrix_synapse_macaroon_secret_key | password_hash('sha512', 'as.irc.db') | to_uuid }}"
|
|
|
|
|
|
######################################################################
|
|
#
|
|
# /matrix-bridge-appservice-irc
|
|
#
|
|
######################################################################
|
|
|
|
|
|
######################################################################
|
|
#
|
|
# matrix-bridge-mautrix-facebook
|
|
#
|
|
######################################################################
|
|
|
|
# We don't enable bridges by default.
|
|
matrix_mautrix_facebook_enabled: false
|
|
|
|
matrix_mautrix_facebook_container_image_self_build: "{{ matrix_architecture not in ['amd64', 'arm64'] }}"
|
|
|
|
matrix_mautrix_facebook_systemd_required_services_list: |
|
|
{{
|
|
['docker.service']
|
|
+
|
|
(['matrix-synapse.service'] if matrix_synapse_enabled else [])
|
|
}}
|
|
|
|
matrix_mautrix_facebook_appservice_token: "{{ matrix_synapse_macaroon_secret_key | password_hash('sha512', 'fb.as.token') | to_uuid }}"
|
|
|
|
matrix_mautrix_facebook_homeserver_token: "{{ matrix_synapse_macaroon_secret_key | password_hash('sha512', 'fb.hs.token') | to_uuid }}"
|
|
|
|
matrix_mautrix_facebook_login_shared_secret: "{{ matrix_synapse_ext_password_provider_shared_secret_auth_shared_secret if matrix_synapse_ext_password_provider_shared_secret_auth_enabled else '' }}"
|
|
|
|
matrix_mautrix_facebook_bridge_presence: "{{ matrix_synapse_use_presence if matrix_synapse_enabled else true }}"
|
|
|
|
# Postgres is the default, except if not using `matrix_postgres` (internal postgres)
|
|
matrix_mautrix_facebook_database_engine: "{{ 'postgres' if matrix_postgres_enabled else 'sqlite' }}"
|
|
matrix_mautrix_facebook_postgres_password: "{{ matrix_synapse_macaroon_secret_key | password_hash('sha512', 'as.mautrix_facebook.db') | to_uuid }}"
|
|
|
|
######################################################################
|
|
#
|
|
# /matrix-bridge-mautrix-facebook
|
|
#
|
|
######################################################################
|
|
|
|
|
|
######################################################################
|
|
#
|
|
# matrix-bridge-mautrix-hangouts
|
|
#
|
|
######################################################################
|
|
|
|
# We don't enable bridges by default.
|
|
matrix_mautrix_hangouts_enabled: false
|
|
|
|
matrix_mautrix_hangouts_container_image_self_build: "{{ matrix_architecture not in ['amd64', 'arm64'] }}"
|
|
|
|
matrix_mautrix_hangouts_systemd_required_services_list: |
|
|
{{
|
|
['docker.service']
|
|
+
|
|
(['matrix-synapse.service'] if matrix_synapse_enabled else [])
|
|
}}
|
|
|
|
matrix_mautrix_hangouts_appservice_token: "{{ matrix_synapse_macaroon_secret_key | password_hash('sha512', 'ho.as.token') | to_uuid }}"
|
|
|
|
matrix_mautrix_hangouts_homeserver_token: "{{ matrix_synapse_macaroon_secret_key | password_hash('sha512', 'ho.hs.token') | to_uuid }}"
|
|
|
|
matrix_mautrix_hangouts_container_http_host_bind_port: "{{ '' if matrix_nginx_proxy_enabled else '127.0.0.1:9007' }}"
|
|
|
|
matrix_mautrix_hangouts_login_shared_secret: "{{ matrix_synapse_ext_password_provider_shared_secret_auth_shared_secret if matrix_synapse_ext_password_provider_shared_secret_auth_enabled else '' }}"
|
|
|
|
# Postgres is the default, except if not using `matrix_postgres` (internal postgres)
|
|
matrix_mautrix_hangouts_database_engine: "{{ 'postgres' if matrix_postgres_enabled else 'sqlite' }}"
|
|
matrix_mautrix_hangouts_postgres_password: "{{ matrix_synapse_macaroon_secret_key | password_hash('sha512', 'as.mautrix_hangouts.db') | to_uuid }}"
|
|
|
|
######################################################################
|
|
#
|
|
# /matrix-bridge-mautrix-hangouts
|
|
#
|
|
######################################################################
|
|
|
|
|
|
|
|
|
|
|
|
######################################################################
|
|
#
|
|
# matrix-bridge-mautrix-telegram
|
|
#
|
|
######################################################################
|
|
|
|
# We don't enable bridges by default.
|
|
matrix_mautrix_telegram_enabled: false
|
|
|
|
matrix_mautrix_telegram_systemd_required_services_list: |
|
|
{{
|
|
['docker.service']
|
|
+
|
|
(['matrix-synapse.service'] if matrix_synapse_enabled else [])
|
|
}}
|
|
|
|
matrix_mautrix_telegram_appservice_token: "{{ matrix_synapse_macaroon_secret_key | password_hash('sha512', 'telegr.as.token') | to_uuid }}"
|
|
|
|
matrix_mautrix_telegram_homeserver_token: "{{ matrix_synapse_macaroon_secret_key | password_hash('sha512', 'telegr.hs.token') | to_uuid }}"
|
|
|
|
matrix_mautrix_telegram_public_endpoint: "/{{ matrix_synapse_macaroon_secret_key | password_hash('sha512', 'telegram') | to_uuid }}"
|
|
|
|
matrix_mautrix_telegram_container_http_host_bind_port: "{{ '' if matrix_nginx_proxy_enabled else '127.0.0.1:9006' }}"
|
|
|
|
matrix_mautrix_telegram_login_shared_secret: "{{ matrix_synapse_ext_password_provider_shared_secret_auth_shared_secret if matrix_synapse_ext_password_provider_shared_secret_auth_enabled else '' }}"
|
|
|
|
# Postgres is the default, except if not using `matrix_postgres` (internal postgres)
|
|
matrix_mautrix_telegram_database_engine: "{{ 'postgres' if matrix_postgres_enabled else 'sqlite' }}"
|
|
matrix_mautrix_telegram_postgres_password: "{{ matrix_synapse_macaroon_secret_key | password_hash('sha512', 'as.mautrix_telegram.db') | to_uuid }}"
|
|
|
|
######################################################################
|
|
#
|
|
# /matrix-bridge-mautrix-telegram
|
|
#
|
|
######################################################################
|
|
|
|
######################################################################
|
|
#
|
|
# matrix-bridge-mautrix-whatsapp
|
|
#
|
|
######################################################################
|
|
|
|
# We don't enable bridges by default.
|
|
matrix_mautrix_whatsapp_enabled: false
|
|
|
|
matrix_mautrix_whatsapp_systemd_required_services_list: |
|
|
{{
|
|
['docker.service']
|
|
+
|
|
(['matrix-synapse.service'] if matrix_synapse_enabled else [])
|
|
}}
|
|
|
|
matrix_mautrix_whatsapp_appservice_token: "{{ matrix_synapse_macaroon_secret_key | password_hash('sha512', 'whats.as.token') | to_uuid }}"
|
|
|
|
matrix_mautrix_whatsapp_homeserver_token: "{{ matrix_synapse_macaroon_secret_key | password_hash('sha512', 'whats.hs.token') | to_uuid }}"
|
|
|
|
matrix_mautrix_whatsapp_login_shared_secret: "{{ matrix_synapse_ext_password_provider_shared_secret_auth_shared_secret if matrix_synapse_ext_password_provider_shared_secret_auth_enabled else '' }}"
|
|
|
|
# Postgres is the default, except if not using `matrix_postgres` (internal postgres)
|
|
matrix_mautrix_whatsapp_database_engine: "{{ 'postgres' if matrix_postgres_enabled else 'sqlite' }}"
|
|
matrix_mautrix_whatsapp_postgres_password: "{{ matrix_synapse_macaroon_secret_key | password_hash('sha512', 'as.mautrix_whatsapp.db') | to_uuid }}"
|
|
|
|
######################################################################
|
|
#
|
|
# /matrix-bridge-mautrix-whatsapp
|
|
#
|
|
######################################################################
|
|
|
|
######################################################################
|
|
#
|
|
# matrix-sms-bridge
|
|
#
|
|
######################################################################
|
|
|
|
# We don't enable bridges by default.
|
|
matrix_sms_bridge_enabled: false
|
|
|
|
matrix_sms_bridge_systemd_required_services_list: |
|
|
{{
|
|
['docker.service']
|
|
+
|
|
(['matrix-synapse.service'] if matrix_synapse_enabled else [])
|
|
}}
|
|
|
|
matrix_sms_bridge_appservice_token: "{{ matrix_synapse_macaroon_secret_key | password_hash('sha512', 'sms.as.token') | to_uuid }}"
|
|
|
|
matrix_sms_bridge_homeserver_token: "{{ matrix_synapse_macaroon_secret_key | password_hash('sha512', 'sms.hs.token') | to_uuid }}"
|
|
|
|
######################################################################
|
|
#
|
|
# /matrix-sms-bridge
|
|
#
|
|
######################################################################
|
|
|
|
######################################################################
|
|
#
|
|
# matrix-bridge-mx-puppet-skype
|
|
#
|
|
######################################################################
|
|
|
|
# We don't enable bridges by default.
|
|
matrix_mx_puppet_skype_enabled: false
|
|
|
|
matrix_mx_puppet_skype_container_image_self_build: "{{ matrix_architecture != 'amd64'}}"
|
|
|
|
matrix_mx_puppet_skype_systemd_required_services_list: |
|
|
{{
|
|
['docker.service']
|
|
+
|
|
(['matrix-synapse.service'] if matrix_synapse_enabled else [])
|
|
}}
|
|
|
|
matrix_mx_puppet_skype_appservice_token: "{{ matrix_synapse_macaroon_secret_key | password_hash('sha512', 'skype.as.tok') | to_uuid }}"
|
|
|
|
matrix_mx_puppet_skype_homeserver_token: "{{ matrix_synapse_macaroon_secret_key | password_hash('sha512', 'skype.hs.tok') | to_uuid }}"
|
|
|
|
matrix_mx_puppet_skype_login_shared_secret: "{{ matrix_synapse_ext_password_provider_shared_secret_auth_shared_secret if matrix_synapse_ext_password_provider_shared_secret_auth_enabled else '' }}"
|
|
|
|
# Postgres is the default, except if not using `matrix_postgres` (internal postgres)
|
|
matrix_mx_puppet_skype_database_engine: "{{ 'postgres' if matrix_postgres_enabled else 'sqlite' }}"
|
|
matrix_mx_puppet_skype_postgres_password: "{{ matrix_synapse_macaroon_secret_key | password_hash('sha512', 'as.mx_puppet_skype.db') | to_uuid }}"
|
|
|
|
######################################################################
|
|
#
|
|
# /matrix-bridge-mx-puppet-skype
|
|
#
|
|
######################################################################
|
|
|
|
|
|
######################################################################
|
|
#
|
|
# matrix-bridge-mx-puppet-slack
|
|
#
|
|
######################################################################
|
|
|
|
# We don't enable bridges by default.
|
|
matrix_mx_puppet_slack_enabled: false
|
|
|
|
matrix_mx_puppet_slack_container_image_self_build: "{{ matrix_architecture != 'amd64'}}"
|
|
|
|
matrix_mx_puppet_slack_systemd_required_services_list: |
|
|
{{
|
|
['docker.service']
|
|
+
|
|
(['matrix-synapse.service'] if matrix_synapse_enabled else [])
|
|
}}
|
|
|
|
matrix_mx_puppet_slack_appservice_token: "{{ matrix_synapse_macaroon_secret_key | password_hash('sha512', 'mxslk.as.tok') | to_uuid }}"
|
|
|
|
matrix_mx_puppet_slack_homeserver_token: "{{ matrix_synapse_macaroon_secret_key | password_hash('sha512', 'mxslk.hs.tok') | to_uuid }}"
|
|
|
|
matrix_mx_puppet_slack_login_shared_secret: "{{ matrix_synapse_ext_password_provider_shared_secret_auth_shared_secret if matrix_synapse_ext_password_provider_shared_secret_auth_enabled else '' }}"
|
|
|
|
# Postgres is the default, except if not using `matrix_postgres` (internal postgres)
|
|
matrix_mx_puppet_slack_database_engine: "{{ 'postgres' if matrix_postgres_enabled else 'sqlite' }}"
|
|
matrix_mx_puppet_slack_postgres_password: "{{ matrix_synapse_macaroon_secret_key | password_hash('sha512', 'as.mx_puppet_slack.db') | to_uuid }}"
|
|
|
|
######################################################################
|
|
#
|
|
# /matrix-bridge-mx-puppet-slack
|
|
#
|
|
######################################################################
|
|
|
|
######################################################################
|
|
#
|
|
# matrix-bridge-mx-puppet-twitter
|
|
#
|
|
######################################################################
|
|
|
|
# We don't enable bridges by default.
|
|
matrix_mx_puppet_twitter_enabled: false
|
|
|
|
matrix_mx_puppet_twitter_container_image_self_build: "{{ matrix_architecture != 'amd64'}}"
|
|
|
|
matrix_mx_puppet_twitter_systemd_required_services_list: |
|
|
{{
|
|
['docker.service']
|
|
+
|
|
(['matrix-synapse.service'] if matrix_synapse_enabled else [])
|
|
}}
|
|
|
|
matrix_mx_puppet_twitter_appservice_token: "{{ matrix_synapse_macaroon_secret_key | password_hash('sha512', 'mxtwt.as.tok') | to_uuid }}"
|
|
|
|
matrix_mx_puppet_twitter_homeserver_token: "{{ matrix_synapse_macaroon_secret_key | password_hash('sha512', 'mxtwt.hs.tok') | to_uuid }}"
|
|
|
|
matrix_mx_puppet_twitter_login_shared_secret: "{{ matrix_synapse_ext_password_provider_shared_secret_auth_shared_secret if matrix_synapse_ext_password_provider_shared_secret_auth_enabled else '' }}"
|
|
|
|
matrix_mx_puppet_twitter_container_http_host_bind_port: "{{ '' if matrix_nginx_proxy_enabled else ('127.0.0.1:' ~ matrix_mx_puppet_twitter_appservice_port) }}"
|
|
|
|
# Postgres is the default, except if not using `matrix_postgres` (internal postgres)
|
|
matrix_mx_puppet_twitter_database_engine: "{{ 'postgres' if matrix_postgres_enabled else 'sqlite' }}"
|
|
matrix_mx_puppet_twitter_postgres_password: "{{ matrix_synapse_macaroon_secret_key | password_hash('sha512', 'as.mx_puppet_twitter.db') | to_uuid }}"
|
|
|
|
######################################################################
|
|
#
|
|
# /matrix-bridge-mx-puppet-twitter
|
|
#
|
|
######################################################################
|
|
|
|
|
|
######################################################################
|
|
#
|
|
# matrix-bridge-mx-puppet-instagram
|
|
#
|
|
######################################################################
|
|
|
|
# We don't enable bridges by default.
|
|
matrix_mx_puppet_instagram_enabled: false
|
|
|
|
matrix_mx_puppet_instagram_container_image_self_build: "{{ matrix_architecture != 'amd64'}}"
|
|
|
|
matrix_mx_puppet_instagram_systemd_required_services_list: |
|
|
{{
|
|
['docker.service']
|
|
+
|
|
(['matrix-synapse.service'] if matrix_synapse_enabled else [])
|
|
}}
|
|
|
|
matrix_mx_puppet_instagram_appservice_token: "{{ matrix_synapse_macaroon_secret_key | password_hash('sha512', 'mxig.as.tok') | to_uuid }}"
|
|
|
|
matrix_mx_puppet_instagram_homeserver_token: "{{ matrix_synapse_macaroon_secret_key | password_hash('sha512', 'mxig.hs.tok') | to_uuid }}"
|
|
|
|
matrix_mx_puppet_instagram_login_shared_secret: "{{ matrix_synapse_ext_password_provider_shared_secret_auth_shared_secret if matrix_synapse_ext_password_provider_shared_secret_auth_enabled else '' }}"
|
|
|
|
# Postgres is the default, except if not using `matrix_postgres` (internal postgres)
|
|
matrix_mx_puppet_instagram_database_engine: "{{ 'postgres' if matrix_postgres_enabled else 'sqlite' }}"
|
|
matrix_mx_puppet_instagram_postgres_password: "{{ matrix_synapse_macaroon_secret_key | password_hash('sha512', 'as.mx_puppet_instagram.db') | to_uuid }}"
|
|
|
|
######################################################################
|
|
#
|
|
# /matrix-bridge-mx-puppet-instagram
|
|
#
|
|
######################################################################
|
|
|
|
######################################################################
|
|
#
|
|
# matrix-bridge-mx-puppet-discord
|
|
#
|
|
######################################################################
|
|
|
|
# We don't enable bridges by default.
|
|
matrix_mx_puppet_discord_enabled: false
|
|
|
|
matrix_mx_puppet_discord_container_image_self_build: "{{ matrix_architecture != 'amd64'}}"
|
|
|
|
matrix_mx_puppet_discord_systemd_required_services_list: |
|
|
{{
|
|
['docker.service']
|
|
+
|
|
(['matrix-synapse.service'] if matrix_synapse_enabled else [])
|
|
}}
|
|
|
|
matrix_mx_puppet_discord_appservice_token: "{{ matrix_synapse_macaroon_secret_key | password_hash('sha512', 'mxdsc.as.tok') | to_uuid }}"
|
|
|
|
matrix_mx_puppet_discord_homeserver_token: "{{ matrix_synapse_macaroon_secret_key | password_hash('sha512', 'mxdsc.hs.tok') | to_uuid }}"
|
|
|
|
matrix_mx_puppet_discord_login_shared_secret: "{{ matrix_synapse_ext_password_provider_shared_secret_auth_shared_secret if matrix_synapse_ext_password_provider_shared_secret_auth_enabled else '' }}"
|
|
|
|
# Postgres is the default, except if not using `matrix_postgres` (internal postgres)
|
|
matrix_mx_puppet_discord_database_engine: "{{ 'postgres' if matrix_postgres_enabled else 'sqlite' }}"
|
|
matrix_mx_puppet_discord_postgres_password: "{{ matrix_synapse_macaroon_secret_key | password_hash('sha512', 'as.mx_puppet_discord.db') | to_uuid }}"
|
|
|
|
######################################################################
|
|
#
|
|
# /matrix-bridge-mx-puppet-discord
|
|
#
|
|
######################################################################
|
|
|
|
######################################################################
|
|
#
|
|
# matrix-bridge-mx-puppet-steam
|
|
#
|
|
######################################################################
|
|
|
|
# We don't enable bridges by default.
|
|
matrix_mx_puppet_steam_enabled: false
|
|
|
|
matrix_mx_puppet_steam_container_image_self_build: "{{ matrix_architecture != 'amd64'}}"
|
|
|
|
matrix_mx_puppet_steam_systemd_required_services_list: |
|
|
{{
|
|
['docker.service']
|
|
+
|
|
(['matrix-synapse.service'] if matrix_synapse_enabled else [])
|
|
}}
|
|
|
|
matrix_mx_puppet_steam_appservice_token: "{{ matrix_synapse_macaroon_secret_key | password_hash('sha512', 'mxste.as.tok') | to_uuid }}"
|
|
|
|
matrix_mx_puppet_steam_homeserver_token: "{{ matrix_synapse_macaroon_secret_key | password_hash('sha512', 'mxste.hs.tok') | to_uuid }}"
|
|
|
|
matrix_mx_puppet_steam_login_shared_secret: "{{ matrix_synapse_ext_password_provider_shared_secret_auth_shared_secret if matrix_synapse_ext_password_provider_shared_secret_auth_enabled else '' }}"
|
|
|
|
# Postgres is the default, except if not using `matrix_postgres` (internal postgres)
|
|
matrix_mx_puppet_stream_database_engine: "{{ 'postgres' if matrix_postgres_enabled else 'sqlite' }}"
|
|
matrix_mx_puppet_steam_postgres_password: "{{ matrix_synapse_macaroon_secret_key | password_hash('sha512', 'as.mx_puppet_steam.db') | to_uuid }}"
|
|
|
|
######################################################################
|
|
#
|
|
# /matrix-bridge-mx-puppet-steam
|
|
#
|
|
######################################################################
|
|
|
|
|
|
######################################################################
|
|
#
|
|
# matrix-bot-matrix-reminder-bot
|
|
#
|
|
######################################################################
|
|
|
|
# We don't enable bots by default.
|
|
matrix_bot_matrix_reminder_bot_enabled: false
|
|
|
|
######################################################################
|
|
#
|
|
# /matrix-bot-matrix-reminder-bot
|
|
#
|
|
######################################################################
|
|
|
|
|
|
######################################################################
|
|
#
|
|
# matrix-corporal
|
|
#
|
|
######################################################################
|
|
|
|
matrix_corporal_enabled: false
|
|
|
|
matrix_corporal_container_image_self_build: "{{ matrix_architecture != 'amd64' }}"
|
|
|
|
# Normally, matrix-nginx-proxy is enabled and nginx can reach matrix-corporal over the container network.
|
|
# If matrix-nginx-proxy is not enabled, or you otherwise have a need for it, you can expose
|
|
# matrix-corporal's web-server ports to the local host.
|
|
matrix_corporal_container_http_gateway_host_bind_port: "{{ '' if matrix_nginx_proxy_enabled else '127.0.0.1:41080' }}"
|
|
matrix_corporal_container_http_api_host_bind_port: "{{ '' if matrix_nginx_proxy_enabled else '127.0.0.1:41081' }}"
|
|
|
|
matrix_corporal_systemd_required_services_list: |
|
|
{{
|
|
(['docker.service'])
|
|
+
|
|
(['matrix-synapse.service'])
|
|
}}
|
|
|
|
matrix_corporal_matrix_homeserver_api_endpoint: "http://matrix-synapse:8008"
|
|
|
|
matrix_corporal_matrix_auth_shared_secret: "{{ matrix_synapse_ext_password_provider_shared_secret_auth_shared_secret }}"
|
|
|
|
matrix_corporal_matrix_registration_shared_secret: "{{ matrix_synapse_registration_shared_secret }}"
|
|
|
|
######################################################################
|
|
#
|
|
# /matrix-corporal
|
|
#
|
|
######################################################################
|
|
|
|
|
|
|
|
######################################################################
|
|
#
|
|
# matrix-coturn
|
|
#
|
|
######################################################################
|
|
|
|
matrix_coturn_enabled: true
|
|
|
|
matrix_coturn_container_image_self_build: "{{ matrix_architecture != 'amd64'}}"
|
|
|
|
matrix_coturn_turn_external_ip_address: "{{ ansible_host }}"
|
|
|
|
matrix_coturn_tls_enabled: "{{ matrix_ssl_retrieval_method != 'none' }}"
|
|
matrix_coturn_tls_cert_path: "{{ matrix_ssl_config_dir_path }}/live/{{ matrix_server_fqn_matrix }}/fullchain.pem"
|
|
matrix_coturn_tls_key_path: "{{ matrix_ssl_config_dir_path }}/live/{{ matrix_server_fqn_matrix }}/privkey.pem"
|
|
matrix_coturn_container_additional_volumes: |
|
|
{{
|
|
([] if matrix_ssl_retrieval_method == 'none' else [
|
|
{
|
|
'src': matrix_ssl_config_dir_path,
|
|
'dst': matrix_ssl_config_dir_path,
|
|
'options': 'ro',
|
|
}
|
|
])
|
|
}}
|
|
|
|
######################################################################
|
|
#
|
|
# /matrix-coturn
|
|
#
|
|
######################################################################
|
|
|
|
|
|
|
|
######################################################################
|
|
#
|
|
# matrix-dimension
|
|
#
|
|
######################################################################
|
|
|
|
matrix_dimension_enabled: false
|
|
|
|
# Normally, matrix-nginx-proxy is enabled and nginx can reach Dimension over the container network.
|
|
# If matrix-nginx-proxy is not enabled, or you otherwise have a need for it, you can expose
|
|
# the Dimension HTTP port to the local host.
|
|
matrix_dimension_container_http_host_bind_port: "{{ '' if matrix_nginx_proxy_enabled else '127.0.0.1:8184' }}"
|
|
|
|
matrix_integration_manager_rest_url: "{{ matrix_dimension_integrations_rest_url if matrix_dimension_enabled else None }}"
|
|
matrix_integration_manager_ui_url: "{{ matrix_dimension_integrations_ui_url if matrix_dimension_enabled else None }}"
|
|
|
|
# Postgres is the default, except if not using `matrix_postgres` (internal postgres)
|
|
matrix_dimension_database_engine: "{{ 'postgres' if matrix_postgres_enabled else 'sqlite' }}"
|
|
matrix_dimension_postgres_password: "{{ matrix_synapse_macaroon_secret_key | password_hash('sha512', 'as.dimension.db') | to_uuid }}"
|
|
|
|
######################################################################
|
|
#
|
|
# /matrix-dimension
|
|
#
|
|
######################################################################
|
|
|
|
|
|
|
|
######################################################################
|
|
#
|
|
# matrix-dynamic-dns
|
|
#
|
|
######################################################################
|
|
|
|
matrix_dynamic_dns_enabled: false
|
|
|
|
######################################################################
|
|
#
|
|
# /matrix-dynamic-dns
|
|
#
|
|
######################################################################
|
|
|
|
|
|
|
|
######################################################################
|
|
#
|
|
# matrix-email2matrix
|
|
#
|
|
######################################################################
|
|
|
|
matrix_email2matrix_enabled: false
|
|
|
|
######################################################################
|
|
#
|
|
# /matrix-email2matrix
|
|
#
|
|
######################################################################
|
|
|
|
|
|
|
|
######################################################################
|
|
#
|
|
# matrix-jitsi
|
|
#
|
|
######################################################################
|
|
|
|
matrix_jitsi_enabled: false
|
|
|
|
# Normally, matrix-nginx-proxy is enabled and nginx can reach jitsi/web over the container network.
|
|
# If matrix-nginx-proxy is not enabled, or you otherwise have a need for it, you can expose
|
|
# the Jitsi HTTP port to the local host.
|
|
matrix_jitsi_web_container_http_host_bind_port: "{{ '' if matrix_nginx_proxy_enabled else '127.0.0.1:12080' }}"
|
|
|
|
matrix_jitsi_jvb_container_colibri_ws_host_bind_port: "{{ '' if matrix_nginx_proxy_enabled else '127.0.0.1:12090' }}"
|
|
|
|
matrix_jitsi_jibri_xmpp_password: "{{ matrix_synapse_macaroon_secret_key | password_hash('sha512', 'jibri') | to_uuid }}"
|
|
matrix_jitsi_jicofo_auth_password: "{{ matrix_synapse_macaroon_secret_key | password_hash('sha512', 'jicofo') | to_uuid }}"
|
|
matrix_jitsi_jvb_auth_password: "{{ matrix_synapse_macaroon_secret_key | password_hash('sha512', 'jvb') | to_uuid }}"
|
|
|
|
matrix_jitsi_web_stun_servers: |
|
|
{{
|
|
[
|
|
'stun:' + matrix_server_fqn_matrix + ':5349',
|
|
'stun:' + matrix_server_fqn_matrix + ':3478',
|
|
]
|
|
if matrix_coturn_enabled
|
|
else [ 'stun:meet-jit-si-turnrelay.jitsi.net:443']
|
|
}}
|
|
|
|
######################################################################
|
|
#
|
|
# /matrix-jitsi
|
|
#
|
|
######################################################################
|
|
|
|
|
|
|
|
######################################################################
|
|
#
|
|
# matrix-mailer
|
|
#
|
|
######################################################################
|
|
|
|
# By default, this playbook sets up an exim mailer server (running in a container).
|
|
# This is so that Synapse can send email reminders for unread messages.
|
|
# Other services (like ma1sd), also use the mailer.
|
|
matrix_mailer_enabled: true
|
|
|
|
matrix_mailer_container_image_self_build: "{{ matrix_architecture != 'amd64'}}"
|
|
|
|
######################################################################
|
|
#
|
|
# /matrix-mailer
|
|
#
|
|
######################################################################
|
|
|
|
|
|
|
|
######################################################################
|
|
#
|
|
# matrix-ma1sd
|
|
#
|
|
######################################################################
|
|
|
|
# By default, this playbook installs the ma1sd identity server on the same domain as Synapse (`matrix_server_fqn_matrix`).
|
|
# If you wish to use the public identity servers (matrix.org, vector.im) instead of your own you may wish to disable this.
|
|
matrix_ma1sd_enabled: true
|
|
|
|
# There's no prebuilt ma1sd image for the `arm32` architecture.
|
|
# We're relying on self-building there.
|
|
matrix_ma1sd_architecture: "{{
|
|
{
|
|
'amd64': 'amd64',
|
|
'arm32': 'arm32',
|
|
'arm64': 'arm64',
|
|
}[matrix_architecture]
|
|
}}"
|
|
|
|
matrix_ma1sd_container_image_self_build: "{{ matrix_architecture not in ['arm64', 'amd64'] }}"
|
|
|
|
# Normally, matrix-nginx-proxy is enabled and nginx can reach ma1sd over the container network.
|
|
# If matrix-nginx-proxy is not enabled, or you otherwise have a need for it, you can expose
|
|
# ma1sd's web-server port.
|
|
matrix_ma1sd_container_http_host_bind_port: "{{ '' if matrix_nginx_proxy_enabled else '127.0.0.1:8090' }}"
|
|
|
|
# We enable Synapse integration via its Postgres database by default.
|
|
# When using another Identity store, you might wish to disable this and define
|
|
# your own configuration in `matrix_ma1sd_configuration_extension_yaml`.
|
|
matrix_ma1sd_synapsesql_enabled: true
|
|
matrix_ma1sd_synapsesql_type: postgresql
|
|
matrix_ma1sd_synapsesql_connection: //{{ matrix_synapse_database_host }}/{{ matrix_synapse_database_database }}?user={{ matrix_synapse_database_user | urlencode() }}&password={{ matrix_synapse_database_password | urlencode() }}
|
|
|
|
matrix_ma1sd_dns_overwrite_enabled: true
|
|
matrix_ma1sd_dns_overwrite_homeserver_client_name: "{{ matrix_server_fqn_matrix }}"
|
|
matrix_ma1sd_dns_overwrite_homeserver_client_value: "http://{{ 'matrix-corporal:41080' if matrix_corporal_enabled else 'matrix-synapse:8008' }}"
|
|
|
|
# By default, we send mail through the `matrix-mailer` service.
|
|
matrix_ma1sd_threepid_medium_email_identity_from: "{{ matrix_mailer_sender_address }}"
|
|
matrix_ma1sd_threepid_medium_email_connectors_smtp_host: "matrix-mailer"
|
|
matrix_ma1sd_threepid_medium_email_connectors_smtp_port: 8025
|
|
matrix_ma1sd_threepid_medium_email_connectors_smtp_tls: 0
|
|
|
|
matrix_ma1sd_self_check_validate_certificates: "{{ false if matrix_ssl_retrieval_method == 'self-signed' else true }}"
|
|
|
|
matrix_ma1sd_systemd_wanted_services_list: |
|
|
{{
|
|
(['matrix-corporal.service'] if matrix_corporal_enabled else ['matrix-synapse.service'])
|
|
+
|
|
(['matrix-postgres.service'] if matrix_postgres_enabled else [])
|
|
+
|
|
(['matrix-mailer.service'] if matrix_mailer_enabled else [])
|
|
}}
|
|
|
|
######################################################################
|
|
#
|
|
# /matrix-ma1sd
|
|
#
|
|
######################################################################
|
|
|
|
|
|
|
|
######################################################################
|
|
#
|
|
# matrix-nginx-proxy
|
|
#
|
|
######################################################################
|
|
|
|
# By default, this playbook sets up a reverse-proxy nginx proxy server on TCP ports 80, 443 and 8448.
|
|
# This is fine if you're dedicating the whole server to Matrix.
|
|
# If that's not the case, you may wish to disable this and take care of proxying yourself.
|
|
matrix_nginx_proxy_enabled: true
|
|
|
|
matrix_nginx_proxy_proxy_matrix_client_api_addr_with_container: "{{ 'matrix-corporal:41080' if matrix_corporal_enabled else 'matrix-synapse:8008' }}"
|
|
matrix_nginx_proxy_proxy_matrix_client_api_addr_sans_container: "{{ '127.0.0.1:41080' if matrix_corporal_enabled else '127.0.0.1:8008' }}"
|
|
matrix_nginx_proxy_proxy_matrix_client_api_client_max_body_size_mb: "{{ matrix_synapse_max_upload_size_mb }}"
|
|
|
|
matrix_nginx_proxy_proxy_matrix_client_api_forwarded_location_synapse_admin_api_enabled: "{{ matrix_synapse_admin_enabled }}"
|
|
|
|
matrix_nginx_proxy_proxy_matrix_client_redirect_root_uri_to_domain: "{{ matrix_server_fqn_element if matrix_client_element_enabled else '' }}"
|
|
|
|
matrix_nginx_proxy_proxy_matrix_enabled: true
|
|
matrix_nginx_proxy_proxy_element_enabled: "{{ matrix_client_element_enabled }}"
|
|
matrix_nginx_proxy_proxy_dimension_enabled: "{{ matrix_dimension_enabled }}"
|
|
matrix_nginx_proxy_proxy_jitsi_enabled: "{{ matrix_jitsi_enabled }}"
|
|
|
|
matrix_nginx_proxy_proxy_matrix_corporal_api_enabled: "{{ matrix_corporal_enabled and matrix_corporal_http_api_enabled }}"
|
|
matrix_nginx_proxy_proxy_matrix_corporal_api_addr_with_container: "matrix-corporal:41081"
|
|
matrix_nginx_proxy_proxy_matrix_corporal_api_addr_sans_container: "127.0.0.1:41081"
|
|
|
|
matrix_nginx_proxy_proxy_matrix_identity_api_enabled: "{{ matrix_ma1sd_enabled }}"
|
|
matrix_nginx_proxy_proxy_matrix_identity_api_addr_with_container: "matrix-ma1sd:8090"
|
|
matrix_nginx_proxy_proxy_matrix_identity_api_addr_sans_container: "127.0.0.1:8090"
|
|
|
|
# By default, we do TLS termination for the Matrix Federation API (port 8448) at matrix-nginx-proxy.
|
|
# Unless this is handled there OR Synapse's federation listener port is disabled, we'll reverse-proxy.
|
|
matrix_nginx_proxy_proxy_matrix_federation_api_enabled: "{{ matrix_synapse_federation_port_enabled and not matrix_synapse_tls_federation_listener_enabled }}"
|
|
matrix_nginx_proxy_proxy_matrix_federation_api_addr_with_container: "matrix-synapse:8048"
|
|
matrix_nginx_proxy_proxy_matrix_federation_api_addr_sans_container: "127.0.0.1:8048"
|
|
|
|
matrix_nginx_proxy_container_federation_host_bind_port: "{{ matrix_federation_public_port }}"
|
|
|
|
matrix_nginx_proxy_proxy_synapse_metrics: "{{ matrix_synapse_metrics_enabled }}"
|
|
matrix_nginx_proxy_proxy_synapse_metrics_addr_with_container: "matrix-synapse:{{ matrix_synapse_metrics_port }}"
|
|
matrix_nginx_proxy_proxy_synapse_metrics_addr_sans_container: "127.0.0.1:{{ matrix_synapse_metrics_port }}"
|
|
|
|
matrix_nginx_proxy_proxy_matrix_user_directory_search_enabled: "{{ matrix_ma1sd_enabled }}"
|
|
matrix_nginx_proxy_proxy_matrix_user_directory_search_addr_with_container: "{{ matrix_nginx_proxy_proxy_matrix_identity_api_addr_with_container }}"
|
|
matrix_nginx_proxy_proxy_matrix_user_directory_search_addr_sans_container: "{{ matrix_nginx_proxy_proxy_matrix_identity_api_addr_sans_container }}"
|
|
|
|
matrix_nginx_proxy_self_check_validate_certificates: "{{ false if matrix_ssl_retrieval_method == 'self-signed' else true }}"
|
|
|
|
matrix_nginx_proxy_systemd_wanted_services_list: |
|
|
{{
|
|
(['matrix-synapse.service'])
|
|
+
|
|
(['matrix-corporal.service'] if matrix_corporal_enabled else [])
|
|
+
|
|
(['matrix-ma1sd.service'] if matrix_ma1sd_enabled else [])
|
|
+
|
|
(['matrix-client-element.service'] if matrix_client_element_enabled else [])
|
|
}}
|
|
|
|
matrix_ssl_domains_to_obtain_certificates_for: |
|
|
{{
|
|
([matrix_server_fqn_matrix])
|
|
+
|
|
([matrix_server_fqn_element] if matrix_client_element_enabled else [])
|
|
+
|
|
([matrix_nginx_proxy_proxy_riot_compat_redirect_hostname] if matrix_nginx_proxy_proxy_riot_compat_redirect_enabled else [])
|
|
+
|
|
([matrix_server_fqn_dimension] if matrix_dimension_enabled else [])
|
|
+
|
|
([matrix_server_fqn_jitsi] if matrix_jitsi_enabled else [])
|
|
+
|
|
([matrix_domain] if matrix_nginx_proxy_base_domain_serving_enabled else [])
|
|
}}
|
|
|
|
matrix_ssl_architecture: "{{
|
|
{
|
|
'amd64': 'amd64',
|
|
'arm32': 'arm32v6',
|
|
'arm64': 'arm64v8',
|
|
}[matrix_architecture]
|
|
}}"
|
|
|
|
matrix_ssl_pre_obtaining_required_service_name: "{{ 'matrix-dynamic-dns' if matrix_dynamic_dns_enabled else '' }}"
|
|
|
|
######################################################################
|
|
#
|
|
# /matrix-nginx-proxy
|
|
#
|
|
######################################################################
|
|
|
|
|
|
|
|
######################################################################
|
|
#
|
|
# matrix-postgres
|
|
#
|
|
######################################################################
|
|
|
|
matrix_postgres_enabled: true
|
|
|
|
matrix_postgres_connection_hostname: "matrix-postgres"
|
|
matrix_postgres_connection_username: "synapse"
|
|
# Please note that the max length of the password is 99 characters
|
|
matrix_postgres_connection_password: "synapse-password"
|
|
matrix_postgres_db_name: "homeserver"
|
|
|
|
matrix_postgres_additional_databases: |
|
|
{{
|
|
([{
|
|
'name': matrix_appservice_discord_postgres_db_name,
|
|
'username': matrix_appservice_discord_postgres_username,
|
|
'password': matrix_appservice_discord_postgres_password,
|
|
}] if (matrix_appservice_discord_enabled and matrix_appservice_discord_database_engine == 'postgres' and matrix_appservice_discord_postgres_hostname == 'matrix-postgres') else [])
|
|
+ ([{
|
|
'name': matrix_appservice_slack_postgres_db_name,
|
|
'username': matrix_appservice_slack_postgres_username,
|
|
'password': matrix_appservice_slack_postgres_password,
|
|
}] if (matrix_appservice_slack_enabled and matrix_appservice_slack_database_engine == 'postgres' and matrix_appservice_slack_postgres_hostname == 'matrix-postgres') else [])
|
|
+ ([{
|
|
'name': matrix_appservice_irc_postgres_db_name,
|
|
'username': matrix_appservice_irc_postgres_username,
|
|
'password': matrix_appservice_irc_postgres_password,
|
|
}] if (matrix_appservice_irc_enabled and matrix_appservice_irc_database_engine == 'postgres' and matrix_appservice_irc_postgres_hostname == 'matrix-postgres') else [])
|
|
+ ([{
|
|
'name': matrix_mautrix_facebook_postgres_db_name,
|
|
'username': matrix_mautrix_facebook_postgres_username,
|
|
'password': matrix_mautrix_facebook_postgres_password,
|
|
}] if (matrix_mautrix_facebook_enabled and matrix_mautrix_facebook_database_engine == 'postgres' and matrix_mautrix_facebook_postgres_hostname == 'matrix-postgres') else [])
|
|
+ ([{
|
|
'name': matrix_mautrix_hangouts_postgres_db_name,
|
|
'username': matrix_mautrix_hangouts_postgres_username,
|
|
'password': matrix_mautrix_hangouts_postgres_password,
|
|
}] if (matrix_mautrix_hangouts_enabled and matrix_mautrix_hangouts_database_engine == 'postgres' and matrix_mautrix_hangouts_postgres_hostname == 'matrix-postgres') else [])
|
|
+ ([{
|
|
'name': matrix_mautrix_telegram_postgres_db_name,
|
|
'username': matrix_mautrix_telegram_postgres_username,
|
|
'password': matrix_mautrix_telegram_postgres_password,
|
|
}] if (matrix_mautrix_telegram_enabled and matrix_mautrix_telegram_database_engine == 'postgres' and matrix_mautrix_telegram_postgres_hostname == 'matrix-postgres') else [])
|
|
+ ([{
|
|
'name': matrix_mautrix_whatsapp_postgres_db_name,
|
|
'username': matrix_mautrix_whatsapp_postgres_username,
|
|
'password': matrix_mautrix_whatsapp_postgres_password,
|
|
}] if (matrix_mautrix_whatsapp_enabled and matrix_mautrix_whatsapp_database_engine == 'postgres' and matrix_mautrix_whatsapp_postgres_hostname == 'matrix-postgres') else [])
|
|
+ ([{
|
|
'name': 'matrix_bridge_sms',
|
|
'username': 'matrix_bridge_sms',
|
|
'password': matrix_synapse_macaroon_secret_key | password_hash('sha512', 'bridge_sms.db.secret') | to_uuid,
|
|
}] if matrix_sms_bridge_enabled else [])
|
|
+ ([{
|
|
'name': matrix_mx_puppet_skype_postgres_db_name,
|
|
'username': matrix_mx_puppet_skype_postgres_username,
|
|
'password': matrix_mx_puppet_skype_postgres_password,
|
|
}] if (matrix_mx_puppet_skype_enabled and matrix_mx_puppet_skype_database_engine == 'postgres' and matrix_mx_puppet_skype_postgres_hostname == 'matrix-postgres') else [])
|
|
+ ([{
|
|
'name': matrix_mx_puppet_slack_postgres_db_name,
|
|
'username': matrix_mx_puppet_slack_postgres_username,
|
|
'password': matrix_mx_puppet_slack_postgres_password,
|
|
}] if (matrix_mx_puppet_slack_enabled and matrix_mx_puppet_slack_database_engine == 'postgres' and matrix_mx_puppet_slack_postgres_hostname == 'matrix-postgres') else [])
|
|
+ ([{
|
|
'name': matrix_mx_puppet_twitter_postgres_db_name,
|
|
'username': matrix_mx_puppet_twitter_postgres_username,
|
|
'password': matrix_mx_puppet_twitter_postgres_password,
|
|
}] if (matrix_mx_puppet_twitter_enabled and matrix_mx_puppet_twitter_database_engine == 'postgres' and matrix_mx_puppet_twitter_postgres_hostname == 'matrix-postgres') else [])
|
|
+ ([{
|
|
'name': matrix_mx_puppet_instagram_postgres_db_name,
|
|
'username': matrix_mx_puppet_instagram_postgres_username,
|
|
'password': matrix_mx_puppet_instagram_postgres_password,
|
|
}] if (matrix_mx_puppet_instagram_enabled
|
|
and matrix_mx_puppet_instagram_database_engine == 'postgres'
|
|
and matrix_mx_puppet_instagram_postgres_hostname == 'matrix-postgres') else [])
|
|
+ ([{
|
|
'name': matrix_mx_puppet_discord_postgres_db_name,
|
|
'username': matrix_mx_puppet_discord_postgres_username,
|
|
'password': matrix_mx_puppet_discord_postgres_password,
|
|
}] if (matrix_mx_puppet_discord_enabled
|
|
and matrix_mx_puppet_discord_database_engine == 'postgres'
|
|
and matrix_mx_puppet_discord_postgres_hostname == 'matrix-postgres') else [])
|
|
+ ([{
|
|
'name': matrix_mx_puppet_steam_postgres_db_name,
|
|
'username': matrix_mx_puppet_steam_postgres_username,
|
|
'password': matrix_mx_puppet_steam_postgres_password,
|
|
}] if (matrix_mx_puppet_steam_enabled
|
|
and matrix_mx_puppet_steam_database_engine == 'postgres'
|
|
and matrix_mx_puppet_steam_postgres_hostname == 'matrix-postgres') else [])
|
|
+ ([{
|
|
'name': matrix_dimension_postgres_db_name,
|
|
'username': matrix_dimension_postgres_username,
|
|
'password': matrix_dimension_postgres_password,
|
|
}] if (matrix_dimension_enabled
|
|
and matrix_dimension_database_engine == 'postgres'
|
|
and matrix_dimension_postgres_hostname == 'matrix-postgres') else [])
|
|
}}
|
|
|
|
######################################################################
|
|
#
|
|
# /matrix-postgres
|
|
#
|
|
######################################################################
|
|
|
|
|
|
|
|
######################################################################
|
|
#
|
|
# matrix-client-element
|
|
#
|
|
######################################################################
|
|
|
|
# By default, this playbook installs the Element web UI on the `matrix_server_fqn_element` domain.
|
|
# If you wish to connect to your Matrix server by other means, you may wish to disable this.
|
|
matrix_client_element_enabled: true
|
|
|
|
matrix_client_element_container_image_self_build: "{{ matrix_architecture != 'amd64' }}"
|
|
|
|
# Normally, matrix-nginx-proxy is enabled and nginx can reach Element over the container network.
|
|
# If matrix-nginx-proxy is not enabled, or you otherwise have a need for it, you can expose
|
|
# the Element HTTP port to the local host.
|
|
matrix_client_element_container_http_host_bind_port: "{{ '' if matrix_nginx_proxy_enabled else '127.0.0.1:8765' }}"
|
|
|
|
matrix_client_element_default_hs_url: "{{ matrix_homeserver_url }}"
|
|
matrix_client_element_default_is_url: "{{ matrix_identity_server_url }}"
|
|
|
|
# Use Dimension if enabled, otherwise fall back to Scalar
|
|
matrix_client_element_integrations_ui_url: "{{ matrix_dimension_integrations_ui_url if matrix_dimension_enabled else 'https://scalar.vector.im/' }}"
|
|
matrix_client_element_integrations_rest_url: "{{ matrix_dimension_integrations_rest_url if matrix_dimension_enabled else 'https://scalar.vector.im/api' }}"
|
|
matrix_client_element_integrations_widgets_urls: "{{ matrix_dimension_integrations_widgets_urls if matrix_dimension_enabled else ['https://scalar.vector.im/api'] }}"
|
|
matrix_client_element_integrations_jitsi_widget_url: "{{ matrix_dimension_integrations_jitsi_widget_url if matrix_dimension_enabled else 'https://scalar.vector.im/api/widgets/jitsi.html' }}"
|
|
|
|
matrix_client_element_self_check_validate_certificates: "{{ false if matrix_ssl_retrieval_method == 'self-signed' else true }}"
|
|
|
|
matrix_client_element_registration_enabled: "{{ matrix_synapse_enable_registration }}"
|
|
|
|
matrix_client_element_enable_presence_by_hs_url: |
|
|
{{
|
|
none
|
|
if matrix_synapse_use_presence
|
|
else {matrix_client_element_default_hs_url: false}
|
|
}}
|
|
|
|
matrix_client_element_welcome_user_id: ~
|
|
|
|
matrix_client_element_jitsi_preferredDomain: "{{ matrix_server_fqn_jitsi if matrix_jitsi_enabled else '' }}"
|
|
|
|
######################################################################
|
|
#
|
|
# /matrix-client-element
|
|
#
|
|
######################################################################
|
|
|
|
|
|
|
|
######################################################################
|
|
#
|
|
# matrix-synapse
|
|
#
|
|
######################################################################
|
|
|
|
matrix_synapse_container_image_self_build: "{{ matrix_architecture not in ['arm32', 'arm64', 'amd64'] }}"
|
|
|
|
# When ma1sd is enabled, we can use it to validate email addresses and phone numbers.
|
|
# Synapse can validate email addresses by itself as well, but it's probably not what we want by default when we have an identity server.
|
|
matrix_synapse_account_threepid_delegates_email: "{{ 'http://matrix-ma1sd:8090' if matrix_ma1sd_enabled else '' }}"
|
|
matrix_synapse_account_threepid_delegates_msisdn: "{{ 'http://matrix-ma1sd:8090' if matrix_ma1sd_enabled else '' }}"
|
|
|
|
# Normally, matrix-nginx-proxy is enabled and nginx can reach Synapse over the container network.
|
|
# If matrix-nginx-proxy is not enabled, or you otherwise have a need for it,
|
|
# you can expose Synapse's ports to the host.
|
|
#
|
|
# For exposing the Matrix Client API's port (plain HTTP) to the local host.
|
|
matrix_synapse_container_client_api_host_bind_port: "{{ '' if matrix_nginx_proxy_enabled else '127.0.0.1:8008' }}"
|
|
#
|
|
# For exposing the Matrix Federation API's plain port (plain HTTP) to the local host.
|
|
matrix_synapse_container_federation_api_plain_host_bind_port: "{{ '' if matrix_nginx_proxy_enabled else '127.0.0.1:8048' }}"
|
|
#
|
|
# For exposing the Matrix Federation API's TLS port (HTTPS) to the internet on all network interfaces.
|
|
matrix_synapse_container_federation_api_tls_host_bind_port: "{{ matrix_federation_public_port if (matrix_synapse_federation_enabled and matrix_synapse_tls_federation_listener_enabled) else '' }}"
|
|
#
|
|
# For exposing the Synapse Metrics API's port (plain HTTP) to the local host.
|
|
matrix_synapse_container_metrics_api_host_bind_port: "{{ '127.0.0.1:9100' if (matrix_synapse_metrics_enabled and not matrix_nginx_proxy_enabled) else '' }}"
|
|
#
|
|
# For exposing the Synapse Manhole port (plain HTTP) to the local host.
|
|
matrix_synapse_container_manhole_api_host_bind_port: "{{ '127.0.0.1:9000' if matrix_synapse_manhole_enabled else '' }}"
|
|
|
|
matrix_synapse_database_host: "{{ matrix_postgres_connection_hostname }}"
|
|
matrix_synapse_database_user: "{{ matrix_postgres_connection_username }}"
|
|
matrix_synapse_database_password: "{{ matrix_postgres_connection_password }}"
|
|
matrix_synapse_database_database: "{{ matrix_postgres_db_name }}"
|
|
|
|
# We do not enable TLS in Synapse by default.
|
|
# TLS is handled by the matrix-nginx-proxy, which proxies the requests to Synapse.
|
|
matrix_synapse_tls_federation_listener_enabled: false
|
|
matrix_synapse_tls_certificate_path: ~
|
|
matrix_synapse_tls_private_key_path: ~
|
|
|
|
matrix_synapse_federation_port_openid_resource_required: "{{ not matrix_synapse_federation_enabled and (matrix_dimension_enabled or matrix_ma1sd_enabled) }}"
|
|
|
|
matrix_synapse_email_enabled: "{{ matrix_mailer_enabled }}"
|
|
matrix_synapse_email_smtp_host: "matrix-mailer"
|
|
matrix_synapse_email_smtp_port: 8025
|
|
matrix_synapse_email_smtp_require_transport_security: false
|
|
matrix_synapse_email_notif_from: "Matrix <{{ matrix_mailer_sender_address }}>"
|
|
|
|
# Even if TURN doesn't support TLS (it does by default),
|
|
# it doesn't hurt to try a secure connection anyway.
|
|
matrix_synapse_turn_uris: |
|
|
{{
|
|
[
|
|
'turns:' + matrix_server_fqn_matrix + '?transport=udp',
|
|
'turns:' + matrix_server_fqn_matrix + '?transport=tcp',
|
|
'turn:' + matrix_server_fqn_matrix + '?transport=udp',
|
|
'turn:' + matrix_server_fqn_matrix + '?transport=tcp',
|
|
]
|
|
if matrix_coturn_enabled
|
|
else []
|
|
}}
|
|
|
|
matrix_synapse_turn_shared_secret: "{{ matrix_coturn_turn_static_auth_secret if matrix_coturn_enabled else '' }}"
|
|
|
|
matrix_synapse_self_check_validate_certificates: "{{ false if matrix_ssl_retrieval_method == 'self-signed' else true }}"
|
|
|
|
matrix_synapse_systemd_required_services_list: |
|
|
{{
|
|
(['docker.service'])
|
|
+
|
|
(['matrix-postgres.service'] if matrix_postgres_enabled else [])
|
|
+
|
|
(['matrix-goofys'] if matrix_s3_media_store_enabled else [])
|
|
}}
|
|
|
|
matrix_synapse_systemd_wanted_services_list: |
|
|
{{
|
|
(['matrix-coturn.service'] if matrix_coturn_enabled else [])
|
|
+
|
|
(['matrix-mailer.service'] if matrix_mailer_enabled else [])
|
|
}}
|
|
|
|
######################################################################
|
|
#
|
|
# /matrix-synapse
|
|
#
|
|
######################################################################
|
|
|
|
|
|
|
|
######################################################################
|
|
#
|
|
# matrix-synapse-admin
|
|
#
|
|
######################################################################
|
|
|
|
matrix_synapse_admin_enabled: false
|
|
|
|
# Normally, matrix-nginx-proxy is enabled and nginx can reach Synapse Admin over the container network.
|
|
# If matrix-nginx-proxy is not enabled, or you otherwise have a need for it, you can expose
|
|
# Synapse Admin's HTTP port to the local host.
|
|
matrix_synapse_admin_container_http_host_bind_port: "{{ '' if matrix_nginx_proxy_enabled else '127.0.0.1:8766' }}"
|
|
|
|
matrix_synapse_admin_container_self_build: "{{ matrix_architecture != 'amd64' }}"
|
|
|
|
######################################################################
|
|
#
|
|
# /matrix-synapse-admin
|
|
#
|
|
######################################################################
|
|
|
|
|
|
|
|
######################################################################
|
|
#
|
|
# matrix-registration
|
|
#
|
|
######################################################################
|
|
|
|
matrix_registration_enabled: false
|
|
|
|
# Normally, matrix-nginx-proxy is enabled and nginx can reach matrix-registration over the container network.
|
|
# If matrix-nginx-proxy is not enabled, or you otherwise have a need for it, you can expose
|
|
# matrix-registration's HTTP port to the local host.
|
|
matrix_registration_container_http_host_bind_port: "{{ '' if matrix_nginx_proxy_enabled else '127.0.0.1:8767' }}"
|
|
|
|
matrix_registration_riot_instance: "{{ ('https://' + matrix_server_fqn_element) if matrix_client_element_enabled else 'https://riot.im/app/' }}"
|
|
|
|
matrix_registration_shared_secret: "{{ matrix_synapse_registration_shared_secret if matrix_synapse_enabled else '' }}"
|
|
|
|
matrix_registration_server_location: "{{ 'http://matrix-synapse:8008' if matrix_synapse_enabled else '' }}"
|
|
|
|
matrix_registration_api_validate_certs: "{{ false if matrix_ssl_retrieval_method == 'self-signed' else true }}"
|
|
|
|
matrix_registration_container_image_self_build: "{{ matrix_architecture != 'amd64' }}"
|
|
|
|
######################################################################
|
|
#
|
|
# /matrix-registration
|
|
#
|
|
######################################################################
|