sluice
a self-hosted inbox for webhooks
0.9.2 · 14 October 2026
11 mb keeps every webhook sent to you.
You get a public URL for your webhooks, and every delivery is stored.
curl -fsSL https://sluice.example/install.sh | sh
0.9.2 forwards each delivery to your local or internal service.
You start it with one command and a single flag.
The flag names the service that should receive your deliveries.
sluice serve --forward http://localhost:3000
Version 0.9.2 was released on 14 October 2026.
72 hours of retries when your service does not answer.
A failed forward is tried again with exponential backoff.
Sluice keeps trying for up to 72 hours.
You can also replay any stored delivery with one command.
sluice replay <delivery-id>
5 minutes is the oldest a delivery can be.
- signature
- HMAC-SHA256, verified
- age
- older than 5 minutes, rejected
30 days of deliveries, kept in a single SQLite file.
There is no Redis, no Postgres and no queue to run.
Deliveries are kept for 30 days unless you change it with --retain.
The web UI on port 8081 lets you search them.
You can search by path, by header or by body text.
1,800 deliveries per second on a 2-vCPU VM.
That number comes from the project's own benchmark.
Sluice ships as one static binary of about 11 MB.
You can run it on Linux, macOS or Windows.
| os | amd64 | arm64 |
|---|---|---|
| Linux | ||
| macOS | ||
| Windows |
41 contributors since a lost weekend in 2023.
Ines Okafor started Sluice in 2023 after losing a weekend of payment webhooks.
It is written in Go and released under the MIT licence.
There is no hosted service, no account and no telemetry.
- maintainer: Ines Okafor
- written in Go
- MIT licence
- 41 contributors