Skip to content

Self-host Bugsink

updated Aug 2026prices checked · Aug 2026Install verified on Ubuntu 26.04 · Aug 2026 · how we test

A deliberately small, self-hosted error tracker that speaks the Sentry SDK protocol — one container, SQLite by default, built to run your team's exception stream on a tiny box instead of an event-priced SaaS bill.

Sentry / yr$312
Self-hosted / yr~$55
You keep$257/yr
Pocket the difference — spin it up on a cheap VPS in minutes.Start free on Kamatera → (opens in new tab)

Key facts

CategoryError tracking
LicensePolyForm Shield 1.0.0
StackPython, Django
Min RAM256 MB
Dockeryes
Difficulty
Our recommendation

Pick Bugsink when you want the smallest possible self-hosted error tracker — one container, SQLite by default, speaking the Sentry SDK protocol, comfortably digesting a busy app's exception stream on a box that costs a few dollars. It's built for teams who think Sentry (hosted or self-hosted) is simply too much machine for the job.

What you need

  • Any VPS with at least 256 MB of RAM
  • A domain you control — most self-hosted setups need HTTPS in front of them
  • Under an hour if you've used Docker before

Install

Run these commands on your server:

# Bugsink — official single-container quickstart. SQLite lives inside the
# container: mount a volume or add MySQL/PostgreSQL for data you must keep.
docker run -d --name bugsink --restart unless-stopped \
  -e SECRET_KEY=$(openssl rand -hex 32) \
  -e CREATE_SUPERUSER=admin@example.org:admin \
  -e PORT=8000 -p 8000:8000 \
  bugsink/bugsink:latest
# →  http://SERVER_IP:8000  (admin@example.org / admin — change immediately)
# no TLS; put a reverse proxy in front

What you take on

Bugsink's minimalism and its license are both deliberate choices — check they fit:

non-negotiableIt's source-available, not open source. The PolyForm Shield license lets you self-host freely but forbids offering Bugsink as a competing service — fine for internal use, a real flag for some organisations' policies.
non-negotiableErrors only, on purpose. No performance tracing, profiling, dashboards, or uptime — it does exception tracking and stops there.
non-negotiableSQLite is the default, inside the container. The quickstart keeps its data in the container's filesystem — mount a volume, or move to MySQL or PostgreSQL, before you store events you'd genuinely mind losing.

An alternative to

More self-hosted tools

We use analytics cookies (Google Analytics, PostHog) to see which guides are useful. No ad networks, no cross-site tracking. See our privacy policy.