mirror of
				https://github.com/spantaleev/matrix-docker-ansible-deploy.git
				synced 2025-10-26 10:03:25 +00:00 
			
		
		
		
	This new role also adds native Traefik support and support for other (non-`amd64`) architectures via self-building.
		
			
				
	
	
		
			47 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			47 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
| ---
 | |
| 
 | |
| - name: Fail if matrix-nginx-proxy role already executed
 | |
|   ansible.builtin.fail:
 | |
|     msg: >-
 | |
|       Trying to append Etherpad's reverse-proxying configuration to matrix-nginx-proxy,
 | |
|       but it's pointless since the matrix-nginx-proxy role had already executed.
 | |
|       To fix this, please change the order of roles in your playbook,
 | |
|       so that the matrix-nginx-proxy role would run after the matrix-etherpad role.
 | |
|   when: matrix_nginx_proxy_role_executed | default(False) | bool
 | |
| 
 | |
| - name: Generate Etherpad proxying configuration for matrix-nginx-proxy
 | |
|   ansible.builtin.set_fact:
 | |
|     etherpad_matrix_nginx_proxy_configuration: |
 | |
|       rewrite ^{{ etherpad_nginx_proxy_dimension_integration_path_prefix }}$ {{ matrix_nginx_proxy_x_forwarded_proto_value }}://$server_name{{ etherpad_nginx_proxy_dimension_integration_path_prefix }}/ permanent;
 | |
| 
 | |
|       location {{ etherpad_nginx_proxy_dimension_integration_path_prefix }}/ {
 | |
|       {% if matrix_nginx_proxy_enabled | default(False) %}
 | |
|         {# Use the embedded DNS resolver in Docker containers to discover the service #}
 | |
|         resolver 127.0.0.11 valid=5s;
 | |
|         proxy_pass http://{{ etherpad_identifier }}:9001/;
 | |
|         {# These are proxy directives needed specifically by Etherpad #}
 | |
|         proxy_buffering off;
 | |
|         proxy_http_version 1.1;  # recommended with keepalive connections
 | |
|         proxy_pass_header Server;
 | |
|         proxy_set_header Host $host;
 | |
|         proxy_set_header X-Forwarded-Proto {{ matrix_nginx_proxy_x_forwarded_proto_value }}; # for EP to set secure cookie flag when https is used
 | |
|         # WebSocket proxying - from http://nginx.org/en/docs/http/websocket.html
 | |
|         proxy_set_header Upgrade $http_upgrade;
 | |
|         proxy_set_header Connection $connection_upgrade;
 | |
|       {% else %}
 | |
|         {# Generic configuration for use outside of our container setup #}
 | |
|         # A good guide for setting up your Etherpad behind nginx:
 | |
|         # https://docs.gandi.net/en/cloud/tutorials/etherpad_lite.html
 | |
|         proxy_pass http://127.0.0.1:9001/;
 | |
|       {% endif %}
 | |
|       }
 | |
| 
 | |
| - name: Register Etherpad proxying configuration with matrix-nginx-proxy
 | |
|   ansible.builtin.set_fact:
 | |
|     matrix_nginx_proxy_proxy_dimension_additional_server_configuration_blocks: |
 | |
|       {{
 | |
|         matrix_nginx_proxy_proxy_dimension_additional_server_configuration_blocks | default([])
 | |
|         +
 | |
|         [etherpad_matrix_nginx_proxy_configuration]
 | |
|       }}
 |