0.12.0
Compatibility
| Pairs with | Redis Streams Buffer |
| Product | Notiway Notify |
Installation
Environment Variables
| Variable | Required | Default | Description |
|---|---|---|---|
Infra__Plugins__Broker__Name | Yes | — | Set to RedisPubSub |
Infra__Plugins__Broker__Version | Yes | — | Plugin version (e.g., 0.12.0) |
Infra__Plugins__Broker__Config__ConnectionString | Yes | — | Redis connection string (e.g., localhost:6379) |
Infra__Plugins__Broker__Config__Channel | No | notiway | Redis Pub/Sub channel name used for broadcasting notifications |
Infrastructure
- Running Redis instance — v5.0+ recommended (required if pairing with Redis Streams Buffer).
- No additional setup needed — Pub/Sub channels are created automatically when the first message is published.
Docker Compose
docker-compose.yml
services:
notiway:
image: notiway/notify:portable-0.6.0
ports:
- "5000:8080"
environment:
- Infra__Plugins__Broker__Name=RedisPubSub
- Infra__Plugins__Broker__Version=0.12.0
- Infra__Plugins__Broker__Config__ConnectionString=redis:6379
- Infra__Plugins__Broker__Config__Channel=notiway
redis:
image: redis:7-alpine
ports:
- "6379:6379"Usage
Publish notifications to the Redis channel from your backend. The message body must be the notification JSON.
var redis = ConnectionMultiplexer.Connect("localhost:6379");
var subscriber = redis.GetSubscriber();
await subscriber.PublishAsync("notiway", JsonSerializer.Serialize(notification));const Redis = require("ioredis");
const redis = new Redis();
await redis.publish("notiway", JSON.stringify(notification));import redis, json
r = redis.Redis()
r.publish("notiway", json.dumps(notification))JedisPool pool = new JedisPool("localhost", 6379);
try (Jedis jedis = pool.getResource()) {
jedis.publish("notiway", objectMapper.writeValueAsString(notification));
}#include <sw/redis++/redis++.h>
auto redis = sw::redis::Redis("tcp://localhost:6379");
redis.publish("notiway", /* serialize notification as JSON */);