Lightweight Sentry alternative
- Python 48.9%
- HTML 32.7%
- CSS 17.4%
- Dockerfile 0.8%
- Shell 0.2%
|
All checks were successful
Push Docker Image / push (push) Successful in 10m7s
|
||
|---|---|---|
| .forgejo/workflows | ||
| .zed | ||
| examples | ||
| mado | ||
| AGENTS.md | ||
| README.md | ||
Mado
A lightweight, self-hosted error tracking tool.
Quick Start
uv sync
uv run python manage.py migrate
uv run python manage.py seed # optional: load sample data
uv run python manage.py runserver
Open http://localhost:8000.
Features
- Projects — create, configure, delete projects; each gets a unique DSN key
- Event Ingestion — POST structured error payloads via the
/api/events/store/endpoint - Event Browser — filter by status, level, full-text search; HTMX-powered live filtering
- Event Detail — tabbed view of stack trace, tags, context, request data, user info, extras, SDK info
- Stack Traces — collapsible frames with source context, highlighted error lines
- Status Management — resolve, ignore, reopen events; single or bulk actions
- Tags — auto-extracted (environment, release, level, etc.) plus custom tags
- Database Agnostic — works with SQLite, PostgreSQL, MySQL, and any Django-supported backend
Development
# Run tests
uv run python manage.py test
# Type checking
uv run mypy projects events mado
# Create superuser for Django admin
uv run python manage.py createsuperuser