diff --git a/mautrix/util/program.py b/mautrix/util/program.py
index 2fb6b141..00953fd5 100644
--- a/mautrix/util/program.py
+++ b/mautrix/util/program.py
@@ -188,6 +188,7 @@ def start_prometheus(self) -> None:
         try:
             enabled = self.config["metrics.enabled"]
             listen_port = self.config["metrics.listen_port"]
+            addr = self.config.get("metrics.addr", "0.0.0.0")
         except KeyError:
             return
         if not enabled:
@@ -197,7 +198,7 @@ def start_prometheus(self) -> None:
                 "Metrics are enabled in config, but prometheus_client is not installed"
             )
             return
-        prometheus.start_http_server(listen_port)
+        prometheus.start_http_server(listen_port, addr=addr)
 
     def _run(self) -> None:
         signal.signal(signal.SIGINT, signal.default_int_handler)