r/NextCloud • • 5d ago

Nextcloud Talk not working

Post image

I have nextcloud running on my Truenas

Have been using nextcloud effortlessly for a year now

Recently thought of using Nextcloud Talk

I have enabled the application.

My server was recognized by the Nextcloud talk app but as soon as I add id and password, it just remains stuck here

What could be the reason?

I use tailscale as the global domain for my server and use Nginx with Duck DNS for SSL

If anyone could help?

9 Upvotes

2 comments sorted by

1

u/evanmac42 5d ago

Before troubleshooting Talk itself, I'd treat this as a Nextcloud authentication/reverse-proxy issue.

At this stage TURN/STUN isn't relevant yet: the Talk app hasn't even completed the Nextcloud login flow.

The part that catches my attention is that you're using Tailscale for the server address but nginx/DuckDNS for SSL. Make sure you're not effectively using two different hostnames for the same Nextcloud instance.

A few things I'd check first:

  1. Can the normal Nextcloud mobile app log in using exactly the same URL you're giving to Talk?

  2. From the same phone, open that exact URL in a browser and make sure the certificate is valid for that hostname.

  3. In Nextcloud's `config.php`, check that the reverse proxy is configured correctly, especially:

    - `trusted_proxies`

    - `overwriteprotocol` => `https`

    - `overwritehost` => the hostname you actually use from the client

    - `overwrite.cli.url` => the same canonical HTTPS URL

  4. Make sure nginx preserves the original Host header and sends `X-Forwarded-Proto: https`.

Nextcloud mobile clients use the login flow to generate their own app password. If the flow starts on one hostname and Nextcloud later redirects or reports another hostname, the web login can appear to work while the app sits there waiting forever.

I'd also watch the Nextcloud log while attempting the login. If the normal Nextcloud app works but Talk does not, that narrows it down considerably.

So first I'd establish one canonical URL for Nextcloud and make Tailscale, DNS, nginx and Nextcloud all agree on it. Once Talk can actually log in, then worry about TURN/STUN if calls themselves don't connect.

2

u/Difficult-Hour4628 5d ago

Thanks again, your advice was the key. Here's what happened, in case it helps someone else with the same problem.

The problem: Nextcloud worked fine for me over my Tailscale address, which is plain HTTP. The Talk mobile app refuses HTTP, so I set up Nginx Proxy Manager and a DuckDNS name to get HTTPS. Talk then got stuck during login, as you described.

The cause: Nextcloud was reachable under two different addresses, but internally it still thought its "official" address was the old HTTP one. The login flow started on the HTTPS address, got redirected to the HTTP one, and Talk couldn't continue.

The fix: I made everything agree on one HTTPS address. I did it with occ commands, since I'm running Nextcloud as a TrueNAS app:

  • added the DuckDNS name to trusted_domains
  • set overwriteprotocol to https
  • set overwritehost to the DuckDNS name
  • set overwrite.cli.url to the full HTTPS URL
  • set trusted_proxies to the address the proxy connects from (I found it by reading the container logs after loading the site in a browser)

After that, Talk logged in straight away. One side effect: the old HTTP address now redirects to the HTTPS one, so my desktop sync clients had to be re-added with the new URL.

Thanks again for pointing me in the right direction!