Add Service Discovery (/.well-known/matrix/client) support

This commit is contained in:
Slavi Pantaleev
2018-09-17 10:51:46 +03:00
parent 38e3ffa29c
commit 0d0ccde286
12 changed files with 153 additions and 5 deletions

View File

@ -116,6 +116,7 @@ matrix_coturn_base_path: "{{ matrix_base_data_path }}/coturn"
matrix_coturn_config_path: "{{ matrix_coturn_base_path }}/turnserver.conf"
matrix_scratchpad_dir: "{{ matrix_base_data_path }}/scratchpad"
matrix_mautrix_telegram_base_path: "{{ matrix_base_data_path }}/mautrix-telegram"
matrix_static_files_base_path: "{{ matrix_base_data_path }}/static-files"
matrix_docker_image_postgres_v9: "postgres:9.6.10-alpine"
matrix_docker_image_postgres_v10: "postgres:10.5-alpine"

View File

@ -58,10 +58,18 @@
- setup-all
- setup-riot-web
- include: tasks/setup_well_known.yml
tags:
- setup-mxisd
- setup-synapse
- setup-nginx-proxy
- setup-well-known
- include: tasks/setup_nginx_proxy.yml
tags:
- setup-all
- setup-nginx-proxy
- setup-well-known
- include: tasks/start.yml
tags:

View File

@ -0,0 +1,24 @@
- set_fact:
matrix_well_known_file_path: "{{ matrix_static_files_base_path }}/.well-known/matrix/client"
# We need others to be able to read these directories too,
# so that matrix-nginx-proxy's nginx user can access the files.
#
# For running with another webserver, we recommend being part of the `matrix` group.
- name: Ensure Matrix static-files path exists
file:
path: "{{ item }}"
state: directory
mode: 0755
owner: "{{ matrix_user_username }}"
group: "{{ matrix_user_username }}"
with_items:
- "{{ matrix_well_known_file_path|dirname }}"
- name: Ensure Matrix /.well-known/matrix/client configured
template:
src: "{{ role_path }}/templates/well-known/matrix-client.j2"
dest: "{{ matrix_well_known_file_path }}"
mode: 0644
owner: "{{ matrix_user_username }}"
group: "{{ matrix_user_username }}"

View File

@ -39,6 +39,12 @@ server {
ssl_prefer_server_ciphers on;
ssl_ciphers "EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH";
location /.well-known/matrix/client {
root {{ matrix_static_files_base_path }};
expires 1m;
default_type application/json;
}
{% if matrix_corporal_enabled and matrix_corporal_http_api_enabled %}
location /_matrix/corporal {
{% if matrix_nginx_proxy_enabled %}

View File

@ -23,6 +23,7 @@ ExecStart=/usr/bin/docker run --rm --name matrix-nginx-proxy \
-p 443:443 \
-v {{ matrix_nginx_proxy_confd_path }}:/etc/nginx/conf.d:ro \
-v {{ matrix_ssl_config_dir_path }}:{{ matrix_ssl_config_dir_path }}:ro \
-v {{ matrix_static_files_base_path }}:{{ matrix_static_files_base_path }}:ro \
{{ matrix_docker_image_nginx }}
ExecStop=-/usr/bin/docker kill matrix-nginx-proxy
ExecStop=-/usr/bin/docker rm matrix-nginx-proxy

View File

@ -0,0 +1,8 @@
{
"m.homeserver": {
"base_url": "{{ matrix_homeserver_url }}"
},
"m.identity_server": {
"base_url": "{{ matrix_identity_server_url }}"
}
}