diff --git a/geomagio/processing/factory.py b/geomagio/processing/factory.py
index 4a1db7ac78eb142e9556b25408f64a0bdde508b5..b857d68cec6786b76c26c6693f3333f5511e7a0c 100644
--- a/geomagio/processing/factory.py
+++ b/geomagio/processing/factory.py
@@ -7,10 +7,14 @@ def get_edge_factory(
     data_type="variation",
     host=os.getenv("EDGE_HOST", "127.0.0.1"),
     interval="second",
-    input_port=2060,
-    output_port=7981,
+    input_port=os.getenv("INPUT_EDGE_PORT", None),
+    output_port=os.getenv("OUTPUT_EDGE_PORT", None),
     **kwargs
 ) -> EdgeFactory:
+    if input_port is None:
+        input_port = 2060
+    if output_port is None:
+        output_port = 7981
     return EdgeFactory(
         host=host,
         interval=interval,
@@ -25,10 +29,14 @@ def get_miniseed_factory(
     data_type="variation",
     host=os.getenv("EDGE_HOST", "127.0.0.1"),
     interval="second",
-    input_port=2061,
-    output_port=7974,
+    input_port=os.getenv("INPUT_MINISEED_PORT", None),
+    output_port=os.getenv("OUTPUT_MINISEED_PORT", None),
     **kwargs
 ) -> MiniSeedFactory:
+    if input_port is None:
+        input_port = 2061
+    if output_port is None:
+        output_port = 7974
     return MiniSeedFactory(
         host=host,
         interval=interval,