Skip to content

Self-host Bugsink

updated Aug 2026prices checked · Jul 2026Install verified on Ubuntu 26.04 · Sep 2026 · how we test
We earn commissions when you shop through the links below. Full disclosure →

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~$283
You keep$29/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
Official imageyes
Measured idle RAM204 MB
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
Where to host itaffiliate disclosure
Hetzner Cloudrun it on
From $23.59/mo · 2 vCPU / 4 GB / 80 GB · EU + US
Get Hetzner Cloud (opens in new tab)
Kamaterafree trial
From $4/mo · 1 vCPU / 1 GB / 20 GB · US + EU + Asia
Start free on Kamatera → (opens in new tab)
DigitalOceanalso works on
From $6/mo · 1 vCPU / 1 GB / 25 GB · US + EU + Asia
Deploy on DigitalOcean → (opens in new tab)

Paid link — we earn a commission if you shop through it.

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

Head-to-head

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.