Initial vault setup

This commit is contained in:
2026-06-09 18:40:21 +02:00
commit bda02d587f
3692 changed files with 402457 additions and 0 deletions
+149
View File
@@ -0,0 +1,149 @@
---
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