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

4.1 KiB


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
GitHub hook0/hook0
License MIT
Langage Rust
Étoiles GitHub 0.5k
Catégorie [[cat-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é)

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

Pages Liées