diff --git a/src/routes/root.rs b/src/routes/root.rs
index 52a99d816d6f3d516efe4623fa097f82434e97f3..a00b1193491a5123d624e1c131cbeb53d361abaa 100644
--- a/src/routes/root.rs
+++ b/src/routes/root.rs
@@ -1,4 +1,4 @@
-use crate::util::variables::{DISABLE_REGISTRATION, HCAPTCHA_SITEKEY, USE_EMAIL, USE_HCAPTCHA};
+use crate::util::variables::{DISABLE_REGISTRATION, HCAPTCHA_SITEKEY, USE_EMAIL, USE_HCAPTCHA, EXTERNAL_WS_URL};
 
 use mongodb::bson::doc;
 use rocket_contrib::json::JsonValue;
@@ -14,6 +14,7 @@ pub async fn root() -> JsonValue {
                 "key": HCAPTCHA_SITEKEY.to_string()
             },
             "email": *USE_EMAIL,
-        }
+        },
+        "ws": *EXTERNAL_WS_URL,
     })
 }
diff --git a/src/util/variables.rs b/src/util/variables.rs
index 682e0326c4a27834ef991875ac9da4086bbdee04..282698402ed71f5bf45c7dbb5ee7433f871210b0 100644
--- a/src/util/variables.rs
+++ b/src/util/variables.rs
@@ -9,6 +9,8 @@ lazy_static! {
         env::var("REVOLT_MONGO_URI").expect("Missing REVOLT_MONGO_URI environment variable.");
     pub static ref PUBLIC_URL: String =
         env::var("REVOLT_PUBLIC_URL").expect("Missing REVOLT_PUBLIC_URL environment variable.");
+    pub static ref EXTERNAL_WS_URL: String =
+        env::var("REVOLT_EXTERNAL_WS_URL").expect("Missing REVOLT_EXTERNAL_WS_URL environment variable.");
     pub static ref HCAPTCHA_KEY: String =
         env::var("REVOLT_HCAPTCHA_KEY").unwrap_or_else(|_| "0x0000000000000000000000000000000000000000".to_string());
     pub static ref HCAPTCHA_SITEKEY: String =