Skip to main content

How to Migrate from Sentry to GlitchTip

·OSSAlt Team
sentryglitchtipmigrationerror trackingguide

How to Migrate from Sentry to GlitchTip

GlitchTip is Sentry SDK-compatible — meaning the migration is as simple as changing a DSN URL. Same SDKs, same code, just a different backend. Here's the full guide.

Why GlitchTip?

  • Sentry SDK compatible — zero application code changes
  • 1-2 GB RAM vs Sentry's 8-16 GB
  • 3 containers vs Sentry's 20+
  • MIT license — vs Sentry's BSL
  • $5/month VPS vs $26-80+/month Sentry plans

Step 1: Deploy GlitchTip

# docker-compose.yml
version: "3.8"
services:
  web:
    image: glitchtip/glitchtip
    ports:
      - "8000:8000"
    environment:
      DATABASE_URL: postgresql://postgres:secret@db/glitchtip
      SECRET_KEY: your-secret-key-here
      GLITCHTIP_DOMAIN: https://errors.yourdomain.com
      DEFAULT_FROM_EMAIL: errors@yourdomain.com
      EMAIL_URL: smtp://user:pass@smtp.example.com:587
    depends_on:
      - db
      - redis

  worker:
    image: glitchtip/glitchtip
    command: ./bin/run-celery-with-beat.sh
    environment:
      DATABASE_URL: postgresql://postgres:secret@db/glitchtip
      SECRET_KEY: your-secret-key-here
    depends_on:
      - db
      - redis

  db:
    image: postgres:15
    environment:
      POSTGRES_DB: glitchtip
      POSTGRES_PASSWORD: secret
    volumes:
      - pg-data:/var/lib/postgresql/data

  redis:
    image: redis
docker compose up -d

Step 2: Create Project in GlitchTip

  1. Open https://errors.yourdomain.com
  2. Create an account
  3. Create an Organization
  4. Create a Project (select your platform: JavaScript, Python, etc.)
  5. Copy the DSN

Step 3: Update Your Application

The entire migration is changing one line — the DSN:

Python:

import sentry_sdk

sentry_sdk.init(
    dsn="https://key@errors.yourdomain.com/1",  # ← Just change this
    traces_sample_rate=0.1,
)

JavaScript:

import * as Sentry from "@sentry/browser";

Sentry.init({
  dsn: "https://key@errors.yourdomain.com/1",  // ← Just change this
  tracesSampleRate: 0.1,
});

Node.js:

const Sentry = require("@sentry/node");

Sentry.init({
  dsn: "https://key@errors.yourdomain.com/1",  // ← Just change this
});

That's it. Same Sentry SDK. Same initialization. Same error capture. Just a different DSN.

Step 4: Verify

  1. Trigger a test error in your application
  2. Check GlitchTip dashboard — the error should appear
  3. Verify stack traces render correctly
  4. Verify source maps work (upload them to GlitchTip)

Step 5: Upload Source Maps (JavaScript)

# Install Sentry CLI (works with GlitchTip)
npm install -g @sentry/cli

# Upload source maps
sentry-cli --url https://errors.yourdomain.com \
  releases files YOUR_RELEASE \
  upload-sourcemaps ./dist \
  --auth-token YOUR_GLITCHTIP_TOKEN

What Works

  • ✅ Error capture and grouping
  • ✅ Stack traces
  • ✅ Source maps
  • ✅ Breadcrumbs
  • ✅ User context
  • ✅ Tags and extra data
  • ✅ Release tracking
  • ✅ Basic performance monitoring
  • ✅ Email alerts

What You'll Lose

  • ❌ Session replay
  • ❌ Profiling
  • ❌ Cron monitoring
  • ❌ Advanced issue grouping (AI-enhanced)
  • ❌ Slack/Jira/GitHub integrations (webhooks only)
  • ❌ Advanced dashboards

Cost Comparison

PlanSentryGlitchTip Self-Hosted
DeveloperFree (5K errors)Free (unlimited)
Team$26/month$5/month (VPS)
Business$80/month$10/month (VPS)
EnterpriseCustom$20/month (VPS)

Migration Timeline

TimeTask
30 minDeploy GlitchTip
5 minCreate project, get DSN
5 minChange DSN in your app
15 minDeploy app, verify errors appear
Total: ~1 hour

This is one of the easiest migrations in the OSS world. Same SDKs, change one line, done.


Compare error tracking tools on OSSAlt — features, resource requirements, and pricing side by side.