Skip to content

Rails Error Dashboard Self-Hosted Error Tracking for Rails

Records what your process looked like when it failed — GC, memory, DB pool, Puma, job queues — on the error itself, inside your app, in your own database. The gem is MIT and free forever.

🔬

The Moment of Failure

GC, memory, file descriptors, load, DB pool, Puma, job queues and YJIT captured at the latest occurrence and stored on the error record — no other tracker attaches them to the error.

📊

Analytics

Error trends, platform health, correlation insights, baseline monitoring, and occurrence patterns.

🔔

Multi-Channel Notifications

Slack, Email, Discord, PagerDuty, and custom webhooks with per-error throttling.

📱

Platform Detection

iOS, Android and API detected from the User-Agent, with platform-specific analytics.

🔍

Smart Grouping

Advanced error correlation, cascade detection, fuzzy matching, and custom fingerprinting.

High Performance

Async logging, rate limiting, sampling, BRIN indexes, and database optimization built in.

🎯

5-Minute Setup

Sensible defaults out of the box; the installer walks you through the optional features. Dark/light mode, live updates with turbo-rails.

🔒

Self-Hosted

Complete data ownership. Runs inside your Rails process — no external services, no data leaving your servers.

Quick Start

# Add to Gemfile
gem 'rails_error_dashboard'

# Install
bundle install
rails generate rails_error_dashboard:install
rails db:migrate

# Route is added automatically by the generator
# Start your app and visit /red

From the Community

All three [self-hosted alternatives] had an issue with error backtrace when using Turbo — RED did fix it… solid_errors and Faultline are not very active projects, RED is very active and @AnjanJ is very responsive in fixing issues. So, RED was my final choice.

Gael Marziou (@gmarziou) · discussion #116

Why Rails Error Dashboard?

What nothing else records

  • The state of the process at the moment of failure - GC, memory, file descriptors, load, the ActiveRecord pool, Puma, job queues, RubyVM/YJIT — stored on the error record, then correlated across errors. Every APM has these as graphs; none attaches them to the error
  • What error trackers don’t watch - swallowed exceptions with a raise-vs-rescue ratio per location, production deprecations, Rack::Attack events and the AI crawlers behind them
  • An error you can run - Copy as RSpec generates a request spec from the captured request; no other tracker generates a test
  • Storm accounting - per-fingerprint caps, an exact count-only circuit breaker and a Storm History ledger, on by default

Inside your app

  • Self-hosted - Runs inside your Rails process; error data never leaves your infrastructure. A self-hosted Sentry alternative for teams that can’t send errors to a third party
  • Native Rails integration - Works with Rails 7.0-8.1, Ruby 3.2-4.0, on PostgreSQL, MySQL/Trilogy or SQLite
  • Multi-channel alerts - Slack, Email, Discord, PagerDuty, webhooks; issues in GitHub, GitLab, Codeberg or Linear
  • Fully customizable - Extend with plugins and custom handlers

The gem is MIT and free forever

  • No RED licence or event-ingestion fee - the gem costs nothing to run
  • No plan limits - your database is the only cap; storm protection sheds context during floods by design

Checked against Sentry, Honeybadger, AppSignal, Rollbar, Bugsnag, Airbrake, Raygun, New Relic, Datadog, Scout, Skylight and every self-hosted Rails tracker in August 2026 — the verified ledger.

Contributing

We welcome contributions! See our GitHub repository for feature requests, bug reports, and pull requests.

License

MIT License - see LICENSE for details.