diff --git a/crates/bonfire/src/websocket.rs b/crates/bonfire/src/websocket.rs index bdada514..c92da23b 100644 --- a/crates/bonfire/src/websocket.rs +++ b/crates/bonfire/src/websocket.rs @@ -218,7 +218,13 @@ async fn listener( kill_signal_r: async_channel::Receiver<()>, write: &Mutex, ) { - let redis_config = RedisConfig::from_url(&REDIS_URI).unwrap(); + let stoat_config = revolt_config::config().await; + let url = stoat_config + .database + .redis_pubsub + .unwrap_or(REDIS_URI.to_string()); + + let redis_config = RedisConfig::from_url(&url).unwrap(); let subscriber = match report_internal_error!( fred::types::Builder::from_config(redis_config).build_subscriber_client() ) { diff --git a/crates/core/config/src/lib.rs b/crates/core/config/src/lib.rs index 35c93b5a..8b68ad4f 100644 --- a/crates/core/config/src/lib.rs +++ b/crates/core/config/src/lib.rs @@ -117,6 +117,7 @@ static CONFIG_BUILDER: Lazy> = Lazy::new(|| { pub struct Database { pub mongodb: String, pub redis: String, + pub redis_pubsub: Option, } #[derive(Deserialize, Debug, Clone)]