diff --git a/group_vars/all b/group_vars/all index ad00bd91..fae2f1b5 100644 --- a/group_vars/all +++ b/group_vars/all @@ -108,6 +108,8 @@ nginx_configuration_directory: "/etc/nginx/conf.d/" nginx_servers_directory: "{{nginx_configuration_directory}}servers/" # Contains server blogs nginx_maps_directory: "{{nginx_configuration_directory}}maps/" # Contains mappins nginx_upstreams_directory: "{{nginx_configuration_directory}}upstreams/" # Contains upstream configurations +nginx_well_known_root: "/usr/share/nginx/well-known/" # Path where well-known files are stored +nginx_homepage_root: "/usr/share/nginx/homepage/" # Path where the static homepage files are stored ## Docker Applications diff --git a/roles/docker-matrix-compose/tasks/main.yml b/roles/docker-matrix-compose/tasks/main.yml index d09189b4..ca6dae1c 100644 --- a/roles/docker-matrix-compose/tasks/main.yml +++ b/roles/docker-matrix-compose/tasks/main.yml @@ -8,7 +8,18 @@ domain: "{{synapse_domain}}" http_port: "{{synapse_http_port}}" -- name: configure {{synapse_domain}}.conf +- name: create {{well_known_directory}} + file: + path: "{{well_known_directory}}" + state: directory + mode: '0755' + +- name: create {{well_known_directory}}server + template: + src: "well-known.j2" + dest: "{{well_known_directory}}server" + +- name: create {{synapse_domain}}.conf template: src: "templates/nginx.conf.j2" dest: "{{nginx_servers_directory}}{{synapse_domain}}.conf" @@ -16,12 +27,6 @@ domain: "{{synapse_domain}}" http_port: "{{synapse_http_port}}" notify: restart nginx - -#- name: "include tasks nginx-docker-proxy-domain.yml" -# include_tasks: nginx-docker-proxy-domain.yml -# vars: -# domain: "{{synapse_domain}}" -# http_port: "{{synapse_http_port}}" - name: "include tasks nginx-docker-proxy-domain.yml for element" include_tasks: nginx-docker-proxy-domain.yml @@ -32,9 +37,9 @@ - name: include create-and-seed-database.yml for multiple bridges include_tasks: create-and-seed-database.yml vars: - database_password: "{{ item.database_password }}" - database_username: "{{ item.database_username }}" - database_name: "{{ item.database_name }}" + database_password: "{{ item.database_password }}" + database_username: "{{ item.database_username }}" + database_name: "{{ item.database_name }}" loop: "{{ bridges }}" # The following taks are necessary because a clean setup is necessary diff --git a/roles/docker-matrix-compose/templates/synapse/homeserver.yaml.j2 b/roles/docker-matrix-compose/templates/synapse/homeserver.yaml.j2 index 5ed65685..e923652c 100644 --- a/roles/docker-matrix-compose/templates/synapse/homeserver.yaml.j2 +++ b/roles/docker-matrix-compose/templates/synapse/homeserver.yaml.j2 @@ -1,4 +1,4 @@ -server_name: "{{domain_matrix_synapse}}" +server_name: "{{top_domain}}" pid_file: /data/homeserver.pid listeners: - port: 8008 diff --git a/roles/docker-matrix-compose/templates/well-known.j2 b/roles/docker-matrix-compose/templates/well-known.j2 new file mode 100644 index 00000000..82134905 --- /dev/null +++ b/roles/docker-matrix-compose/templates/well-known.j2 @@ -0,0 +1,3 @@ +{ + "m.server": "{{synapse_domain}}:443" +} \ No newline at end of file diff --git a/roles/docker-matrix-compose/vars/main.yml b/roles/docker-matrix-compose/vars/main.yml index 57723d2d..a0a6f6d8 100644 --- a/roles/docker-matrix-compose/vars/main.yml +++ b/roles/docker-matrix-compose/vars/main.yml @@ -3,6 +3,7 @@ docker_compose_project_name: "matrix" database_password: "{{matrix_database_password}}" database_type: "postgres" registration_file_folder: "/data/registration/" +well_known_directory: "{{nginx_well_known_root}}/matrix/" bridges: - database_password: "{{ mautrix_whatsapp_bridge_database_password }}" diff --git a/roles/nginx-homepage/tasks/main.yml b/roles/nginx-homepage/tasks/main.yml index ef53f06a..6504d580 100644 --- a/roles/nginx-homepage/tasks/main.yml +++ b/roles/nginx-homepage/tasks/main.yml @@ -1,13 +1,4 @@ --- -- name: "include task certbot-matomo.yml" - include_tasks: certbot-matomo.yml - -- name: configure {{domain}}.conf - template: - src: "homepage.nginx.conf.j2" - dest: "{{nginx_servers_directory}}{{domain}}.conf" - notify: restart nginx - - name: "pull homepage from {{nginx_homepage_repository_address}}" git: repo: "{{nginx_homepage_repository_address}}" diff --git a/roles/nginx-homepage/vars/main.yml b/roles/nginx-homepage/vars/main.yml deleted file mode 100644 index 28595c7c..00000000 --- a/roles/nginx-homepage/vars/main.yml +++ /dev/null @@ -1 +0,0 @@ -nginx_homepage_root: /usr/share/nginx/homepage \ No newline at end of file diff --git a/roles/nginx/tasks/main.yml b/roles/nginx/tasks/main.yml index b496f2a9..1e5f6391 100644 --- a/roles/nginx/tasks/main.yml +++ b/roles/nginx/tasks/main.yml @@ -23,7 +23,25 @@ when: run_once_nginx is not defined - name: create nginx config file - template: src=nginx.conf.j2 dest=/etc/nginx/nginx.conf + template: + src: nginx.conf.j2 + dest: /etc/nginx/nginx.conf + notify: restart nginx + when: run_once_nginx is not defined + +- name: "include task certbot-matomo.yml" + include_tasks: certbot-matomo.yml + when: run_once_nginx is not defined + vars: + domain: "{{top_domain}}" + when: run_once_nginx is not defined + +- name: configure {{top_domain}}.conf + template: + src: "homepage.nginx.conf.j2" + dest: "{{nginx_servers_directory}}{{top_domain}}.conf" + vars: + domain: "{{top_domain}}" notify: restart nginx when: run_once_nginx is not defined diff --git a/roles/nginx-homepage/templates/homepage.nginx.conf.j2 b/roles/nginx/templates/homepage.nginx.conf.j2 similarity index 72% rename from roles/nginx-homepage/templates/homepage.nginx.conf.j2 rename to roles/nginx/templates/homepage.nginx.conf.j2 index 19406858..5cd10809 100644 --- a/roles/nginx-homepage/templates/homepage.nginx.conf.j2 +++ b/roles/nginx/templates/homepage.nginx.conf.j2 @@ -16,4 +16,11 @@ server root {{nginx_homepage_root}}; index index.html index.htm; } + + location /.well-known/ { + alias {{nginx_well_known_root}}; + allow all; + default_type "text/plain"; + autoindex on; + } }