Common Issues
Quick solutions to the most frequent problems.
DSN shows 0.0.0.0 instead of your domain
If your DSN looks like http://key@0.0.0.0:8080/1, the server is using its TCP bind address instead of your public URL.
Fix: Set PUBLIC_URL in your server environment:
PUBLIC_URL=https://api.yourcompany.comThe DSN will immediately reflect the correct URL on the next API call. See Environment Variables for details.
Events not appearing
Check your DSN
The DSN format is:
http://<sentry_key>@<host>:<port>/<project_id>Make sure:
- The host is reachable from your app (set
PUBLIC_URLif it shows0.0.0.0) - The port is correct (default: 8080)
- The project ID exists
Enable SDK debug mode
Sentry.init({
dsn: 'YOUR_DSN',
debug: true, // Logs SDK activity to console
});Check network connectivity
# Test from your app's server/machine
curl -v http://your-rustrak-server:8080/healthYou should see {"status":"ok"}.
Check rate limits
If you’re hitting rate limits, events are dropped. Check server logs:
docker logs rustrakLook for “rate limit exceeded” messages.
CORS errors
If your browser shows CORS errors, your Rustrak server needs to allow your domain.
Using a reverse proxy
Add CORS headers in nginx:
location / {
proxy_pass http://localhost:8080;
# CORS headers
add_header Access-Control-Allow-Origin "https://your-app.com";
add_header Access-Control-Allow-Methods "GET, POST, OPTIONS";
add_header Access-Control-Allow-Headers "Content-Type, Authorization, X-Sentry-Auth";
if ($request_method = 'OPTIONS') {
return 204;
}
}Can’t connect to dashboard
Dashboard running locally
If you’re running the dashboard on your laptop connecting to a remote server:
docker run -p 3000:3000 \
-e RUSTRAK_API_URL=https://your-server.com \
rustrak/rustrak-ui:latestMake sure:
- The server URL is correct
- HTTPS is configured if required
- No firewall blocking the connection
Server not responding
Check if the server is running:
docker ps | grep rustrak
curl http://localhost:8080/healthDatabase connection errors
Check DATABASE_URL
# Format
postgres://username:password@host:port/database
# Common mistakes
postgres://user:pass@localhost:5432/rustrak # Wrong if using Docker
postgres://user:pass@postgres:5432/rustrak # Correct for Docker ComposeDatabase not ready
The server might start before PostgreSQL is ready. Add a healthcheck:
services:
server:
depends_on:
postgres:
condition: service_healthyAuthentication errors
401 Unauthorized (API)
Check your token:
- Format: 40 hexadecimal characters
- Header:
Authorization: Bearer YOUR_TOKEN - Token exists and hasn’t been deleted
Can’t log in to dashboard
- Verify user was created by checking your
.envfile hasCREATE_SUPERUSERset:
# In your .env file
CREATE_SUPERUSER=admin@example.com:password- If you need to create/recreate the user, update
.envand restart:
docker compose restart server-
Check you’re using the correct email/password
-
Clear browser cookies and try again
High memory usage
Server using too much RAM
Check your rate limits—processing many events increases memory:
# Reduce limits for constrained environments
MAX_EVENTS_PER_MINUTE=100
MAX_EVENTS_PER_HOUR=1000Consider server-only deployment
Run just the server (~50MB RAM) and access the dashboard separately:
# On server
docker run -d -p 8080:8080 rustrak/rustrak-server:latest
# Dashboard on another machine
docker run -d -p 3000:3000 \
-e RUSTRAK_API_URL=https://your-server.com \
rustrak/rustrak-ui:latestEvents delayed
Events go through two phases:
- Ingest (immediate): Event received and stored
- Digest (background): Event processed and grouped
If events appear delayed, the digest phase might be backed up. Check server logs for errors.
Stack traces still show minified code
If errors show minified file names instead of your real source files, the source maps aren’t reaching Rustrak. Source map upload is a separate channel from error reporting: your DSN sends events to Rustrak, but the build plugin decides where source maps go. The two most common causes:
- The upload URL isn’t set → the Sentry build tooling defaults to its hosted
service (
sentry.io). You must set the plugin’surloption to your Rustrak server. Pointing the DSN at Rustrak is not enough. - No auth token → without
authToken, the upload is silently skipped and the build still succeeds.
Verify whether anything was actually uploaded for your project:
curl -H "Authorization: Bearer YOUR_TOKEN" \
http://localhost:8080/api/0/projects/x/your-project/files/source-maps/An empty data array means no source maps exist for that project yet.
See Source Maps for full setup.
Still stuck?
- Check server logs:
docker logs rustrak - Enable debug logging:
RUST_LOG=debug - Open an issue