6.3 KiB
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 |
| GitHub | bugsink/bugsink |
| License | MIT |
| Langage | Python (Django) |
| Étoiles GitHub | 1,9k ⭐ |
| Dernière MAJ | 2026-06-07 |
| Catégorie | cat-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é)
# 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
pip install bugsink
bugsink migrate
bugsink runserver
Installation manuelle
git clone https://github.com/bugsink/bugsink.git
cd bugsink
pip install -e .
python manage.py migrate
python manage.py runserver
⚙️ Configuration
- Créer le compte admin :
python manage.py createsuperuserou viaSINGLE_USER - Créer un projet : admin > Projects > New (récupère le DSN)
- Intégrer le SDK dans votre app (le DSN Bugsink est compatible Sentry) :
import sentry_sdk sentry_sdk.init(dsn="https://<key>@bugsink.example.com/<project>") - Configurer les alertes : Settings > Alerts > email destinataires
- Source maps : uploader via
sentry-cli releases(même CLI que Sentry) - Retention :
BUGSINK_RETENTION_DAYS=90dans 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 50minimum - 🛡️ 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_sendcô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
- Documentation
- GitHub bugsink/bugsink
- Blog de Simon Willison
- Comparaison Sentry/Bugsink
🔗 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