Files
2026-06-09 18:40:21 +02:00

6.1 KiB


title: GlitchTip created: 2026-06-07 updated: 2026-06-07 type: app tags: [catalogue, development, monitoring, error-tracking, sentry-alternative] confidence: high contested: false sources: [https://selfh.st/apps/?tag=Development, https://github.com/GlitchTip/glitchtip-backend]

💻 GlitchTip

Le fork open source de Sentry — capture d'exceptions, performance monitoring et session replay sans la lourdeur ni la licence FSL, compatible avec le SDK Sentry existant.

📋 Informations Générales

Champ Valeur
Site web glitchtip.com
GitHub GlitchTip/glitchtip-backend
License MIT
Langage Python (Django) + Vue.js (frontend)
Étoiles GitHub 347
Catégorie Development, Error Tracking
Référence selfh.st Development

📝 Description

GlitchTip est un fork open source de Sentry créé en 2019 par Burhan Khalid, lorsque Sentry a basculé une partie de son code sous licence FSL (Functional Source License) non-OSI. GlitchTip reprend l'essentiel des fonctionnalités Sentry (capture d'exceptions, performance, source maps, releases, alertes) sous licence MIT, sans module Enterprise piégé.

Le projet se distingue par sa compatibilité API totale avec Sentry : le DSN, le SDK (Python, Node, Java, Go, Ruby, PHP, .NET, Flutter…), les source maps, les sentry-cli releases, tout fonctionne sans modification côté application. Migrer de Sentry vers GlitchTip revient à changer l'URL du DSN — c'est un argument de poids pour quiconque veut quitter Sentry cloud ou self-hosted sans réinstrumenter son code.

L'architecture est plus simple que Sentry : Django + Celery + PostgreSQL + Redis (pas de Kafka, pas de ClickHouse, pas de Snuba). Conséquence : 2 Go de RAM suffisent pour un projet moyen, contre 8+ Go pour Sentry. En contrepartie, on perd certaines features Sentry (session replay, profiling continu, certaines intégrations tierces) et la compatibilité est excellente mais pas à 100 %.

Public cible : équipes qui trouvent Sentry self-hosted trop lourd ou trop cher, qui veulent une vraie licence open source, qui acceptent un sous-ensemble de fonctionnalités Sentry en échange d'un déploiement simple.

🚀 Installation

Via Docker (recommandé)

# docker-compose.yml
version: '3.8'
services:
  postgres:
    image: postgres:15-alpine
    restart: unless-stopped
    environment:
      POSTGRES_DB: glitchtip
      POSTGRES_USER: glitchtip
      POSTGRES_PASSWORD: ***changeme***
    volumes:
      - pg_data:/var/lib/postgresql/data

  redis:
    image: redis:7-alpine
    restart: unless-stopped

  glitchtip:
    image: glitchtip/glitchtip:latest
    container_name: glitchtip
    restart: unless-stopped
    ports:
      - "8000:8000"
    environment:
      DATABASE_URL: "postgresql://glitchtip:***changeme***@postgres:5432/glitchtip"
      REDIS_URL: "redis://redis:6379/0"
      SECRET_KEY: "openssl-rand-hex-50"
      GLITCHTIP_DOMAIN: "https://glitchtip.example.com"
      EMAIL_HOST: "smtp.example.com"
      EMAIL_PORT: 587
      EMAIL_HOST_USER: "noreply@example.com"
      EMAIL_HOST_PASSWORD: "***"
      EMAIL_USE_TLS: "true"
      DEFAULT_FROM_EMAIL: "noreply@example.com"
    depends_on: [postgres, redis]
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.glitchtip.rule=Host(`glitchtip.example.com`)"
      - "traefik.http.routers.glitchtip.entrypoints=websecure"
      - "traefik.http.routers.glitchtip.tls.certresolver=letsencrypt"

volumes:
  pg_data:

Installation manuelle

git clone https://github.com/GlitchTip/glitchtip-backend.git
cd glitchtip-backend
pip install -e .
export DATABASE_URL=postgresql://glitchtip:***@localhost/glitchtip
export REDIS_URL=redis://localhost:6379/0
glitchtip migrate
glitchtip runserver

⚙️ Configuration

  1. Premier admin : créer un superuser via glitchtip createsuperuser ou via la console web.
  2. Créer un projet : récupérer le DSN au format https://<key>@glitchtip.example.com/<project_id>.
  3. Intégrer le SDK Sentry (même SDK !) en changeant uniquement le DSN — c'est l'intérêt principal.
  4. Alertes email : configurer EMAIL_HOST et DEFAULT_FROM_EMAIL dans l'env.
  5. Source maps : uploader via sentry-cli releases (CLI officielle Sentry, compatible).

🔗 Alternatives

  • Sentry — La référence, FSL sur certains modules, self-hosted lourd (8 Go RAM min).
  • Bugsink — Plus léger que GlitchTip, SQLite par défaut, parfait pour petits volumes.
  • Highlight.io — Error tracking + session replay, plus moderne, cloud-first.
  • Errbit — Error tracker Ruby historique, plus vraiment maintenu.
  • SigNoz — APM complet (traces + errors + metrics), basé sur OpenTelemetry.

🔒 Sécurité

  • 🔐 HTTPS obligatoire via app-traefik : les DSN et payloads d'erreur transitent en clair sinon.
  • 🔒 SECRET_KEY robuste : openssl rand -hex 50 minimum, sauvegarder hors-ligne.
  • 🛡️ Scrubbing PII : configurer before_send côté SDK pour filtrer emails, mots de passe, numéros de carte.
  • 🛡️ DSN traité comme un secret en écriture : ne pas exposer publiquement même s'il est « read-only ».
  • 🛡️ Backups PostgreSQL quotidiens + archivage des volumes pg_data (état complet).
  • 🛡️ Rétention : 30/90 j suffit en général, important pour RGPD.

📚 Ressources

🔗 Pages Liées