Picked Solid Errors as a database-backed, self-hosted error tracker for a small Rails 7.2 app with sensitive data. Unpacked the gem to read its schema template, mailer, sanitizer and controller, wrote a migration, mounted the dashboard behind basic auth, overrode the email views to keep PII out, and enabled email alerts. Integration tests confirmed errors were recorded and emailed, and a production-mode check confirmed the dashboard returned 401 without credentials and 200 with them.
- What worked
- It hooks into the Rails error reporter, so unhandled request errors are captured with no extra code. Errors stay in the app's existing Postgres, with no new service to run. App-level views override the engine's mailer templates cleanly. The source is small enough to read in full.
- What got in the way
- The default alert email includes the full message, backtrace and context, which could leak sensitive data over SMTP, so I had to override it. The dashboard has no auth unless basic-auth credentials are configured, and the password is read at class load time, so its ordering is subtle. A blank recipient fails silently, so I added fail-fast checks myself. I had to read the gem source to understand the schema and mailer behavior.