I am trying to get coturn working on my vps provider (I am using digital ocean) for matrix rtc.

I cannot seem to get matrix dendrite to connect to it. I think I have landed on the issue being dns records in cloudflare but I am unsure. Recently I switched to cloudflare and have been using tunnels (which I use for matrix)

Matrix dendrite works fine besides rtc when I uncomment the lines for the turn server but then doesn’t function at all when they are there.

I am using ubuntu with docker for matrix dendrite and I am using a debian vps with digital ocean for the coturn server.

Any help is appreciated!

EDIT: Lemmy you beautiful community you!!! Solved yet another issue of mine!

  • hendrik@palaver.p3x.de
    link
    fedilink
    English
    arrow-up
    1
    ·
    edit-2
    4 days ago

    Alright. I believe that means you need to fix your DNS.
    turn.domainexample.com” is pointing to a different server, and not the one running coturn.

    Do you use Cloudflare as a DNS provider? I mean I don’t know how that works, since I’ve never used it… But judging by the following documentation: https://developers.cloudflare.com/dns/manage-dns-records/reference/proxied-dns-records/

    I believe you need a dedicated record for the turn subdomain that’s not “Proxied”, but “DNS only”.

    But(!) there seems to be a caveat. There is a note on that page, saying: “If you have multiple A/AAAA records on the same name and at least one of them is proxied, Cloudflare will treat all A/AAAA records on this name as being proxied.” I believe that means you can’t point one of the subdomains directly at your VPS. At least not with Cloudflare DNS.

    Edit: I’m not sure though, why putting in the IP address doesn’t work… I think that should work. I’m not sure what Dendrite does in the background. Have you added the correct secret or username/password and set the correct transport type (TCP/UDP)? Maybe you could add the port number if it’s non-standard…

    • ludicoloOP
      link
      fedilink
      English
      arrow-up
      2
      ·
      edit-2
      4 days ago

      Progress has been made!

      So I got it working with the domain name. The turn testing tools now respond with relay and pin point the vps server! Nice!

      However when I put the info into the matrix dendrite.yaml it still crashes. The logs say

      “Invalid config file: yaml: line 210: did not find expected key”

      “Invalid config file: yaml: line 206: did not find expected " - " indicator”

      Line 210 and 206 refer to the turn section which is formatted:

      turn: turn_user_lifetime: “5m” turn_uris: - turn:turn.exampledomain.com?transport=udp - turn:turn.exampledomain.com?transport=tcp

      turn_username: user
      turn_password: password
      

      EDIT: line 206 seems to be

      • turn:turn.exampledomain.com?transport=tcp

      And line 210 is uncommented description so I don’t know what that is about

      • hendrik@palaver.p3x.de
        link
        fedilink
        English
        arrow-up
        1
        ·
        edit-2
        4 days ago

        Check your indentation. I’m not sure if Lemmy is messing with that, but there seems to be an additional erraneous space before turn_username and password in your config. And the dash should (I guess) be indented two spaces further than the previous line and then one space after the dash. I’m not sure if it’s that.

        • ludicoloOP
          link
          fedilink
          English
          arrow-up
          2
          ·
          edit-2
          4 days ago

          Holy. Fuck. You just did it. You absolute madlad. It works no issues!!!

          Thank you!!

          • hendrik@palaver.p3x.de
            link
            fedilink
            English
            arrow-up
            1
            ·
            edit-2
            4 days ago

            You’re welcome! Glad I could help, happy self-hosting ☺️ Hope it also forwards everything correctly and the chat client/app works, too.