Sblurp

Troubleshooting

People cannot sign in to the community

The server checks each sign-in token's issuer and audience.

  • SBLURP_BASE_URL must be exactly the address people add in the app, with https:// and no trailing path.
  • SBLURP_TRUSTED_ISSUERS must include https://sblurp.chat.
  • The server must reach https://sblurp.chat/.well-known/jwks.json to fetch the signing keys.

Messages appear only after a reload

The proxy is buffering the live stream. Turn off buffering and compression for the server. With Caddy, use h2c:// and flush_interval -1, and no encode. See TLS and reverse proxies.

The certificate does not work

  • The DNS record must point to the machine. Check with dig +short chat.example.com.
  • On Cloudflare, set the record to "DNS only" (grey cloud).
  • Ports 80 and 443 must be open.
  • Read Caddy's log: docker compose logs caddy, or journalctl -u caddy.

Images and files show a 403

File links are signed and last one to two hours. The app gets fresh ones when it lists messages again. A 403 on an old link is normal. If every file fails, the file-key may have changed. Restore it together with files/.

Someone else became the owner

The first person to join becomes the owner. If that was not you, start again with an empty data folder, then join before you share the address.

"You are sending messages too fast"

People may send 5 messages per second, with a burst of 10. Bots follow -bot-rate and -bot-burst.

The app shows "reconnecting" all the time

  • Check that the server is up: curl https://chat.example.com/healthz should answer ok.
  • The proxy's idle timeout must be longer than 25 seconds, the heartbeat interval.
  • On Fly, keep exactly one machine, always on.

Logs

Setup Command
Compose docker compose logs -f server
Podman journalctl -u sblurp-server -f
Fly.io fly logs -a my-community

Plugins write console.log output to the same log.