spantaleev / matrix-docker-ansible-deploy

🐳 Matrix (An open network for secure, decentralized communication) server setup using Ansible and Docker
GNU Affero General Public License v3.0
4.65k stars 1.01k forks source link

traefik issue for bridge connection after update #3338

Closed nikolagit1 closed 1 month ago

nikolagit1 commented 1 month ago

Playbook Configuration:

My vars.yml file looks like this:

---

matrix_domain: example.com

# The Matrix homeserver software to install.
# See `roles/matrix-base/defaults/main.yml` for valid options.
matrix_homeserver_implementation: synapse

# A secret used as a base, for generating various other secrets.
# You can put any string here, but generating a strong one is preferred (e.g. `pwgen -s 64 1`).
matrix_homeserver_generic_secret_key: ''

# This is something which is provided to Let's Encrypt when retrieving SSL certificates for domains.
#
# In case SSL renewal fails at some point, you'll also get an email notification there.
#
# If you decide to use another method for managing SSL certificates (different than the default Let's Encrypt),
# you won't be required to define this variable (see `docs/configuring-playbook-ssl-certificates.md`).
#
#matrix_ssl_retrieval_method: none
#matrix_nginx_proxy_https_enabled: false
#matrix_nginx_proxy_container_http_host_bind_port: '10.18.99.7:8080'
#matrix_synapse_container_federation_api_plain_host_bind_port: '10.18.99.7:8048'
matrix_playbook_reverse_proxy_type: playbook-managed-traefik

matrix_addons_homeserver_systemd_services_list: "{{ ([devture_traefik_identifier + '.service'] if matrix_playbook_reverse_proxy_type == 'playbook-managed-traefik' else []) if matrix_playbook_internal_matrix_client_api_traefik_entrypoint_enabled else matrix_homeserver_systemd_servi$
#

# Specifies the network that the reverse-proxy is operating at
matrix_playbook_reverse_proxy_container_network: 'traefik'

# Specifies the hostname that the reverse-proxy is available at
matrix_playbook_reverse_proxy_hostname: 'matrix-traefik'
# Controls the additional network that reverse-proxyable services will be connected to.
matrix_playbook_reverse_proxyable_services_additional_network: "{{ matrix_playbook_reverse_proxy_container_network }}"

# Ensure that public urls use https
matrix_playbook_ssl_enabled: true

# Disable the web-secure (port 443) endpoint, which also disables SSL certificate retrieval
devture_traefik_config_entrypoint_web_secure_enabled: false
# If your reverse-proxy runs on another machine, consider using `0.0.0.0:81`, just `81` or `SOME_IP_ADDRESS_OF_THIS_MACHINE:81`
devture_traefik_container_web_host_bind_port: '10.18.99.7:8080'

# We bind to `127.0.0.1` by default (see above), so trusting `X-Forwarded-*` headers from
# a reverse-proxy running on the local machine is safe enough.
devture_traefik_config_entrypoint_web_forwardedHeaders_insecure: true

matrix_synapse_http_listener_resource_names: ["client","federation"]
matrix_federation_public_port: 443
matrix_synapse_federation_port_enabled: false
matrix_synapse_tls_federation_listener_enabled: false
#matrix_ssl_retrieval_method: none
# A Postgres password to use for the superuser Postgres user (called `matrix` by default).
#
# The playbook creates additional Postgres users and databases (one for each enabled service)
# using this superuser account.
devture_postgres_connection_password: ''

##
matrix_synapse_container_additional_networks: ["traefik"]

matrix_mautrix_whatsapp_enabled: true
matrix_synapse_configuration_extension_yaml: |
  experimental_features:
    msc2716_enabled: true
matrix_mautrix_whatsapp_configuration_extension_yaml:
  bridge:
    history_sync:
      backfill: true

matrix_mautrix_facebook_enabled: true
matrix_mautrix_facebook_configuration_extension_yaml: |
  bridge:
    encryption:
      allow: true
      default: true

matrix_mautrix_telegram_enabled: true
matrix_mautrix_telegram_api_id: ""
matrix_mautrix_telegram_api_hash: ""

matrix_mautrix_instagram_enabled: true
matrix_mautrix_instagram_configuration_extension_yaml: |
  bridge:
    encryption:
      allow: true
      default: true

Matrix Server:

Problem description: I had server working for few years, after updating it now after some time I have issue that all bridge bots can't connect to it. I tried to add some vars as `matrix_playbook_internal_matrix_client_api_traefik_entrypoint_enabled: "{{ matrix_playbook_reverse_proxy_type in ['playbook-managed-traefik', 'other-traefik-container'] }}" matrix_playbook_internal_matrix_client_api_traefik_entrypoint_name: matrix-internal-matrix-client-api matrix_playbook_internal_matrix_client_api_traefik_entrypoint_port: 8008 matrix_playbook_internal_matrix_client_api_traefik_entrypoint_host_bind_port: '' matrix_playbook_internal_matrix_client_api_traefik_entrypoint_config: "{{ matrix_playbook_internal_matrix_client_api_traefik_entrypoint_config_auto | combine(matrix_playbook_internal_matrix_client_api_traefik_entrypoint_config_custom, recursive=True) }}" matrix_playbook_internal_matrix_client_api_traefik_entrypoint_config_auto: {} matrix_playbook_internal_matrix_client_api_traefik_entrypoint_config_custom: {}

matrix_playbook_internal_matrix_client_api_traefik_entrypoint_definition: name: "{{ matrix_playbook_internal_matrix_client_api_traefik_entrypoint_name }}" port: "{{ matrix_playbook_internal_matrix_client_api_traefik_entrypoint_port }}" host_bind_port: "{{ matrix_playbook_internal_matrix_client_api_traefik_entrypoint_host_bind_port but that didn't fix it also tried to add matrix_playbook_reverse_proxy_hostname but I keep getting this error on all bridges:

 matrix-mautrix-whatsapp[54379]: May 27, 2024 20:41:21 WRN Request failed, retrying error="Get \"http://matrix-traefik:8008/_matrix/client/versions?user_id=%40whatsappbot%3Aexample.com\": 
dial tcp 172.22.0.2:8008: connect: connection refused" req_id=27 retry_in_seconds=4

Also tried to add matrix_synapse_container_additional_networks: ["traefik"] but I think that isn't issue

nikolagit1 commented 1 month ago

I solved it by running systemctl daemon-reload and restarting traefik manually, after last change I think I forgot to stop and start but I did try before and that wasn't working so I guess some variable I added fixed it