132 lines
4.1 KiB
Markdown
132 lines
4.1 KiB
Markdown
---
|
|
title: Hook0
|
|
created: 2026-06-08
|
|
updated: 2026-06-08
|
|
type: app
|
|
tags: [catalogue, webhooks, events, integration, rust, app-marathon3-rattrapage-a]
|
|
confidence: high
|
|
contested: false
|
|
sources: [https://selfh.st/apps/?tag=Webhooks, https://hook0.com/]
|
|
---
|
|
|
|
# 🪝 Hook0
|
|
|
|
> **Webhook-as-a-Service open source** : récepteur de webhooks multi-source, gestion d'abonnements, retries, signature HMAC, et logs d'événements.
|
|
|
|
## 📋 Informations Générales
|
|
|
|
| Champ | Valeur |
|
|
| :--- | :--- |
|
|
| **Site web** | [hook0.com](https://hook0.com) |
|
|
| **GitHub** | [hook0/hook0](https://github.com/hook0/hook0) |
|
|
| **License** | MIT |
|
|
| **Langage** | Rust |
|
|
| **Étoiles GitHub** | 0.5k ⭐ |
|
|
| **Catégorie** | [[cat-webhooks|Webhooks]] |
|
|
|
|
## 📝 Description
|
|
|
|
**Hook0** est un projet français (Tindalos, 2022) qui propose une **plateforme de gestion de webhooks** open source. Il sépare la production d'événements (vos services) de leur consommation (vos intégrations), avec gestion des retries et des erreurs.
|
|
|
|
Fonctionnalités :
|
|
- ✅ **Abonnements aux webhooks** : par service et type d'événement
|
|
- ✅ **Signature HMAC** : vérification d'intégrité
|
|
- ✅ **Retries automatiques** : backoff exponentiel
|
|
- ✅ **Logs d'événements** : tous les deliveries
|
|
- ✅ **Dashboard web** : monitoring temps réel
|
|
- ✅ **API REST** : intégration programmatique
|
|
- ✅ **OIDC** : support authentification
|
|
- ✅ **Multi-tenant** : séparation par organisation
|
|
- ✅ **TypeScript SDK** : émetteur de webhooks
|
|
- ✅ **Haute performance** : backend Rust
|
|
|
|
**Différence vs solutions custom** : Hook0 = solution prête à l'emploi, pas besoin de coder l'orchestration, retries, signature, logs. Une seule brique à maintenir.
|
|
|
|
**Pour qui** : équipes SaaS qui envoient des webhooks à leurs clients, plateformes d'intégration, projets qui consomment des webhooks tiers en grand nombre.
|
|
|
|
## 🚀 Installation
|
|
|
|
### Docker Compose (recommandé)
|
|
|
|
```yaml
|
|
version: '3.8'
|
|
services:
|
|
hook0:
|
|
image: hook0/hook0:latest
|
|
container_name: hook0
|
|
restart: unless-stopped
|
|
environment:
|
|
- HOOK0_DB_HOST=db
|
|
- HOOK0_DB_NAME=hook0
|
|
- HOOK0_DB_USER=hook0
|
|
- HOOK0_DB_PASSWORD=*** - HOOK0_OIDC_ISSUER=https://authentik.example.com
|
|
- HOOK0_OIDC_CLIENT_ID=hook0
|
|
- HOOK0_OIDC_CLIENT_SECRET=*** - HOOK0_URL=https://hook0.example.com
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.http.routers.hook0.rule=Host(`hook0.example.com`)"
|
|
- "traefik.http.routers.hook0.tls.certresolver=letsencrypt"
|
|
depends_on:
|
|
- db
|
|
|
|
db:
|
|
image: postgres:15-alpine
|
|
container_name: hook0-db
|
|
restart: unless-stopped
|
|
environment:
|
|
- POSTGRES_USER=hook0
|
|
- POSTGRES_PASSWORD=*** - POSTGRES_DB=hook0
|
|
volumes:
|
|
- hook0_db:/var/lib/postgresql/data
|
|
|
|
hook0-worker:
|
|
image: hook0/hook0:latest
|
|
container_name: hook0-worker
|
|
restart: unless-stopped
|
|
command: ["./hook0", "worker"]
|
|
environment:
|
|
- HOOK0_DB_HOST=db
|
|
- HOOK0_DB_NAME=hook0
|
|
- HOOK0_DB_USER=hook0
|
|
- HOOK0_DB_PASSWORD=*** depends_on:
|
|
- db
|
|
|
|
volumes:
|
|
hook0_db:
|
|
```
|
|
|
|
## 🔄 Alternatives
|
|
|
|
### Open Source
|
|
- [[app-webhook]] — récepteur simple
|
|
- [[app-convoy]] — webhooks delivery reliability
|
|
- **Svix** — équivalent commercial open core
|
|
- **Knative Eventing** — plateforme d'événements K8s
|
|
- **NATS** — messaging system
|
|
- **EventCloud** — pub/sub
|
|
|
|
### Propriétaires
|
|
- **Svix Cloud** — hosted commercial
|
|
- **AWS EventBridge** — service AWS
|
|
- **Zapier Webhooks** — no-code
|
|
- **IFTTT** — automatisation grand public
|
|
|
|
## 🔐 Sécurité
|
|
- **Signature HMAC SHA-256** : authentification des payloads
|
|
- **OIDC** : authentification UI et API
|
|
- **Rate limiting** : protection contre flood
|
|
- **HTTPS obligatoire** : TLS pour webhooks
|
|
- **Audit log** : tous les événements tracés
|
|
- **Sandboxing** : validation payloads
|
|
- **Mises à jour Rust** : sécurité mémoire native
|
|
|
|
## 📚 Ressources
|
|
- [Documentation](https://docs.hook0.com/)
|
|
- [GitHub](https://github.com/hook0/hook0)
|
|
- [Démo](https://www.hook0.com/)
|
|
|
|
## Pages Liées
|
|
- [[cat-webhooks]] — Catégorie Webhooks
|
|
- [[app-convoy]] — Delivery reliability
|
|
- [[recettes-docker-compose]] — Templates Docker
|