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
- Open
https://errors.yourdomain.com - Create an account
- Create an Organization
- Create a Project (select your platform: JavaScript, Python, etc.)
- 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
- Trigger a test error in your application
- Check GlitchTip dashboard — the error should appear
- Verify stack traces render correctly
- 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
| Plan | Sentry | GlitchTip Self-Hosted |
|---|---|---|
| Developer | Free (5K errors) | Free (unlimited) |
| Team | $26/month | $5/month (VPS) |
| Business | $80/month | $10/month (VPS) |
| Enterprise | Custom | $20/month (VPS) |
Migration Timeline
| Time | Task |
|---|---|
| 30 min | Deploy GlitchTip |
| 5 min | Create project, get DSN |
| 5 min | Change DSN in your app |
| 15 min | Deploy 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.