diff --git a/modules/caddy/caddyfile.nix b/modules/caddy/caddyfile.nix
index 69fbe2b..243e721 100644
--- a/modules/caddy/caddyfile.nix
+++ b/modules/caddy/caddyfile.nix
@@ -344,12 +344,28 @@
             terminal = true;
           }
           (HTTPFileServerRoute [ "matrix.coded.codes" ] (
-            pkgs.element-web.override {
+            pkgs.schildichat-web.override {
               conf = {
                 default_server_config = lib.pipe ./coded.codes/.well-known/matrix [
                   builtins.readFile
                   builtins.fromJSON
                 ];
+                features = {
+                  feature_report_to_moderators = true;
+                  feature_latex_maths = true;
+                  feature_pinning = true;
+                  feature_mjolnir = true;
+                  feature_presence_in_room_list = true;
+                  feature_custom_themes = true;
+                  feature_dehydration = true;
+                };
+                setting_defaults = {
+                  "fallbackICEServerAllowed" = true;
+                };
+                default_theme = "dark";
+                permalink_prefix = "https://matrix.coded.codes";
+                disable_guests = true;
+                disable_3pid_login = true;
               };
             }
           ))
diff --git a/modules/matrix.nix b/modules/matrix.nix
index 41c4153..d3d46f5 100644
--- a/modules/matrix.nix
+++ b/modules/matrix.nix
@@ -31,9 +31,20 @@
       }];
       enable_metrics = true;
       database.args.database = "synapse";
+      turn_uris = [
+
+        /* "turn:turn.coded.codes:3478?transport=udp"
+        "turn:turn.coded.codes:3478?transport=tcp"
+        "turns:turn.coded.codes:5349?transport=udp"
+        "turns:turn.coded.codes:5349?transport=tcp" */
+      ]; # Please use matrix.org turn
+      # turn_shared_secret = "!!turn_shared_secret!!";
     };
   };
 
+  networking.firewall.allowedTCPPorts = [ 3478 5349 ];
+  networking.firewall.allowedUDPPorts = [ 3478 5349 ];
+
   services.mjolnir = {
     enable = true;
 
@@ -62,7 +73,31 @@
     managementRoom = "#moderation-commands:coded.codes";
   };
 
+  services.coturn = {
+    enable = false;
+
+    use-auth-secret = true;
+    # static-auth-secret-file = config.sops.secrets.turn_shared_secret.path;
+
+    realm = "turn.coded.codes";
+
+    no-tcp-relay = true;
+
+    no-cli = true;
+
+    extraConfig = ''
+      external-ip=turn.coded.codes
+    '';
+  };
+
   sops.secrets = {
+    #turn_shared_secret = {
+    #  mode = "0440";
+    #  owner = "turnserver";
+    #  group = "matrix-synapse";
+    #  sopsFile = ../secrets/matrix.json;
+    #  format = "json";
+    #};
     registration_shared_secret = {
       mode = "0400";
       owner = config.users.users.root.name;
@@ -103,6 +138,8 @@
           source = toString synapse_cfgfile;
           matchers."registration_shared_secret".secret =
             config.sops.secrets.registration_shared_secret.path;
+          # matchers."turn_shared_secret".secret =
+          #   config.sops.secrets.turn_shared_secret.path;
           owner = config.users.users.matrix-synapse.name;
           group = config.users.users.matrix-synapse.group;
           mode = "0400";
