Open-source, self-hosted, Sentry-compatible error tracking.
Drop in your existing Sentry DSN and start capturing errors instantly.
- π Sentry SDK Compatible β Works with any official Sentry SDK (Python, JavaScript, Go, Java, Ruby, etc.). Just swap your DSN.
- β‘ Real-Time β WebSocket-powered live updates across the entire UI. Issues, stats, and notifications update instantly.
- π Full-Text Search β Instant, typo-tolerant search across issues, events, and projects powered by Meilisearch.
- π§ Email Notifications β Automated alerts on new issues and regressions with detailed HTML emails.
- π RBAC β Three-tier role system (Admin / Developer / Viewer) with project-scoped access control.
- π¨ Modern UI β CyberPunk-inspired design with dark/light/system themes, glassmorphism, and micro-animations.
- π± Responsive β Full mobile support with collapsible sidebar and adaptive layouts.
- π³ One-Command Deploy β Production-ready Docker Compose setup with all dependencies included.
- π§ Sentry CLI & MCP β Compatible with Sentry CLI and Sentry MCP Server for AI agent integration.
βββββββββββββββ ββββββββββββββββ βββββββββββββ
β Sentry SDK ββββββββΆβ FastAPI ββββββββΆβ PostgreSQLβ
β (clients) β HTTP β Backend β β β
βββββββββββββββ β ββββββββββββ β βββββββββββββ
β β WebSocketβ β
βββββββββββββββ β β Server β β βββββββββββββ
β Next.js ββββββββΆβ ββββββββββββ ββββββββΆβ Redis β
β Frontend β API β ββββββββββββ β βββββββββββββ
βββββββββββββββ β β Celery β β
β β Workers β β βββββββββββββ
β ββββββββββββ ββββββββΆβMeilisearchβ
ββββββββββββββββ βββββββββββββ
| Layer | Technology |
|---|---|
| Frontend | Next.js 16 (App Router, TypeScript) |
| Backend | FastAPI (Python 3.12, async) |
| Database | PostgreSQL 16 |
| Cache / Pub-Sub | Redis 7 |
| Task Queue | Celery (Redis broker) |
| Search | Meilisearch |
| Containerization | Docker + Docker Compose |
- Docker & Docker Compose v2+
git clone https://github.com/your-org/MegooBug.git
cd MegooBug
cp .env.example .env
# Edit .env β at minimum change SECRET_KEY and MEILISEARCH_MASTER_KEYDevelopment (with hot-reload):
make devProduction:
make prod| Service | URL |
|---|---|
| Frontend | http://localhost:3000 |
| Backend API | http://localhost:8000 |
| API Docs | http://localhost:8000/docs |
Default admin credentials (change these in .env):
Email: admin@megoobug.local
Password: admin123456
The database auto-migrates and seeds the admin user on first startup β no manual steps needed.
MegooBug is fully compatible with Sentry SDKs. Point your DSN to your MegooBug instance:
Log in β Projects β Create Project β Copy the displayed DSN.
Python:
import sentry_sdk
sentry_sdk.init(
dsn="http://<public_key>@your-megoobug-host:8000/api/<project_id>",
)JavaScript:
import * as Sentry from "@sentry/browser";
Sentry.init({
dsn: "http://<public_key>@your-megoobug-host:8000/api/<project_id>",
});Any Sentry SDK β just replace the DSN with the one from your MegooBug project settings.
export SENTRY_URL=http://your-megoobug-host:8000
export SENTRY_AUTH_TOKEN=<your-api-token> # Create in Settings β API Keys
export SENTRY_ORG=megoobug # Accepted but ignored (single-org)
export SENTRY_PROJECT=<project-slug>{
"mcpServers": {
"MegooBug": {
"command": "npx",
"args": ["@sentry/mcp-server@latest", "--access-token", "<your-api-token>"],
"env": { "SENTRY_URL": "http://your-megoobug-host:8000" }
}
}
}This lets AI coding assistants (Cursor, Claude Desktop, etc.) query issues and investigate errors directly from MegooBug.
Real-time overview with project count, error rate (24h), unresolved issues, and active users. Includes a live-updating recent issues table.
Project cards with unresolved issue badges. Each project includes:
- Overview β DSN display, 14-day error trend chart, project metadata.
- Issues β Filterable table with inline Resolve/Ignore actions. Real-time updates via WebSocket.
- Settings β Project config, member management, danger zone.
Rich 5-tab issue viewer:
| Tab | Content |
|---|---|
| Stack Trace | Exception chain with expandable source context, in-app frame badges, line-by-line code highlighting |
| Breadcrumbs | Timestamped trail of user actions/logs leading to the error |
| Context | HTTP request (method, URL, headers), user identity (ID, email, IP), device/OS/browser/runtime info, extra data, installed modules |
| Events | Timeline of all occurrences |
| Details | Issue metadata, fingerprint, tags, SDK info, environment |
User management with role permissions guide, inline role switching, enable/disable, project assignment modal, and invite system.
Role-aware tab layout:
| Role | Tabs |
|---|---|
| Admin | General, SMTP, Profile, API Keys |
| Developer | Profile, API Keys |
| Viewer | Profile |
Ctrl+K / βK command palette with instant full-text search across issues, events, and projects.
| Permission | Admin | Developer | Viewer |
|---|---|---|---|
| View dashboard & issues | β All | β Own | β Own |
| Resolve / Ignore issues | β | β | β |
| Create / Edit projects | β | β | β |
| Delete projects | β | β | β |
| Manage users & roles | β | β | β |
| Configure settings | β | β | β |
| API Keys | β | β | β |
Non-admin users only see projects they've been assigned to. All access checks are enforced on both frontend and backend.
All configuration is via environment variables (.env file):
# ββ General ββ
APP_NAME=MegooBug
APP_URL=http://localhost:3000 # Public-facing URL
SECRET_KEY=<random-64-chars> # β οΈ Change this!
ENVIRONMENT=production
# ββ Auth ββ
ALLOW_SIGNUP=false # Open registration or invite-only
INVITE_TOKEN_EXPIRE_HOURS=48
# ββ Database ββ
POSTGRES_USER=megoo
POSTGRES_PASSWORD=<strong-password>
POSTGRES_DB=megoobug
# ββ SMTP (optional β also configurable via Settings UI) ββ
SMTP_HOST=smtp.example.com
SMTP_PORT=587
SMTP_USERNAME=noreply@example.com
SMTP_PASSWORD=<password>
SMTP_FROM_EMAIL=noreply@example.com
# ββ Meilisearch ββ
MEILISEARCH_MASTER_KEY=<random-32-chars> # β οΈ Change this!
# ββ Seed Admin ββ
ADMIN_EMAIL=admin@example.com
ADMIN_PASSWORD=<strong-password>
ADMIN_NAME=AdminSee .env.example for the full template.
make dev Build & start development stack (hot-reload)
make prod Build & start production stack
make down Stop all containers
make logs Tail all service logs
make logs-be Tail backend logs
make logs-fe Tail frontend logs
make migrate Run Alembic migrations
make seed Seed admin user
make reindex Full Meilisearch re-index
make test Run all tests
make lint Lint backend + frontend
make shell-be Shell into backend container
make shell-fe Shell into frontend container
make clean Remove all volumes and images
MegooBug/
βββ frontend/ # Next.js 16 (App Router, TypeScript)
β βββ src/
β β βββ app/ # Pages & layouts
β β βββ components/ # Shared UI (sidebar, header, search, websocket)
β β βββ lib/ # API client, WebSocket hook
β βββ Dockerfile # Production multi-stage build
β βββ Dockerfile.dev # Development with hot-reload
βββ backend/ # FastAPI (Python 3.12, async)
β βββ app/
β βββ api/ # REST endpoints + WebSocket + Sentry ingest
β βββ models/ # SQLAlchemy ORM models
β βββ services/ # Business logic (auth, ingest, email, pubsub)
β βββ tasks/ # Celery background tasks
β βββ scripts/ # CLI utilities (seed, reindex)
βββ docker-compose.yml # Production
βββ docker-compose.dev.yml # Development
βββ Makefile # Convenience commands
βββ .env.example # Configuration template
βββ docs/
βββ prd.md # Product Requirements Document
- Bell icon with live unread badge
- WebSocket push via Redis pub/sub
- 30-second polling fallback when disconnected
- Triggered on new issues and regressions
- CyberPunk-themed HTML templates with direct issue links
- Per-project opt-in via
notify_emailflag - SMTP configurable via Settings UI or environment variables
Contributions are welcome! Here's how to get started:
- Fork the repository
- Create a feature branch:
git checkout -b feature/my-feature - Start the dev stack:
make dev - Make your changes (frontend hot-reloads, backend auto-restarts)
- Run linting:
make lint - Commit your changes:
git commit -m "feat: add my feature" - Push and open a PR
- Frontend:
http://localhost:3000with Turbopack hot-reload - Backend:
http://localhost:8000/docsfor interactive API docs - Backend logs:
make logs-be - Database auto-migrates on startup β no manual migration needed
MegooBug is open-source software licensed under the MIT License.
Built with β€οΈ for developers who want to own their error tracking.