When an application breaks, finding and fixing the root cause quickly is critical. Hosted error tracking tools often make you trade privacy for convenience, and they can be expensive. Self-hosted solutions are an alternative, but they are often a pain to set up and maintain.
Bugsink solves this by offering error tracking that’s built to be self-hosted. It also comes with a slick interface, is easy to set up and manage, is resource-efficient, and compatible with Sentry.
This post dives into what Bugsink offers and why it might be a fit for you.
What Is Error Tracking?
When code is deployed in production, errors are bound to occur. Error tracking involves monitoring and recording errors in your application code, particularly in production environments.
Errors can occur due to a variety of reasons, such as bugs in the code, network issues, or unexpected user behavior. Error tracking systems capture these events and provide detailed reports for developers to resolve them effectively.
Effective error tracking helps identify issues early. Bugsink notifies you by email as soon as an error occurs, giving you the opportunity to address it before users are impacted.
By providing detailed stack traces and context, Bugsink allows you to understand the conditions that led to the error, making debugging faster and more precise.

In addition to notifications and detailed reports, Bugsink offers features that improve your error tracking experience:
- Similar errors are grouped automatically into a single issue, helping you avoid being overwhelmed by repetitive alerts.
- You can mark issues as resolved when fixed, allowing you to be notified if they reoccur.

In short: Bugsink provides detailed reports and smart grouping of errors, reducing the time needed to identify root causes. This enables faster debugging and helps maintain application stability and reliability.
Why I Built Bugsink
Before I became Bugsink’s solo-founder and developer, I worked as a software-developer in various security-conscious environments: law-firms, banks and law-enforcement. In these environments, SaaS solutions were often not an option due to strict data privacy requirements.
Self-hosting Sentry, the market-leader in Error Tracking, seemed like a logical alternative, but I quickly ran into challenges: Sentry’s offering is resource-intensive and the installation process is anything but simple. Also: it seems the marketing/sales department is actively trying to steer you away from self-hosting.
I’ve written up the full origin story on my blog under the title “Why I Gave Up on Self-Hosted Sentry”, but the short of it is: I decided to build my own solution…
Self-hosted: Why?
There may be many reasons to prefer self-hosting over a SaaS solution (but if you’re a regular reader of NOTED, you already knew that):
- Security or privacy conscious environments may set hard requirements (this was my main reason).
- Financial prudence. (SaaS solutions can get expensive, especially if they bill by the number of events).
- Good taste or personal preference (what this means is up to you).
Bugsink is designed to cater to these needs, offering a self-hosted error tracking solution that prioritizes data ownership, privacy, and resource efficiency.
Self-Hosted: How?
Bugsink is designed for straightforward self-hosting, focusing on minimal setup and efficient operation.
Quick Deployment: Bugsink can be deployed in under a minute using Docker. With just a single container to manage, the setup process is fast and straightforward, making it easy to get started on any compatible server.
Minimal Components: Bugsink operates as a single Docker container, using SQLite by default. There’s no need for external databases or additional services (redis, databases) unless you choose to use them, keeping the architecture simple and reducing maintenance overhead.
Scalable and Reliable: Bugsink handles substantial workloads. On my test-setup (a VPS with 2 VCPUs and 4GB RAM), it processes 30 events per second (each 50KB), which adds up to approximately 2.5 million events per day. This scalability ensures it can support both small projects and high-traffic applications effectively. It also scales down well below 1GB of memory.
By combining quick deployment, minimal dependencies, and robust performance, Bugsink provides a self-hosted error tracking solution that works for a wide range of use cases.
Licensing: free beer, and no lunch-stealing
Bugsink’s license permits free use for all non-competing purposes. You can self-host Bugsink for personal or organizational use at no cost, as long as it’s not used to build a competing product. This approach makes Bugsink accessible while protecting its sustainability and future development.
For the interested: the license is actually the PolyForm Shield License, but because this license is not too well-known yet, I prefer to just give the TL;DR first.
Installing Bugsink
Setting up Bugsink is straightforward. For a quick evaluation, you can spin up an instance using Docker:
docker pull bugsink/bugsink:latest
docker run \
-e SECRET_KEY=X534wALv1bEsJDmDnagsm19pPkYohZu5x3rORQenntylm3oxm5 \
-e CREATE_SUPERUSER=admin:admin \
-e PORT=8000 \
-p 8000:8000 \
bugsink/bugsink
Replace the random-looking string with something that’s actually random, and the username and password with something more secure.
After running these commands, visit http://localhost:8000/ to access the login screen. The default username and password are admin. From there, you can set up your first project and start tracking errors.
For permanent setups, consider integrating Bugsink into your infrastructure or using an external database. Comprehensive guides are available in the documentation
Integrating Bugsink with Your Application
Bugsink is Sentry-compatible, allowing you to integrate it with any of more than 100 programming languages supported by Sentry’s open-source SDKs.
After creating a project in Bugsink, you’ll see a DSN (Data Source Name) on the project’s settings page. This DSN is unique to your project and serves as an endpoint for error reports. Configure your application’s Sentry SDK with this DSN, and Bugsink will start receiving error reports.
Whether you’re a ‘sentry refugee’ or new to error tracking, getting started with Bugsink is easy.

Conclusion
Bugsink is a self-hosted error tracking solution that offers a modern, efficient alternative to Sentry. It’s designed for straightforward deployment, minimal maintenance, and resource efficiency, making it a great fit for developers who prefer self-hosted solutions.
If you’re tired of self-hosting Sentry or looking for a self-hosted error tracking solution that’s easy to manage and resource-efficient, give Bugsink a try. It’s a drop-in replacement for Sentry that you can set up in minutes.
Discussion