⚡
SelfHostStackOpen-Source Directory

Why Migrate Away from Sentry Error Tracking?

Sentry SaaS meters every single captured error event, performance transaction, and session replay. During traffic spikes or production bugs that trigger cascade exceptions, SaaS quotas burn out in minutes, resulting in dropped error data or sudden billing shocks. Self-hosting GlitchTip or SigNoz gives you 100% Sentry client SDK compatibility, unlimited error event ingestion, zero dropped exceptions, full telemetry data ownership, and predictable fixed VPS costs.

Technical Architecture & Migration Analysis

Official Sentry SaaS uses Kafka event streams, ClickHouse, Redis, and Snuba query layers — a heavy architecture requiring 16GB+ RAM if self-hosted directly. Modern lightweight alternatives like GlitchTip re-implement Sentry's exact ingestion API in high-performance Python/Django with PostgreSQL and Redis, requiring less than 1GB of memory. Clients send error payloads via standard `@sentry/browser`, `@sentry/node`, or Sentry Python SDKs simply by pointing the DSN URL to your self-hosted server.

⚠️

When NOT to Migrate (When Staying on Sentry Error Tracking Makes Sense)

Self-hosting is not universally the right move. Keep paying for SaaS if your team hits any of these constraints:

  • ▸You require Sentry's advanced proprietary AI autofix suggestions and native mobile crash symbolication servers without managing symbol uploads.
  • ▸Your engineering team generates over 50,000,000 trace transactions per hour and needs multi-datacenter distributed Kafka clusters.
  • ▸You have zero server capacity to monitor PostgreSQL storage and automated table partition vacuuming.

Real-World Cost Comparison: Sentry Error Tracking vs Self-Hosted

Comparing vendor cloud billings against standard Hetzner / DigitalOcean infrastructure costs at scale.

Tier / ScaleSentry Error Tracking CostSelf-Hosted VPS CostEstimated Annual SavingsTechnical Breakdown
Early SaaS / Mobile App
100,000 errors/month, 5 microservices
$26 - $89/month ($312 - $1,068/year on Sentry Team/Business)€3.79/month (Hetzner CX22 2 vCPU, 4GB RAM)$260 - $1,020/yearGlitchTip runs comfortably alongside other services on a standard budget VPS.
Scaling Production Platform
2,500,000 error events/month, performance transactions, release health
$280 - $750/month ($3,360 - $9,000/year)€14.28/month (Hetzner CPX31 4 vCPU, 8GB RAM)$3,180 - $8,800/yearSelf-hosted GlitchTip ingests millions of events with zero dropped exceptions or overage charges.
High-Volume Multi-Tenant Platform
25,000,000+ events/month, distributed microservices, uptime monitoring
$2,200 - $6,500+/month (Sentry Enterprise custom contract)€64.00/month (Dedicated Hetzner AX42 8-core AMD, 64GB DDR5)$25,000 - $77,000+/yearDedicated NVMe storage handles continuous exception bursts during critical production incidents.

Top 3 Recommended Open-Source Replacements

Tested, self-contained, and production-ready. Click any tool to inspect verified docker-compose configurations, hardware sizing, and deployment guides.

GlitchTip

MIT⭐ 4.8k+

Simple, open-source, Sentry-compatible error tracking and uptime monitoring that runs in under 1GB of RAM.

Min RAM1 GB
Min CPU1 vCPU
GitHub Repo ↗

✅ Advantages

  • Seamless drop-in replacement for Sentry: just swap the DSN URL
  • Super lightweight compared to official Sentry on-premise (which needs 16GB+ RAM)
  • 100% open-source under MIT license with zero quota limits

⚠️ Trade-offs / Limitations

  • Fewer complex AI autofix features than proprietary Sentry SaaS
  • Basic performance transaction metrics compared to full distributed APM

Core Features

▸100% compatible with all standard Sentry client libraries and SDKs
▸Real-time error aggregation, stack traces, breadcrumbs, and user context
▸Built-in HTTP uptime monitoring and SSL expiration alerts
▸Slack, Discord, Teams, and Webhook alert integrations
▸Lightweight memory footprint (< 1GB RAM)

Architecture Notes

Written in Python/Django with Celery workers, PostgreSQL database, and Redis cache. Directly consumes Sentry client SDK payloads.

Known Limitations

Does not include full session video replay (can be paired with PostHog or OpenReplay if video replay is required).

Official Documentation ↗
📄 docker-compose.yml
Production Ready
version: '3.8'
services:
  web:
    image: glitchtip/glitchtip:latest
    restart: unless-stopped
    ports:
      - "8000:8000"
    environment:
      - DATABASE_URL=postgres://postgres:glitchtip_secure_pass_2026@postgres:5432/postgres
      - REDIS_URL=redis://redis:6379
      - SECRET_KEY=generate_random_secret_key_32_chars
      - GLITCHTIP_DOMAIN=https://errors.yourdomain.com
      - DEFAULT_FROM_EMAIL=alerts@yourdomain.com
      - EMAIL_URL=smtp://user:pass@smtp.mailgun.org:587
    depends_on:
      - postgres
      - redis
  worker:
    image: glitchtip/glitchtip:latest
    command: ./bin/run-celery-with-beat.sh
    restart: unless-stopped
    environment:
      - DATABASE_URL=postgres://postgres:glitchtip_secure_pass_2026@postgres:5432/postgres
      - REDIS_URL=redis://redis:6379
      - SECRET_KEY=generate_random_secret_key_32_chars
      - GLITCHTIP_DOMAIN=https://errors.yourdomain.com
    depends_on:
      - postgres
      - redis
  postgres:
    image: postgres:16-alpine
    restart: unless-stopped
    environment:
      - POSTGRES_PASSWORD=glitchtip_secure_pass_2026
    volumes:
      - glitchtip_pg_data:/var/lib/postgresql/data
  redis:
    image: redis:7-alpine
    restart: unless-stopped
volumes:
  glitchtip_pg_data:

🚀 5-Minute Deployment Guide

  1. 1Spin up a 2GB RAM VPS on Hetzner Cloud (€3.79/mo) with Ubuntu 24.04.
  2. 2Install Docker and Docker Compose plugin.
  3. 3Save the docker-compose.yml file and generate `SECRET_KEY` with `openssl rand -hex 16`.
  4. 4Run migrations and start services: `docker compose run --rm web ./manage.py migrate && docker compose up -d`.
  5. 5Configure Caddy/Nginx reverse proxy for SSL on `https://errors.yourdomain.com`.
  6. 6Create your project in the web console, copy the DSN, and paste it into your app.

Recommended Cloud VPS for GlitchTip

Compare all VPS hosts →
Hetzner Cloud€3.79/mo

CX22 (2 vCPU, 4GB RAM, 40GB NVMe)

Ultra-reliable hosting for millions of error events.

Deploy on Hetzner →

SigNoz

Apache-2.0⭐ 18.9k+

Open-source APM, exception tracking, distributed tracing, and logs powered by ClickHouse and OpenTelemetry.

Min RAM4 GB
Min CPU2 vCPU
GitHub Repo ↗

✅ Advantages

  • Correlates exceptions with the exact distributed trace and SQL queries that caused them
  • Uses CNCF OpenTelemetry standards with no proprietary agent lock-in
  • Fast ClickHouse queries with 10x compression over uncompressed JSON logs

⚠️ Trade-offs / Limitations

  • Requires 4GB to 8GB RAM for smooth production operations
  • Requires OpenTelemetry instrumentation rather than drop-in Sentry DSN URLs

Core Features

▸Exception monitoring integrated directly with distributed trace flamegraphs
▸OpenTelemetry native: capture errors across Node.js, Python, Java, Go, Ruby, and PHP
▸ClickHouse columnar storage delivers sub-second filtering across millions of errors
▸Unified traces, metrics, logs, and exception dashboards
▸Threshold and anomaly alerts to Slack, Discord, PagerDuty, and Webhooks

Architecture Notes

OpenTelemetry Collector handles OTLP error payloads and traces, persisting columnar records directly into ClickHouse. Includes an exception tracking UI with stack traces, breadcrumbs, and span metrics.

Known Limitations

Higher memory requirements than GlitchTip (needs 4GB RAM minimum for ClickHouse and collector).

Official Documentation ↗
📄 docker-compose.yml
Production Ready
version: '3.8'
services:
  clickhouse:
    image: clickhouse/clickhouse-server:24.3-alpine
    restart: unless-stopped
    volumes:
      - clickhouse_data:/var/lib/clickhouse
  signoz-otel-collector:
    image: signoz/signoz-otel-collector:latest
    restart: unless-stopped
    command: ["--config=/etc/otel-collector-config.yaml"]
    ports:
      - "4317:4317" # OTLP gRPC
      - "4318:4318" # OTLP HTTP
    depends_on:
      - clickhouse
  signoz-frontend:
    image: signoz/frontend:latest
    restart: unless-stopped
    ports:
      - "3301:3301"
    depends_on:
      - clickhouse
volumes:
  clickhouse_data:

🚀 5-Minute Deployment Guide

  1. 1Spin up a CPX31 VPS on Hetzner Cloud (4 vCPU, 8GB RAM) for €14.28/mo.
  2. 2Install Docker and Docker Compose plugin on Ubuntu 24.04.
  3. 3Clone the official SigNoz repo: git clone -b main https://github.com/SigNoz/signoz.git && cd signoz/deploy.
  4. 4Execute the install script: ./install.sh.
  5. 5Configure Caddy or Nginx reverse proxy with SSL for port 3301.
  6. 6Point your application OpenTelemetry SDK exporter to your server endpoint.

Recommended Cloud VPS for SigNoz

Compare all VPS hosts →
Hetzner Cloud€14.28/mo

CPX31 (4 vCPU, 8GB RAM, 160GB NVMe)

Balanced CPU and fast NVMe storage for ClickHouse time-series workloads.

Deploy on Hetzner →

Highlight.io

Apache-2.0⭐ 6.5k+

Fullstack monitoring platform with error tracking, session replays, and OpenTelemetry logging.

Min RAM4 GB
Min CPU2 vCPU
GitHub Repo ↗

✅ Advantages

  • Combines Sentry-style error tracking with LogRocket-style session replay
  • Self-hosted privacy: user session recordings stay entirely on your private server
  • Modern UI with deep source map integration for frontend and backend frameworks

⚠️ Trade-offs / Limitations

  • Session recordings require careful disk capacity planning
  • Heavier resource footprint than single-binary tools

Core Features

▸Fullstack error tracking with source maps, stack traces, and network logs
▸Integrated session replay: watch exact user actions leading up to an exception
▸OpenTelemetry log stream aggregation with search and live tail
▸Automated alert routing to Slack, Discord, and Webhooks

Architecture Notes

React frontend, Go backend collectors, ClickHouse time-series datastore, and Redis message queues for high-volume session and error ingestion.

Known Limitations

Session replay video chunks consume substantial disk storage over time; configure aggressive retention periods (e.g. 14 days).

Official Documentation ↗
📄 docker-compose.yml
Production Ready
version: '3.8'
services:
  highlight:
    image: highlight/highlight-backend:latest
    restart: unless-stopped
    ports:
      - "8082:8082"
    environment:
      - CLICKHOUSE_ADDRESS=clickhouse:9000
      - REDIS_EVENTS_URL=redis://redis:6379
    depends_on:
      - clickhouse
      - redis
  clickhouse:
    image: clickhouse/clickhouse-server:24.3-alpine
    volumes:
      - hl_clickhouse:/var/lib/clickhouse
  redis:
    image: redis:7-alpine
volumes:
  hl_clickhouse:

🚀 5-Minute Deployment Guide

  1. 1Deploy a Hetzner CPX31 VPS (4 vCPU, 8GB RAM) with Ubuntu 24.04.
  2. 2Install Docker Engine and Docker Compose.
  3. 3Download Highlight self-hosted setup script: curl -fsSL https://highlight.io/install.sh | bash.
  4. 4Follow CLI prompts to set up admin credentials and local domain bindings.
  5. 5Install @highlight-run/node or @highlight-run/react SDKs in your codebase.

Recommended Cloud VPS for Highlight.io

Compare all VPS hosts →
Hetzner Cloud€14.28/mo

CPX31 (4 vCPU, 8GB RAM, 160GB NVMe)

Ideal memory and NVMe disk performance for ClickHouse & session logs.

Deploy on Hetzner →

Quick Specification Matrix

ToolLicenseMin RAMMin CPUGitHub RepoPrimary Advantage
Sentry Error Tracking (Proprietary)Proprietary ClosedManaged CloudManaged CloudN/ATurnkey onboarding with vendor lock-in & paywalls
GlitchTipMIT1 GB1 vCPUglitchtip/glitchtipSeamless drop-in replacement for Sentry: just swap the DSN URL
SigNozApache-2.04 GB2 vCPUsignoz/signozCorrelates exceptions with the exact distributed trace and SQL queries that caused them
Highlight.ioApache-2.04 GB2 vCPUhighlight/highlightCombines Sentry-style error tracking with LogRocket-style session replay

Performance Benchmarks & Hard Operational Limits

Real-world operational trade-offs, resource consumption limits, and measured throughput.

Benchmark MetricSentry Error Tracking BaselineSelf-Hosted Alternative MetricOperational Bottleneck / LimitSource
Sentry SDK Ingestion Compatibility100% (Native Sentry DSN)100% compatible with all official `@sentry/*` client SDKsStandard Sentry DSN endpoint format (`https://key@host/id`).GlitchTip Documentation
Event Ingestion ThroughputMeters and drops events exceeding contracted quota1,500 - 5,000 error events/sec on a single 4 vCPU nodePostgreSQL batch write throughput and Redis Celery queue.Production Test
RAM Footprint (Base Daemon)N/A (Managed Cloud)450MB - 850MB RAM (GlitchTip + PostgreSQL + Redis)High contrast with official Sentry on-premise (16GB+ RAM required).Production Test

Frequently Asked Questions

Practical deployment, migration, and maintenance answers.

Can I use official Sentry client SDKs with GlitchTip?▾

Yes. GlitchTip implements the open Sentry API specifications. You do not need to change any client code — simply initialize the standard `@sentry/browser`, `@sentry/node`, Sentry Python, or Sentry Go SDK and set the `dsn` string to your GlitchTip project endpoint.

Why use GlitchTip instead of self-hosting official Sentry on-premise?▾

Official Sentry on-premise requires 16GB - 32GB RAM and runs 20+ heavy microservices (Kafka, ClickHouse, Zookeeper, Snuba, Relay, Symbolicator). GlitchTip is engineered to be lightweight, running in under 1GB RAM on a $4/mo VPS with simple PostgreSQL persistence.

How do alert notifications (Slack, Discord, Email, Webhooks) work?▾

GlitchTip includes built-in alert rule channels. You can configure it to post formatted alerts to Slack channels, Discord webhooks, Microsoft Teams, or send emails immediately when new exceptions or error spikes occur.

Does GlitchTip support uptime monitoring and performance tracking?▾

Yes. GlitchTip includes built-in Uptime Monitoring (HTTP ping checks with SSL certificate expiry alerts) as well as performance transaction tracking alongside error stack traces.

How do I manage database disk space from high-volume error bursts?▾

GlitchTip includes an automated data retention cleanup job (`./bin/run-celery-with-beat.sh`) that automatically purges error events older than a configurable threshold (e.g. 30 or 90 days) to keep PostgreSQL storage lean.

Starter Stack Pack — $29

Skip the setup: get the production-ready stack

Don't stitch together configs from five different READMEs. Get all 5 production-hardened Docker Compose stacks — Postgres, Redis, SSL auto-renewal, and backup scripts — ready to deploy in minutes.

⚡n8nVisual workflow automation
📊UmamiPrivacy-first web analytics
🛡️Uptime KumaUptime monitoring & alerts
🔐VaultwardenBitwarden-compatible vault
☁️NextcloudDropbox/Drive replacement
Get the Stack Pack — $29 →

One-time purchase · Instant download · Production-ready

esc
↑↓ navigate↵ open