Klaas van Schelven a2e1caabd1 Add index for project-based quota checks
i.e. the code in check_for_thresholds (when the `qs` filters per project)

On SQLite the effect is like so, from:

EXPLAIN QUERY PLAN SELECT COUNT(*) AS "__count" FROM "events_event" WHERE ("events_event"."project_id" = 1 AND "events_event"."digested_at" >= '2025-12-07 15:12:24.479666');
QUERY PLAN
`--SEARCH events_event USING COVERING INDEX events_even_project_ac6fc7_idx (project_id=?)

to

EXPLAIN QUERY PLAN SELECT COUNT(*) AS "__count" FROM "events_event" WHERE ("events_event"."project_id" = 1 AND "events_event"."digested_at" >= '2025-12-07 15:12:24.479666');
QUERY PLAN
`--SEARCH events_event USING COVERING INDEX events_even_project_625413_idx (project_id=? AND digested_at>?)
2026-01-07 16:16:28 +01:00
2025-11-18 09:25:53 +01:00
2026-01-06 21:39:33 +01:00
2025-11-18 09:09:26 +01:00
2025-12-06 19:36:58 +01:00
2025-11-26 08:34:33 +01:00
2026-01-06 21:39:33 +01:00
2025-10-01 17:13:39 +02:00
2025-09-05 22:47:22 +02:00
2025-08-30 15:10:50 +02:00
2025-04-11 11:24:50 +02:00
2025-11-07 20:34:32 +01:00
2025-11-04 09:31:58 +01:00
2025-11-09 20:12:55 +01:00
2025-07-29 12:53:10 +02:00
2025-01-30 15:23:23 +01:00
2025-02-26 16:34:47 +01:00

Bugsink: Self-hosted Error Tracking

Screenshot

Screenshot

Installation & docs

The quickest way to evaluate Bugsink is to spin up a throw-away instance using Docker:

docker pull bugsink/bugsink:latest

docker run \
  -e SECRET_KEY=PUT_AN_ACTUAL_RANDOM_SECRET_HERE_OF_AT_LEAST_50_CHARS \
  -e CREATE_SUPERUSER=admin:admin \
  -e PORT=8000 \
  -p 8000:8000 \
  bugsink/bugsink

Visit http://localhost:8000/, where you'll see a login screen. The default username and password are admin.

Now, you can set up your first project and start tracking errors.

Detailed installation instructions are on the Bugsink website.

More information and documentation

Description
No description provided
Readme 6.2 MiB
Languages
Python 80.6%
HTML 17.5%
CSS 0.9%
JavaScript 0.6%
Shell 0.3%
Other 0.1%