Error Tracking 2 services 2 GiB RAM 5 GB disk

Bugsink

Error tracking compatible with Sentry SDKs in a single container - the lightest way to own your error data.

One-click deploy, from $13/mo on a Miget plan.

Bugsink takes the minimalist position on error tracking: one container that ingests Sentry SDK events, groups them into issues, and alerts you - no Celery, no Redis, no microservices. Where GlitchTip is the lean Sentry, Bugsink is the leanest thing that still does the job properly.

This template pairs that single container with a managed Postgres (auto-provisioned, DATABASE_URL auto-wired). It runs its own migrations on start. Two secrets and you are catching exceptions.

Built by a Sentry-ecosystem veteran with strong opinions about software that fits in your head: synchronous ingestion, sensible defaults, and a UI focused on the only question that matters - what broke, where, how often.

#what you get

  • Compatible with all Sentry SDKs - just swap the DSN
  • Single application container; migrations run on start
  • Issue grouping, release tracking, and email alerts
  • Managed Postgres auto-provisioned and auto-wired
  • No event quotas - disk is the only meter
  • The smallest error-tracking footprint in the catalogue: 2 GiB total

#topology

ServiceRolePublic
bugsinkUI + API + ingestion (:5000); migrates on startyes
dbPostgres - managed service on Migetno

#miget sizing

// this stack needs

2 GiB RAM · 5 GB disk · 2 services

1 GiB for the app, 1 GiB for the managed Postgres. Bugsink ingests synchronously, so sizing is simple - it either keeps up (it does, for most teams) or you scale the one container up.

Hobby - recommended fit

$13/mo

1 vCPU · 2 GiB · 50 GiB disk

Headroom for your own apps: 2 GiB at $19/mo

Professional - production

$22/mo

1 vCPU · 2 GiB · 10 GiB disk

Dedicated resources, production SLOs - plan details

One Miget plan is a fixed pool of compute - the whole stack (managed databases included) deploys inside it, and anything left over runs your other apps. No per-service or per-seat math.

#vs. the managed service

What the hosted equivalents charge, against the flat Miget plan this stack fits on. Prices as of June 2026, sources linked.

ServicePlanMonthlyWhat you get
Bugsink on Miget 2 GiB plan$13this whole stack, flat - no usage meters, and room left for your own apps
SentryTeam~$2650k errors/mo included, pay-as-you-go overage beyond quota

#vs. other PaaS

Estimated monthly cost of running this exact stack (2 GiB RAM, 5 GB disk, 2 containers) elsewhere, from published June 2026 rates.

PlatformEst. monthlyNotes
Miget $13 flat compose stacks first-class: one deploy, dedicated vCPU, managed Postgres/Valkey, volumes and TLS all included in the plan
Heroku ~$100 no volumes; nothing between 1 GB ($50) and 2.5 GB ($250) dynos - 2 GB containers cost far more than shown
DO App Platform ~$29 no persistent volumes - stateful containers need managed DBs/Spaces (base $5 Spaces included here)
Render ~$26 per-service instances (0.5 GB $7, 2 GB $25) - every container is its own paid service
Railway ~$21 usage-based ($10/GB RAM-mo); vCPU billed separately at $20/vCPU-mo on top
Fly.io ~$13 cheapest sticker price - but burstable shared CPUs (1/16 core; dedicated vCPUs cost ~2-3×), no compose deploys (one app per container, manual wiring), managed DBs billed extra

Estimates assume RAM fully allocated at published on-demand rates - and sticker price isn't the whole comparison: the cheaper rows buy burstable shared CPUs, per-service wiring instead of a compose deploy, and managed databases billed separately. Heroku and DO App Platform have no persistent volumes at all - stateful stacks like this one need workarounds there.

#deploy it

On Miget

  1. Create a Compose Stack in app.miget.com pointing at the templates repository
  2. Set the stack path to bugsink
  3. Set the required variables:
    • SECRET_KEY, Django secret
    • ADMIN_PASSWORD, initial admin login (with ADMIN_EMAIL)
    • BASE_URL, set to the app’s https domain after first deploy
  4. Deploy. Miget layers compose.miget.yaml (RAM, privacy, volumes, managed services) automatically

Locally first?

Every template is portable, vanilla Docker Compose - the Miget overrides are ignored locally:

git clone https://github.com/deployable-sh/stacks
cd miget-compose-templates/bugsink
docker compose up -d

Same files, same behavior. The template README covers connection strings and scaling notes.

#faq

Bugsink or GlitchTip - which should I pick?

Bugsink if you want the absolute minimum to operate (one container, $13-20/month plans) and primarily need error tracking. GlitchTip if you also want performance monitoring, uptime checks, and a multi-worker ingestion pipeline. Both speak Sentry SDK.

Does Bugsink work with my language’s Sentry SDK?

Yes - Python, JavaScript/Node, Ruby, PHP, Go, Java, .NET, mobile: anything that emits the Sentry event protocol. Configure the SDK with your Bugsink DSN and errors arrive.

How much does self-hosted error tracking cost with Bugsink?

The stack totals 2 GiB: $13/month hobby fits it exactly, $25/month gives comfortable headroom. Compare to event-metered SaaS where one crash-looping client can exhaust a monthly quota in minutes.

Can Bugsink handle production traffic?

Bugsink is engineered for exactly this scale-down: synchronous ingestion with deliberate performance work upstream, comfortably handling millions of events per day on modest hardware according to its docs. For most teams, the single container is genuinely enough.

Ship Bugsink today

One compose stack, 2 GiB of RAM, from $13/month flat, and it runs on your laptop with the same files.