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

# 💻 Bugsink

> **L'alternative Sentry self-hosted, légère et respectueuse** : capturez vos erreurs applicatives sans la lourdeur de Sentry, compatible avec le SDK Sentry existant, et conçu pour les petits volumes comme pour la production.

## 📋 Informations Générales

| Champ | Valeur |
| :--- | :--- |
| **Site web** | [bugsink.com](https://www.bugsink.com/) |
| **GitHub** | [bugsink/bugsink](https://github.com/bugsink/bugsink) |
| **License** | MIT |
| **Langage** | Python (Django) |
| **Étoiles GitHub** | 1,9k ⭐ |
| **Dernière MAJ** | 2026-06-07 |
| **Catégorie** | [[cat-monitoring\|Monitoring]], Error Tracking (alternative Sentry) |

## 📝 Description

**Bugsink** est un **error tracker self-hosted écrit en Python/Django**, conçu par **Simon Willison** (créateur de Django co-founder, *Datasette*) comme une **alternative plus simple, plus légère, et 100% open source à Sentry**. Le pari : offrir **un sous-ensemble des fonctionnalités Sentry** (capture d'exceptions, alertes, groupement) **sans la complexité** d'un stack à 15 services (PostgreSQL, Redis, Kafka, ClickHouse, Snuba…).

Concrètement, Bugsink **utilise SQLite par défaut** (un seul fichier !), est **compatible avec le SDK Sentry** (envelope endpoint, source maps), et reste **performant jusqu'à plusieurs millions d'événements** grâce à un schéma de données soigneusement optimisé. L'interface est volontairement **épurée et lisible** : on voit immédiatement les nouveaux événements, les issues groupées, les tendances.

Pour les équipes qui ont trouvé **Sentry self-hosted trop lourd** (l'image Docker officielle fait 1+ Go, 8 Go de RAM recommandés) ou **GlitchTip pas assez complet**, Bugsink représente un excellent compromis : **simple à déployer, complet sur l'essentiel, et vraiment open source** (MIT, pas de FSL).

**Public cible** : **développeurs solos, petites équipes, indie hackers, projets personnels** qui veulent un error tracker qui *juste marche*, sans Datadog.

### Fonctionnalités principales

- ✅ **Compatibilité SDK Sentry** : les apps existantes migrent en 1 ligne (changement de DSN)
- ✅ **Groupement intelligent** : fingerprints, similarité, déduplication
- ✅ **Source maps** : débuggage code minifié JS
- ✅ **Release tracking** : corrélation avec déploiements
- ✅ **Alertes email** : nouveaux problèmes, pics d'erreurs
- ✅ **Interface Django admin** custom, sobre et rapide
- ✅ **SQLite par défaut** : zéro-setup, idéal pour démarrer
- ✅ **PostgreSQL/MySQL** : supporté pour les gros volumes
- ✅ **API REST** : ingestion, listing, management
- ✅ **Multi-projets** : séparés par tag `project`
- ✅ **Retention configurable** : 30j, 90j, 1an
- ✅ **Pas de vendor lock-in** : export des données en JSON/CSV

## 🚀 Installation

### Via Docker (recommandé)

```yaml
# docker-compose.yml
version: '3.8'
services:
  bugsink:
    image: bugsink/bugsink:latest
    container_name: bugsink
    restart: unless-stopped
    ports:
      - "8000:8000"
    environment:
      DEBUG: "false"
      SECRET_KEY: "changez-moi-en-production-50-chars-random"
      ALLOWED_HOSTS: "bugsink.example.com"
      DATABASE_URL: "sqlite:////data/bugsink.db"
      SINGLE_USER: "admin@example.com"
    volumes:
      - bugsink_data:/data
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.bugsink.rule=Host(`bugsink.example.com`)"
      - "traefik.http.routers.bugsink.entrypoints=websecure"
      - "traefik.http.routers.bugsink.tls.certresolver=letsencrypt"

volumes:
  bugsink_data:
```

### Via pip

```bash
pip install bugsink
bugsink migrate
bugsink runserver
```

### Installation manuelle

```bash
git clone https://github.com/bugsink/bugsink.git
cd bugsink
pip install -e .
python manage.py migrate
python manage.py runserver
```

## ⚙️ Configuration

1. **Créer le compte admin** : `python manage.py createsuperuser` ou via `SINGLE_USER`
2. **Créer un projet** : admin > Projects > New (récupère le **DSN**)
3. **Intégrer le SDK** dans votre app (le DSN Bugsink est **compatible Sentry**) :
   ```python
   import sentry_sdk
   sentry_sdk.init(dsn="https://<key>@bugsink.example.com/<project>")
   ```
4. **Configurer les alertes** : Settings > Alerts > email destinataires
5. **Source maps** : uploader via `sentry-cli releases` (même CLI que Sentry)
6. **Retention** : `BUGSINK_RETENTION_DAYS=90` dans l'env

## 🔗 Alternatives

- **Sentry** — Standard du marché, mais self-hosted lourd (FSL, 8 Go RAM min)
- **GlitchTip** — Clone Sentry en Python/Django, plus complet que Bugsink
- **Errbit** — Error tracker Ruby historique, plus maintenu
- **Highlight.io** — Error tracking + session replay, commercial
- **Posthog** — Module error tracking intégré (avec analytics produit)
- **SigNoz** — APM complet (traces + errors + metrics), plus large que Bugsink

## 🔒 Sécurité

- **🔐 SECRET_KEY robuste** : `openssl rand -hex 50` minimum
- **🛡️ HTTPS obligatoire via [[app-traefik]]** : les DSN et payloads d'erreur transitent en clair sinon
- **🔒 DSN en secret** : ne pas exposer publiquement (même s'il est en lecture seule, c'est un canal d'écriture)
- **🛡️ Scrubbing PII** : configurer `before_send` côté SDK pour filtrer emails, mots de passe
- **🛡️ Rétention** : définir une durée de rétention raisonnable (90j suffit en général, RGPD)
- **🛡️ Auth admin** : activer 2FA pour le compte admin

## 📚 Ressources

- [Site officiel](https://www.bugsink.com/)
- [Documentation](https://www.bugsink.com/docs/)
- [GitHub bugsink/bugsink](https://github.com/bugsink/bugsink)
- [Blog de Simon Willison](https://simonwillison.net/tags/bugsink/)
- [Comparaison Sentry/Bugsink](https://www.bugsink.com/sentry-alternative/)

## 🔗 Pages Liées

- [[cat-monitoring]] — Catégorie Monitoring
- [[app-sentry]] — Référence du marché (alternative plus complète, plus lourde)
- [[app-glitchtip]] — Clone Sentry Python (entre Sentry et Bugsink)
- [[app-traefik]] — Reverse proxy HTTPS
- [[securisation-home-lab]] — Bonnes pratiques
- [[recettes-docker-compose]] — Templates Docker
