FAQ
General
What SDKs work with Rustrak?
Any Sentry SDK. Rustrak implements the Sentry protocol, so you can use the official Sentry SDKs for JavaScript, Python, Go, Rust, Java, .NET, PHP, Ruby, and more.
What does Rustrak cover?
- Errors: grouping into issues, stack traces with source maps, and alerts
- Performance: transactions and spans
- Releases and sessions: release health from SDK sessions
- Logs and AI agent traces
It does not support session replays.
How much resources does Rustrak need?
One container of about 20 MB, dashboard included, that idles under 100 MB of memory. A 512 MB VPS is enough for a small team. The dashboard is static files, so it adds nothing under load.
Can I migrate from Sentry?
Yes, just change your DSN. Your SDK code stays the same:
// Before
Sentry.init({ dsn: 'https://key@sentry.io/123' });
// After
Sentry.init({ dsn: 'http://key@your-server:8080/1' });Historical data doesn’t migrate; you start fresh.
Deployment
Do I need to run the dashboard separately?
No. The server serves it at /, on the same port as the API, so there is
nothing else to run. Two variations exist for special cases:
- API only: set
RUSTRAK_DASHBOARD=offand the server serves no pages. - Dashboard on another host: run
rustrak/rustrak-uithere. See Dashboard on its own host.
Can I run Rustrak without Docker?
Yes. Build from source, from the repository root:
pnpm install
pnpm build --filter=@rustrak/server # builds the dashboard, then the server
cd apps/server
DATABASE_URL=sqlite://./rustrak.db \
SOURCEMAP_STORAGE_PATH=./data/sourcemaps \
./target/release/rustrakThis build uses SQLite. Without DATABASE_URL the database goes to
/data/rustrak.db, the path the Docker image uses, which a machine without a
writable /data cannot create; set it, and SOURCEMAP_STORAGE_PATH, to a
local path as above. For PostgreSQL, build with
cargo build --release --no-default-features --features postgres. A plain
cargo build works too, without Node, and gives a server with no dashboard.
How do I back up my data?
Back up the database and the source maps. See Backups for SQLite and PostgreSQL.
Data
How long are events stored?
Indefinitely, until you delete them. An admin can remove old data by age and type under Settings, Storage. There is no automatic retention yet.
Can I export my data?
Yes, via the API:
# Get all issues
curl -H "Authorization: Bearer TOKEN" http://localhost:8080/api/projects/1/issues
# Get events for an issue
curl -H "Authorization: Bearer TOKEN" http://localhost:8080/api/projects/1/issues/ISSUE_ID/eventsIs my data encrypted?
- In transit: Use HTTPS (configure via reverse proxy)
- At rest: Depends on your disk or PostgreSQL setup
Rustrak doesn’t add additional encryption.
Troubleshooting
Why are my errors grouped incorrectly?
Rustrak groups by exception type, message, and transaction. Use custom fingerprints for better control:
Sentry.captureException(error, {
fingerprint: ['my-custom-group'],
});Why don’t I see stack traces?
Check that your SDK is configured to send them. For minified JavaScript, upload source maps.
Can I ignore certain errors?
Use your SDK’s beforeSend hook:
Sentry.init({
dsn: 'YOUR_DSN',
beforeSend(event) {
if (event.message?.includes('Expected error')) {
return null; // Don't send
}
return event;
},
});Or mute issues in the dashboard.
Features
Does Rustrak support alerts?
Yes. New issues and regressions can notify Slack, email, a webhook, or a custom webhook whose JSON body you write, for services with their own message format. See Alerts.
Is there multi-user support?
Yes. Admins invite users and assign roles, and access can be limited per project. See Team & Access.
Is there multi-organization support?
No. Rustrak is designed for single-team use. For multiple organizations, run separate instances.