Switch Docker image to official one
Switching from from avhost/docker-matrix (silviof/docker-matrix) to matrixdotorg/synapse. The avhost/docker-matrix (silviof/docker-matrix) image used to bundle in the coturn STUN/TURN server, so as part of the move, we're separating this to a separately-ran service (matrix-coturn.service, powered by instrumentisto/coturn-docker-image)
This commit is contained in:
		@@ -28,10 +28,16 @@
 | 
			
		||||
    - setup-main
 | 
			
		||||
    - setup-goofys
 | 
			
		||||
 | 
			
		||||
- include: tasks/setup_coturn.yml
 | 
			
		||||
  tags:
 | 
			
		||||
    - setup-main
 | 
			
		||||
    - setup-coturn
 | 
			
		||||
 | 
			
		||||
- include: tasks/setup_synapse.yml
 | 
			
		||||
  tags:
 | 
			
		||||
    - setup-main
 | 
			
		||||
    - setup-synapse
 | 
			
		||||
    - setup-coturn
 | 
			
		||||
 | 
			
		||||
- include: tasks/setup_riot_web.yml
 | 
			
		||||
  tags:
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										42
									
								
								roles/matrix-server/tasks/setup_coturn.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										42
									
								
								roles/matrix-server/tasks/setup_coturn.yml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,42 @@
 | 
			
		||||
---
 | 
			
		||||
 | 
			
		||||
- name: Fail if Coturn secret is missing
 | 
			
		||||
  fail:
 | 
			
		||||
    msg: "You need to set a secret in the matrix_coturn_turn_static_auth_secret variable"
 | 
			
		||||
  when: "matrix_coturn_turn_static_auth_secret == ''"
 | 
			
		||||
 | 
			
		||||
- name: Ensure Coturn image is pulled
 | 
			
		||||
  docker_image:
 | 
			
		||||
    name: "{{ docker_coturn_image }}"
 | 
			
		||||
 | 
			
		||||
- name: Ensure Coturn configuration path exists
 | 
			
		||||
  file:
 | 
			
		||||
    path: "{{ matrix_coturn_base_path }}"
 | 
			
		||||
    state: directory
 | 
			
		||||
    mode: 0750
 | 
			
		||||
    owner: "{{ matrix_user_username }}"
 | 
			
		||||
    group: "{{ matrix_user_username }}"
 | 
			
		||||
 | 
			
		||||
- name: Ensure turnserver.conf installed
 | 
			
		||||
  template:
 | 
			
		||||
    src: "{{ role_path }}/templates/coturn/turnserver.conf.j2"
 | 
			
		||||
    dest: "{{ matrix_coturn_config_path }}"
 | 
			
		||||
    mode: 0644
 | 
			
		||||
 | 
			
		||||
- name: Ensure matrix-coturn.service installed
 | 
			
		||||
  template:
 | 
			
		||||
    src: "{{ role_path }}/templates/systemd/matrix-coturn.service.j2"
 | 
			
		||||
    dest: "/etc/systemd/system/matrix-coturn.service"
 | 
			
		||||
    mode: 0644
 | 
			
		||||
 | 
			
		||||
- name: Allow access to Coturn ports in firewalld
 | 
			
		||||
  firewalld:
 | 
			
		||||
    port: "{{ item }}"
 | 
			
		||||
    state: enabled
 | 
			
		||||
    immediate: yes
 | 
			
		||||
    permanent: yes
 | 
			
		||||
  with_items:
 | 
			
		||||
    - '3478/tcp' # STUN
 | 
			
		||||
    - '3478/udp' # STUN
 | 
			
		||||
    - "{{ matrix_coturn_turn_udp_min_port }}-{{ matrix_coturn_turn_udp_max_port }}/udp" # TURN
 | 
			
		||||
  when: ansible_os_family == 'RedHat'
 | 
			
		||||
@@ -49,8 +49,9 @@
 | 
			
		||||
    cleanup: yes
 | 
			
		||||
    command: generate
 | 
			
		||||
    env:
 | 
			
		||||
      SERVER_NAME: "{{ hostname_matrix }}"
 | 
			
		||||
      REPORT_STATS: "no"
 | 
			
		||||
      SYNAPSE_CONFIG_PATH: "/data/homeserver.yaml"
 | 
			
		||||
      SYNAPSE_SERVER_NAME: "{{ hostname_matrix }}"
 | 
			
		||||
      SYNAPSE_REPORT_STATS: "no"
 | 
			
		||||
    user: "{{ matrix_user_uid }}:{{ matrix_user_gid }}"
 | 
			
		||||
    volumes:
 | 
			
		||||
      - "{{ matrix_synapse_config_dir_path }}:/data"
 | 
			
		||||
@@ -74,6 +75,7 @@
 | 
			
		||||
    line: '{{ item.line }}'
 | 
			
		||||
  with_items:
 | 
			
		||||
    - {"regexp": "^log_file:", "line": 'log_file: "/matrix-run/homeserver.log"'}
 | 
			
		||||
    - {"regexp": "^uploads_path:", "line": 'uploads_path: "/matrix-run/uploads"'}
 | 
			
		||||
    - {"regexp": "^server_name:", "line": 'server_name: "{{ hostname_identity }}"'}
 | 
			
		||||
    - {"regexp": "^turn_allow_guests:", "line": 'turn_allow_guests: False'}
 | 
			
		||||
    - {"regexp": "^url_preview_enabled:", "line": 'url_preview_enabled: True'}
 | 
			
		||||
@@ -117,15 +119,14 @@
 | 
			
		||||
    regexp: '(.*)name: "psycopg2"((?:.|\n)*?)\n\n'
 | 
			
		||||
    replace: '\1name: "psycopg2"\n\1args:\n\1\1user: "{{ matrix_postgres_connection_username }}"\n\1\1password: "{{ matrix_postgres_connection_password }}"\n\1\1database: "{{ matrix_postgres_db_name }}"\n\1\1host: "{{ matrix_postgres_connection_hostname }}"\n\1\1cp_min: 5\n\1\1cp_max: 10\n\n'
 | 
			
		||||
 | 
			
		||||
- name: Augment Matrix config (configure Coturn)
 | 
			
		||||
  lineinfile: "dest={{ matrix_synapse_config_dir_path }}/turnserver.conf"
 | 
			
		||||
- name: Augment Matrix config (configure TURN)
 | 
			
		||||
  lineinfile: "dest={{ matrix_synapse_config_dir_path }}/homeserver.yaml"
 | 
			
		||||
  args:
 | 
			
		||||
    regexp: "^{{ item.variable }}="
 | 
			
		||||
    line: '{{ item.variable }}={{ item.value }}'
 | 
			
		||||
    regexp: "{{ item.regexp }}"
 | 
			
		||||
    line: '{{ item.line }}'
 | 
			
		||||
  with_items:
 | 
			
		||||
    - {'variable': 'min-port', 'value': "{{ matrix_coturn_turn_udp_min_port }}"}
 | 
			
		||||
    - {'variable': 'max-port', 'value': "{{ matrix_coturn_turn_udp_max_port }}"}
 | 
			
		||||
    - {'variable': 'external-ip', 'value': "{{ matrix_coturn_turn_external_ip_address }}"}
 | 
			
		||||
    - {"regexp": "^turn_uris:", "line": 'turn_uris: ["turn:{{ hostname_matrix }}:3478?transport=udp", "turn:{{ hostname_matrix }}:3478?transport=tcp"]'}
 | 
			
		||||
    - {"regexp": "^turn_shared_secret:", "line": 'turn_shared_secret: "{{ matrix_coturn_turn_static_auth_secret }}"'}
 | 
			
		||||
 | 
			
		||||
- name: Allow access to Matrix ports in firewalld
 | 
			
		||||
  firewalld:
 | 
			
		||||
@@ -135,9 +136,6 @@
 | 
			
		||||
    permanent: yes
 | 
			
		||||
  with_items:
 | 
			
		||||
    - '8448/tcp' # Matrix federation
 | 
			
		||||
    - '3478/tcp' # STUN
 | 
			
		||||
    - '3478/udp' # STUN
 | 
			
		||||
    - "{{ matrix_coturn_turn_udp_min_port }}-{{ matrix_coturn_turn_udp_max_port }}/udp" # TURN
 | 
			
		||||
  when: ansible_os_family == 'RedHat'
 | 
			
		||||
 | 
			
		||||
- name: Ensure matrix-synapse.service installed
 | 
			
		||||
 
 | 
			
		||||
@@ -8,6 +8,9 @@
 | 
			
		||||
  service: name=matrix-goofys enabled=yes state=restarted daemon_reload=yes
 | 
			
		||||
  when: matrix_s3_media_store_enabled
 | 
			
		||||
 | 
			
		||||
- name: Ensure matrix-coturn autoruns and is restarted
 | 
			
		||||
  service: name=matrix-coturn enabled=yes state=restarted daemon_reload=yes
 | 
			
		||||
 | 
			
		||||
- name: Ensure matrix-synapse autoruns and is restarted
 | 
			
		||||
  service: name=matrix-synapse enabled=yes state=restarted daemon_reload=yes
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user