
Sentry Self-Hosted
https://github.com/getsentry/self-hosted- Category
- Developer Tools
- Rank
- No. 239Tools index
- Pricing
- Open Source
- Type
- TOOL
- Builder
- getsentry
- GitHub
- 9.6k stars
- Latest release
- 26.8.0
- Date
About
Self-hosted distribution of Sentry — full feature parity with the cloud product, packaged for low-volume deployments and proofs-of-concept.
What it does
Sentry Self-Hosted runs an event-monitoring service on infrastructure you control. Applications send failures through Sentry SDKs and DSNs, while operators use its web interface and HTTP API. Docker Compose coordinates the web application with storage, caching, queues, search, ingestion, and supporting services.
Why it's ranked here
This is a credible choice when infrastructure control matters and expected traffic is modest. It includes configurable retention, air-gap behavior, custom certificate support, health checks, backups, and integration tests. The catch is substantial operational machinery, even with the reduced error-monitoring profile.
What's good
The configuration exposes practical controls for retention, outbound network isolation, private-address restrictions, mail, metrics, and custom certificate authorities. Operators can choose the complete service set or reduce container usage to error monitoring. Tests exercise login, event ingestion, caches, certificates, backups, and restoration workflows.
Tradeoffs
The service depends on many containers and supporting systems, including PostgreSQL, Redis, Memcached, Kafka, Snuba, and object storage. Its own documentation positions the package for modest traffic and proofs of concept. Real traffic requires deliberate cache and Redis configuration, while longer retention directly increases disk consumption.
How to use it well
Use it for internal trials, controlled deployments, or teams that need Sentry data inside their own infrastructure. Start with error monitoring when the complete service set is unnecessary, then enable additional features deliberately. Treat backups, retention, certificates, metrics, and outbound-network policy as deployment work. It is not presented as a turnkey answer for high-throughput production.
Technical notes+
pyproject.toml declares Python 3.11 or newer, no runtime package dependencies, and a larger pytest-based development group. .env selects feature-complete by default, binds port 9000, configures 90-day retention, and references nightly container images. sentry/sentry.conf.example.py wires PostgreSQL through PgBouncer, Redis, Memcached, Kafka, Snuba, SeaweedFS-backed node storage, optional air-gap behavior, and errors-only mode. snuba/api_healthcheck.py probes an HTTP health endpoint with configurable URL and timeout. _integration-test/conftest.py starts the Docker Compose stack and creates a superuser; _integration-test/test_01_basics.py checks authentication, event ingestion, assets, and caches; _integration-test/test_02_backup.py exercises administrative export and import. scripts/recover_seaweedfs_kek.py recovers plaintext or AES-GCM-wrapped storage encryption keys.
Observed
- Packaging and installation
- Docker Compose deployment using prebuilt nightly container images.
- Runtime requirement
- Repository Python tooling requires Python 3.11 or newer.
- Interfaces
- Web interface, HTTP API, SDK event ingestion through DSNs, and administrative command-line tooling.
- Deployment profiles
- Feature-complete and errors-only Compose profiles are provided.
- Configured services
- PostgreSQL, PgBouncer, Redis, Memcached, Kafka, Snuba, and SeaweedFS-backed object storage.
- Test structure
- Integration tests cover startup, authentication, event receipt, caches, custom certificate authorities, backup, and import.
Read from README.md, pyproject.toml, snuba/api_healthcheck.py, _integration-test/conftest.py, sentry/sentry.conf.example.py, scripts/recover_seaweedfs_kek.py, scripts/snuba_migrations_hash.py, _integration-test/test_01_basics.py, _integration-test/test_02_backup.py, _integration-test/test_seaweedfs_kek.py, _integration-test/nodejs/instrument.js, _integration-test/nodejs/user-feedback.js, _integration-test/custom-ca-roots/custom-ca-roots-test.py, .env, uv.lock.
What it can do
Monitor application errors and exceptions
Application error data and stack traces → Error reports with context and debugging information
Track application performance metrics
Performance data from instrumented applications → Performance monitoring dashboards and alerts
Aggregate and group similar errors
Multiple error events from applications → Grouped error issues with occurrence statistics
Send alerts for critical issues
Error patterns and notification rules → Email, Slack, or webhook notifications
Generate error trend reports
Historical error data over time periods → Charts and metrics showing error frequency trends
Store application release information
Release deployment data and version details → Release tracking with associated error rates
Tags
Tech Stack
Media

Comments (0)
No comments yet
Editorially curated, with community endorsements as a secondary signal. Corrections welcome.