fix(web-app-matrix): correct port forwards for synapse on host network

CI failure 27049736006 showed the probe at http://127.0.0.1:8021 timed
out (Connection reset by peer) for the full 15-min budget even though
matrix-mdad and its inner synapse were running.

Root cause: with matrix_synapse_container_network=host, MDAD's docker
run -p flag (rendered from matrix_synapse_container_client_api_host_bind_port)
is silently ignored — host networking does not use port mappings.
Synapse binds inside matrix-mdad's network namespace on its native
container port (8008 client, 8048 federation), not on the
externally-advertised host bind port. The outer compose service was
forwarding host 127.0.0.1:8021 -> matrix-mdad:8021, where nothing was
listening.

- services.yml.j2: outer compose port forwards now target the real
  internal synapse / federation / element ports (8008 / 8048 / 8080).
  Host ports stay aligned with MATRIX_SYNAPSE_PORT / MATRIX_ELEMENT_PORT
  / MATRIX_FEDERATION_PORT so the front-proxy targets a single 127.0.0.1
  port regardless of flavor.
- vars.yml.j2: drop the now-useless matrix_synapse_container_*_host_bind_port
  and matrix_client_element_container_http_host_bind_port settings —
  they only render a -p flag MDAD would ignore on --network=host.

Tests: 186/186 green.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
kevinveenbirkenbachandClaude Opus 4.7 committed 2026-06-09 13:37:42 +02:00
1 parent a23100c4c5
commit 81d6db9e07
2 files changed
+3 -6

No files matched your search

@@ -33,6 +33,6 @@
- /run/lock
- /tmp
ports:
- "{{ DOCKER_BIND_HOST }}:{{ MATRIX_SYNAPSE_PORT }}:{{ MATRIX_SYNAPSE_PORT }}"
- "{{ DOCKER_BIND_HOST }}:{{ MATRIX_ELEMENT_PORT }}:{{ MATRIX_ELEMENT_PORT }}"
- "{{ DOCKER_BIND_HOST }}:{{ MATRIX_FEDERATION_PORT }}:{{ MATRIX_FEDERATION_PORT }}"
- "{{ DOCKER_BIND_HOST }}:{{ MATRIX_SYNAPSE_PORT }}:8008"
- "{{ DOCKER_BIND_HOST }}:{{ MATRIX_ELEMENT_PORT }}:8080"
- "{{ DOCKER_BIND_HOST }}:{{ MATRIX_FEDERATION_PORT }}:8048"
@@ -42,9 +42,6 @@ matrix_synapse_turn_uris:
matrix_synapse_turn_shared_secret: "{{ MATRIX_COTURN_AUTH_SECRET }}"
{% endif %}
matrix_synapse_container_client_api_host_bind_port: "0.0.0.0:{{ MATRIX_SYNAPSE_PORT }}"
matrix_synapse_container_federation_api_plain_host_bind_port: "0.0.0.0:{{ MATRIX_FEDERATION_PORT }}"
matrix_client_element_container_http_host_bind_port: "0.0.0.0:{{ MATRIX_ELEMENT_PORT }}"
valkey_enabled: false