Skip to content

Troubleshooting

  • server.frontend_origin must exactly match the address in the browser, including https:// and any port.
  • VITE_API_URL must be reachable from the browser, not only from the container.
  • Check the browser’s network tab for blocked CORS or mixed-content requests.

The WebSocket is being blocked. Behind a proxy, forward Upgrade and Connection headers and raise the read timeout. See Reverse proxy and TLS.

Calls connect but there is no audio or video

Section titled “Calls connect but there is no audio or video”

Open UDP 50000-50100 and 3478, and set voice.public_ip. See Voice and calls.

The browser will not share the microphone, camera or screen

Section titled “The browser will not share the microphone, camera or screen”

These require HTTPS or localhost.

The server will not start after I changed config.toml

Section titled “The server will not start after I changed config.toml”

Check the log for the first error. Compare keys against the reference. A .bak copy is kept when the admin panel edits the file.

The database cannot be decrypted without it. Restore from a backup that includes config.toml.

Raise server.max_file_size_mb and the proxy’s body limit (client_max_body_size in nginx).