28 lines
1.1 KiB
Markdown
28 lines
1.1 KiB
Markdown
# Zulip Bridge
|
|
|
|
Receives webhooks from the cache service and posts door status updates into a Zulip stream.
|
|
|
|
Validates inbound webhooks with a Bearer token, then sends a stream message through the Zulip API using a bot email and API key.
|
|
|
|
## API
|
|
|
|
| Method | Path | Auth | Description |
|
|
|--------|------|------|-------------|
|
|
| `POST` | `/webhook` | Bearer | Status update from the cache service |
|
|
| `GET` | `/health` | - | Health check |
|
|
|
|
## Configuration
|
|
|
|
NixOS options under `services.noisebell-zulip`:
|
|
|
|
| Option | Default | Description |
|
|
|--------|---------|-------------|
|
|
| `domain` | required | Caddy virtual host domain |
|
|
| `zulipUrl` | required | Base URL of the Zulip server |
|
|
| `botEmail` | required | Zulip bot email address |
|
|
| `apiKeyFile` | required | Zulip bot API key file |
|
|
| `stream` | required | Zulip stream for updates |
|
|
| `topic` | `noisebell` | Zulip topic for updates |
|
|
| `imageBaseUrl` | `https://noisebell.extremist.software/image` | Base URL for status image links |
|
|
| `webhookSecretFile` | required | Shared secret with the cache service |
|
|
| `port` | `3003` | Listen port |
|