Make matrix_homeserver_implementation influence matrix_IMPLEMENTATION_enabled, not the other way around
Doing this seems more reasonable and simpler.
This commit is contained in:
parent
4139290cc9
commit
1dfe21944f
|
@ -10,6 +10,10 @@
|
||||||
# Example value: example.com
|
# Example value: example.com
|
||||||
matrix_domain: YOUR_BARE_DOMAIN_NAME_HERE
|
matrix_domain: YOUR_BARE_DOMAIN_NAME_HERE
|
||||||
|
|
||||||
|
# The Matrix homeserver software to install.
|
||||||
|
# See `roles/matrix-base/defaults/main.yml` for valid options.
|
||||||
|
matrix_homeserver_implementation: synapse
|
||||||
|
|
||||||
# This is something which is provided to Let's Encrypt when retrieving SSL certificates for domains.
|
# This is something which is provided to Let's Encrypt when retrieving SSL certificates for domains.
|
||||||
#
|
#
|
||||||
# In case SSL renewal fails at some point, you'll also get an email notification there.
|
# In case SSL renewal fails at some point, you'll also get an email notification there.
|
||||||
|
|
|
@ -17,17 +17,6 @@ matrix_container_global_registry_prefix: "docker.io/"
|
||||||
#
|
#
|
||||||
######################################################################
|
######################################################################
|
||||||
|
|
||||||
matrix_homeserver_enabled_implementations_list: |
|
|
||||||
{{
|
|
||||||
(
|
|
||||||
(['synapse'] if matrix_synapse_enabled else [])
|
|
||||||
+
|
|
||||||
(['dendrite'] if matrix_dendrite_enabled else [])
|
|
||||||
)
|
|
||||||
}}
|
|
||||||
|
|
||||||
matrix_homeserver_implementation: "{{ matrix_homeserver_enabled_implementations_list[0] if matrix_homeserver_enabled_implementations_list|length == 1 else '' }}"
|
|
||||||
|
|
||||||
matrix_identity_server_url: "{{ ('https://' + matrix_server_fqn_matrix) if matrix_ma1sd_enabled else None }}"
|
matrix_identity_server_url: "{{ ('https://' + matrix_server_fqn_matrix) if matrix_ma1sd_enabled else None }}"
|
||||||
|
|
||||||
# If Synapse workers are enabled and matrix-nginx-proxy is disabled, certain APIs may not work over 'http://matrix-synapse:{{ matrix_synapse_container_client_api_port }}'.
|
# If Synapse workers are enabled and matrix-nginx-proxy is disabled, certain APIs may not work over 'http://matrix-synapse:{{ matrix_synapse_container_client_api_port }}'.
|
||||||
|
@ -1906,6 +1895,8 @@ matrix_client_cinny_self_check_validate_certificates: "{{ false if matrix_ssl_re
|
||||||
#
|
#
|
||||||
######################################################################
|
######################################################################
|
||||||
|
|
||||||
|
matrix_synapse_enabled: "{{ matrix_homeserver_implementation == 'synapse' }}"
|
||||||
|
|
||||||
matrix_synapse_container_image_self_build: "{{ matrix_architecture not in ['arm64', 'amd64'] }}"
|
matrix_synapse_container_image_self_build: "{{ matrix_architecture not in ['arm64', 'amd64'] }}"
|
||||||
|
|
||||||
# When ma1sd is enabled, we can use it to validate email addresses and phone numbers.
|
# When ma1sd is enabled, we can use it to validate email addresses and phone numbers.
|
||||||
|
@ -2205,6 +2196,8 @@ matrix_postgres_backup_databases: |
|
||||||
#
|
#
|
||||||
######################################################################
|
######################################################################
|
||||||
|
|
||||||
|
matrix_dendrite_enabled: "{{ matrix_homeserver_implementation == 'dendrite' }}"
|
||||||
|
|
||||||
# Normally, matrix-nginx-proxy is enabled and nginx can reach Dendrite over the container network.
|
# Normally, matrix-nginx-proxy is enabled and nginx can reach Dendrite over the container network.
|
||||||
# If matrix-nginx-proxy is not enabled, or you otherwise have a need for it,
|
# If matrix-nginx-proxy is not enabled, or you otherwise have a need for it,
|
||||||
# you can expose Dendrite's ports to the host.
|
# you can expose Dendrite's ports to the host.
|
||||||
|
|
|
@ -8,11 +8,13 @@
|
||||||
matrix_domain: ~
|
matrix_domain: ~
|
||||||
|
|
||||||
# This will contain the homeserver implementation that is in use.
|
# This will contain the homeserver implementation that is in use.
|
||||||
# Example values: 'synapse', 'dendrite', etc.
|
# Valid values: synapse, dendrite
|
||||||
# You normally don't need to set this variable manually.
|
#
|
||||||
# Its value is automatically set depending on the homeserver implementation that you have enabled via other variables
|
# By default, we use Synapse, because it's the only full-featured Matrix server at the moment.
|
||||||
# (e.g. `matrix_synapse_enabled`, `matrix_dendrite_enabled`, etc.)
|
#
|
||||||
matrix_homeserver_implementation: ''
|
# This value automatically influences other variables (`matrix_synapse_enabled`, `matrix_dendrite_enabled`, etc.).
|
||||||
|
# The homeserver implementation of an existing server cannot be changed without data loss.
|
||||||
|
matrix_homeserver_implementation: synapse
|
||||||
|
|
||||||
# This is where your data lives and what we set up.
|
# This is where your data lives and what we set up.
|
||||||
# This and the Element FQN (see below) are expected to be on the same server.
|
# This and the Element FQN (see below) are expected to be on the same server.
|
||||||
|
|
|
@ -1,15 +1,9 @@
|
||||||
---
|
---
|
||||||
|
|
||||||
- name: Fail if 0 or more than 1 homeserver implementations enabled
|
- name: Fail if invalid homeserver implementation
|
||||||
fail:
|
fail:
|
||||||
msg: >-
|
msg: "You need to set a valid homeserver implementation in `matrix_homeserver_implementation`"
|
||||||
You have 0 or more than 1 homeserver implementations enabled
|
when: "matrix_homeserver_implementation not in ['synapse', 'dendrite']"
|
||||||
({{ matrix_homeserver_enabled_implementations_list|join(', ') }}).
|
|
||||||
|
|
||||||
If you have more than 1 implementation enabled, you can disable the unnecessary implementations by adding `matrix_IMPLEMENTATION_enabled: false` to your vars.yml file.
|
|
||||||
|
|
||||||
If you have 0 implementations enabled, you can enable one by adding `matrix_IMPLEMENTATION_enabled: false` to your vars.yml file (e.g. `matrix_dendrite_enabled: true`).
|
|
||||||
when: "matrix_homeserver_enabled_implementations_list|length != 1"
|
|
||||||
|
|
||||||
# We generally support Ansible 2.7.1 and above.
|
# We generally support Ansible 2.7.1 and above.
|
||||||
- name: Fail if running on Ansible < 2.7.1
|
- name: Fail if running on Ansible < 2.7.1
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
# Dendrite is a second-generation Matrix homeserver currently in Beta
|
# Dendrite is a second-generation Matrix homeserver currently in Beta
|
||||||
# See: https://github.com/matrix-org/dendrite
|
# See: https://github.com/matrix-org/dendrite
|
||||||
|
|
||||||
matrix_dendrite_enabled: false
|
matrix_dendrite_enabled: true
|
||||||
|
|
||||||
matrix_dendrite_docker_image: "{{ matrix_dendrite_docker_image_name_prefix }}matrixdotorg/dendrite-monolith:{{ matrix_dendrite_docker_image_tag }}"
|
matrix_dendrite_docker_image: "{{ matrix_dendrite_docker_image_name_prefix }}matrixdotorg/dendrite-monolith:{{ matrix_dendrite_docker_image_tag }}"
|
||||||
matrix_dendrite_docker_image_name_prefix: "docker.io/"
|
matrix_dendrite_docker_image_name_prefix: "docker.io/"
|
||||||
|
|
Loading…
Reference in a new issue