deploy: 224ef0b669
				
					
				
			
							parent
							
								
									de8e85d8bb
								
							
						
					
					
						commit
						ad01c39914
					
				|  | @ -392,6 +392,7 @@ See the <a href="../workers.html">worker documentation</a> for additional inform | |||
| </li> | ||||
| <li>Passing <code>ASYNCIO_REACTOR=1</code> as an environment variable to use the Twisted asyncio reactor instead of the default one.</li> | ||||
| <li>Passing <code>PODMAN=1</code> will use the <a href="https://podman.io/">podman</a> container runtime, instead of docker.</li> | ||||
| <li>Passing <code>UNIX_SOCKETS=1</code> will utilise Unix socket functionality for Synapse, Redis, and Postgres(when applicable).</li> | ||||
| </ul> | ||||
| <p>To increase the log level for the tests, set <code>SYNAPSE_TEST_LOG_LEVEL</code>, e.g:</p> | ||||
| <pre><code class="language-sh">SYNAPSE_TEST_LOG_LEVEL=DEBUG COMPLEMENT_DIR=../complement ./scripts-dev/complement.sh -run TestImportHistoricalMessages | ||||
|  |  | |||
|  | @ -4043,6 +4043,23 @@ on this port. Sub-options for each resource are:</p> | |||
| additional endpoints which should be loaded via dynamic modules.</p> | ||||
| </li> | ||||
| </ul> | ||||
| <p>Unix socket support (<em>Added in Synapse 1.88.0</em>):</p> | ||||
| <ul> | ||||
| <li><code>path</code>: A path and filename for a Unix socket. Make sure it is located in a | ||||
| directory with read and write permissions, and that it already exists (the directory | ||||
| will not be created). Defaults to <code>None</code>. | ||||
| <ul> | ||||
| <li><strong>Note</strong>: The use of both <code>path</code> and <code>port</code> options for the same <code>listener</code> is not | ||||
| compatible.</li> | ||||
| <li>The <code>x_forwarded</code> option defaults to true  when using Unix sockets and can be omitted.</li> | ||||
| <li>Other options that would not make sense to use with a UNIX socket, such as  | ||||
| <code>bind_addresses</code> and <code>tls</code> will be ignored and can be removed.</li> | ||||
| </ul> | ||||
| </li> | ||||
| <li><code>mode</code>: The file permissions to set on the UNIX socket. Defaults to <code>666</code></li> | ||||
| <li><strong>Note:</strong> Must be set as <code>type: http</code> (does not support <code>metrics</code> and <code>manhole</code>).  | ||||
| Also make sure that <code>metrics</code> is not included in <code>resources</code> -> <code>names</code></li> | ||||
| </ul> | ||||
| <p>Valid resource names are:</p> | ||||
| <ul> | ||||
| <li> | ||||
|  | @ -4061,7 +4078,7 @@ additional endpoints which should be loaded via dynamic modules.</p> | |||
| <p><code>media</code>: the media API (/_matrix/media).</p> | ||||
| </li> | ||||
| <li> | ||||
| <p><code>metrics</code>: the metrics interface. See <a href="usage/configuration/../../metrics-howto.html">here</a>.</p> | ||||
| <p><code>metrics</code>: the metrics interface. See <a href="usage/configuration/../../metrics-howto.html">here</a>. (Not compatible with Unix sockets)</p> | ||||
| </li> | ||||
| <li> | ||||
| <p><code>openid</code>: OpenID authentication. See <a href="usage/configuration/../../openid.html">here</a>.</p> | ||||
|  | @ -4123,6 +4140,20 @@ for <a href="usage/configuration/../../workers.html">workers</a> and containers | |||
|     bind_addresses: ['::1', '127.0.0.1'] | ||||
|     type: manhole | ||||
| </code></pre> | ||||
| <p>Example configuration #3:</p> | ||||
| <pre><code class="language-yaml">listeners: | ||||
|   # Unix socket listener: Ideal for Synapse deployments behind a reverse proxy, offering | ||||
|   # lightweight interprocess communication without TCP/IP overhead, avoid port | ||||
|   # conflicts, and providing enhanced security through system file permissions. | ||||
|   # | ||||
|   # Note that x_forwarded will default to true, when using a UNIX socket. Please see | ||||
|   # https://matrix-org.github.io/synapse/latest/reverse_proxy.html. | ||||
|   # | ||||
|   - path: /var/run/synapse/main_public.sock | ||||
|     type: http | ||||
|     resources: | ||||
|       - names: [client, federation] | ||||
| </code></pre> | ||||
| <hr /> | ||||
| <h3 id="manhole_settings"><a class="header" href="#manhole_settings"><code>manhole_settings</code></a></h3> | ||||
| <p>Connection settings for the manhole. You can find more information | ||||
|  | @ -7051,6 +7082,13 @@ inside the <code>listener</code> block for a <code>replication</code> listener.< | |||
|     host: localhost | ||||
|     port: 8034 | ||||
| </code></pre> | ||||
| <p>Example configuration(#2, for UNIX sockets):</p> | ||||
| <pre><code class="language-yaml">instance_map: | ||||
|   main: | ||||
|     path: /var/run/synapse/main_replication.sock | ||||
|   worker1: | ||||
|     path: /var/run/synapse/worker1_replication.sock | ||||
| </code></pre> | ||||
| <hr /> | ||||
| <h3 id="stream_writers"><a class="header" href="#stream_writers"><code>stream_writers</code></a></h3> | ||||
| <p>Experimental: When using workers you can define which workers should | ||||
|  | @ -7190,6 +7228,17 @@ requests from other workers.</p> | |||
|     resources: | ||||
|       - names: [client, federation] | ||||
| </code></pre> | ||||
| <p>Example configuration(#2, using UNIX sockets with a <code>replication</code> listener):</p> | ||||
| <pre><code class="language-yaml">worker_listeners: | ||||
|   - type: http | ||||
|     path: /var/run/synapse/worker_public.sock | ||||
|     resources: | ||||
|       - names: [client, federation] | ||||
|   - type: http | ||||
|     path: /var/run/synapse/worker_replication.sock | ||||
|     resources: | ||||
|       - names: [replication] | ||||
| </code></pre> | ||||
| <hr /> | ||||
| <h3 id="worker_manhole"><a class="header" href="#worker_manhole"><code>worker_manhole</code></a></h3> | ||||
| <p>A worker may have a listener for <a href="usage/configuration/../../manhole.html"><code>manhole</code></a>. | ||||
|  | @ -10832,9 +10881,15 @@ for the main process</li> | |||
| <li>Secondly, you need to enable | ||||
| <a href="usage/configuration/config_documentation.html#redis">redis-based replication</a></li> | ||||
| <li>You will need to add an <a href="usage/configuration/config_documentation.html#instance_map"><code>instance_map</code></a>  | ||||
| with the <code>main</code> process defined, as well as the relevant connection information from  | ||||
| it's HTTP <code>replication</code> listener (defined in step 1 above). Note that the <code>host</code> defined  | ||||
| is the address the worker needs to look for the <code>main</code> process at, not necessarily the same address that is bound to.</li> | ||||
| with the <code>main</code> process defined, as well as the relevant connection information from | ||||
| it's HTTP <code>replication</code> listener (defined in step 1 above). | ||||
| <ul> | ||||
| <li>Note that the <code>host</code> defined is the address the worker needs to look for the <code>main</code> | ||||
| process at, not necessarily the same address that is bound to.</li> | ||||
| <li>If you are using Unix sockets for the <code>replication</code> resource, make sure to | ||||
| use a <code>path</code> to the socket file instead of a <code>port</code>.</li> | ||||
| </ul> | ||||
| </li> | ||||
| <li>Optionally, a <a href="usage/configuration/config_documentation.html#worker_replication_secret">shared secret</a> | ||||
| can be used to authenticate HTTP traffic between workers. For example:</li> | ||||
| </ul> | ||||
|  | @ -16111,6 +16166,7 @@ See the <a href="development/../workers.html">worker documentation</a> for addit | |||
| </li> | ||||
| <li>Passing <code>ASYNCIO_REACTOR=1</code> as an environment variable to use the Twisted asyncio reactor instead of the default one.</li> | ||||
| <li>Passing <code>PODMAN=1</code> will use the <a href="https://podman.io/">podman</a> container runtime, instead of docker.</li> | ||||
| <li>Passing <code>UNIX_SOCKETS=1</code> will utilise Unix socket functionality for Synapse, Redis, and Postgres(when applicable).</li> | ||||
| </ul> | ||||
| <p>To increase the log level for the tests, set <code>SYNAPSE_TEST_LOG_LEVEL</code>, e.g:</p> | ||||
| <pre><code class="language-sh">SYNAPSE_TEST_LOG_LEVEL=DEBUG COMPLEMENT_DIR=../complement ./scripts-dev/complement.sh -run TestImportHistoricalMessages | ||||
|  |  | |||
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							|  | @ -523,6 +523,23 @@ on this port. Sub-options for each resource are:</p> | |||
| additional endpoints which should be loaded via dynamic modules.</p> | ||||
| </li> | ||||
| </ul> | ||||
| <p>Unix socket support (<em>Added in Synapse 1.88.0</em>):</p> | ||||
| <ul> | ||||
| <li><code>path</code>: A path and filename for a Unix socket. Make sure it is located in a | ||||
| directory with read and write permissions, and that it already exists (the directory | ||||
| will not be created). Defaults to <code>None</code>. | ||||
| <ul> | ||||
| <li><strong>Note</strong>: The use of both <code>path</code> and <code>port</code> options for the same <code>listener</code> is not | ||||
| compatible.</li> | ||||
| <li>The <code>x_forwarded</code> option defaults to true  when using Unix sockets and can be omitted.</li> | ||||
| <li>Other options that would not make sense to use with a UNIX socket, such as  | ||||
| <code>bind_addresses</code> and <code>tls</code> will be ignored and can be removed.</li> | ||||
| </ul> | ||||
| </li> | ||||
| <li><code>mode</code>: The file permissions to set on the UNIX socket. Defaults to <code>666</code></li> | ||||
| <li><strong>Note:</strong> Must be set as <code>type: http</code> (does not support <code>metrics</code> and <code>manhole</code>).  | ||||
| Also make sure that <code>metrics</code> is not included in <code>resources</code> -> <code>names</code></li> | ||||
| </ul> | ||||
| <p>Valid resource names are:</p> | ||||
| <ul> | ||||
| <li> | ||||
|  | @ -541,7 +558,7 @@ additional endpoints which should be loaded via dynamic modules.</p> | |||
| <p><code>media</code>: the media API (/_matrix/media).</p> | ||||
| </li> | ||||
| <li> | ||||
| <p><code>metrics</code>: the metrics interface. See <a href="../../metrics-howto.html">here</a>.</p> | ||||
| <p><code>metrics</code>: the metrics interface. See <a href="../../metrics-howto.html">here</a>. (Not compatible with Unix sockets)</p> | ||||
| </li> | ||||
| <li> | ||||
| <p><code>openid</code>: OpenID authentication. See <a href="../../openid.html">here</a>.</p> | ||||
|  | @ -603,6 +620,20 @@ for <a href="../../workers.html">workers</a> and containers without listener e.g | |||
|     bind_addresses: ['::1', '127.0.0.1'] | ||||
|     type: manhole | ||||
| </code></pre> | ||||
| <p>Example configuration #3:</p> | ||||
| <pre><code class="language-yaml">listeners: | ||||
|   # Unix socket listener: Ideal for Synapse deployments behind a reverse proxy, offering | ||||
|   # lightweight interprocess communication without TCP/IP overhead, avoid port | ||||
|   # conflicts, and providing enhanced security through system file permissions. | ||||
|   # | ||||
|   # Note that x_forwarded will default to true, when using a UNIX socket. Please see | ||||
|   # https://matrix-org.github.io/synapse/latest/reverse_proxy.html. | ||||
|   # | ||||
|   - path: /var/run/synapse/main_public.sock | ||||
|     type: http | ||||
|     resources: | ||||
|       - names: [client, federation] | ||||
| </code></pre> | ||||
| <hr /> | ||||
| <h3 id="manhole_settings"><a class="header" href="#manhole_settings"><code>manhole_settings</code></a></h3> | ||||
| <p>Connection settings for the manhole. You can find more information | ||||
|  | @ -3531,6 +3562,13 @@ inside the <code>listener</code> block for a <code>replication</code> listener.< | |||
|     host: localhost | ||||
|     port: 8034 | ||||
| </code></pre> | ||||
| <p>Example configuration(#2, for UNIX sockets):</p> | ||||
| <pre><code class="language-yaml">instance_map: | ||||
|   main: | ||||
|     path: /var/run/synapse/main_replication.sock | ||||
|   worker1: | ||||
|     path: /var/run/synapse/worker1_replication.sock | ||||
| </code></pre> | ||||
| <hr /> | ||||
| <h3 id="stream_writers"><a class="header" href="#stream_writers"><code>stream_writers</code></a></h3> | ||||
| <p>Experimental: When using workers you can define which workers should | ||||
|  | @ -3670,6 +3708,17 @@ requests from other workers.</p> | |||
|     resources: | ||||
|       - names: [client, federation] | ||||
| </code></pre> | ||||
| <p>Example configuration(#2, using UNIX sockets with a <code>replication</code> listener):</p> | ||||
| <pre><code class="language-yaml">worker_listeners: | ||||
|   - type: http | ||||
|     path: /var/run/synapse/worker_public.sock | ||||
|     resources: | ||||
|       - names: [client, federation] | ||||
|   - type: http | ||||
|     path: /var/run/synapse/worker_replication.sock | ||||
|     resources: | ||||
|       - names: [replication] | ||||
| </code></pre> | ||||
| <hr /> | ||||
| <h3 id="worker_manhole"><a class="header" href="#worker_manhole"><code>worker_manhole</code></a></h3> | ||||
| <p>A worker may have a listener for <a href="../../manhole.html"><code>manhole</code></a>. | ||||
|  |  | |||
|  | @ -218,9 +218,15 @@ for the main process</li> | |||
| <li>Secondly, you need to enable | ||||
| <a href="usage/configuration/config_documentation.html#redis">redis-based replication</a></li> | ||||
| <li>You will need to add an <a href="usage/configuration/config_documentation.html#instance_map"><code>instance_map</code></a>  | ||||
| with the <code>main</code> process defined, as well as the relevant connection information from  | ||||
| it's HTTP <code>replication</code> listener (defined in step 1 above). Note that the <code>host</code> defined  | ||||
| is the address the worker needs to look for the <code>main</code> process at, not necessarily the same address that is bound to.</li> | ||||
| with the <code>main</code> process defined, as well as the relevant connection information from | ||||
| it's HTTP <code>replication</code> listener (defined in step 1 above). | ||||
| <ul> | ||||
| <li>Note that the <code>host</code> defined is the address the worker needs to look for the <code>main</code> | ||||
| process at, not necessarily the same address that is bound to.</li> | ||||
| <li>If you are using Unix sockets for the <code>replication</code> resource, make sure to | ||||
| use a <code>path</code> to the socket file instead of a <code>port</code>.</li> | ||||
| </ul> | ||||
| </li> | ||||
| <li>Optionally, a <a href="usage/configuration/config_documentation.html#worker_replication_secret">shared secret</a> | ||||
| can be used to authenticate HTTP traffic between workers. For example:</li> | ||||
| </ul> | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	 MadLittleMods
						MadLittleMods