noisebell/remote/zulip-bot
2026-03-23 22:47:21 -07:00
..
src feat: add zulip integration 2026-03-23 22:18:29 -07:00
Cargo.toml feat: add zulip integration 2026-03-23 22:18:29 -07:00
module.nix fix: zulip to use domain and webhooks api properly 2026-03-23 22:47:21 -07:00
README.md feat: add zulip integration 2026-03-23 22:18:29 -07:00

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