diff --git a/Dockerfile b/Dockerfile
index 4b025df21239bf46426d5fdf4e906a38342ae6e5..a2b3f2069eb64e7a8cd17ed58bf938b6f002e850 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -36,5 +36,8 @@ ENV DASHBOARD_BASE_URL=http://localhost:4200 \
 	BUS_OD_API_BASE_URL=http://localhost:8000/busesod \
 	BIKETRAJECTORY_API_BASE_URL=http://localhost:8000/urbanite_biketrajectories \
 	NOISECOMPUTATION_API_BASE_URL=http://localhost:8002/urbanite_noise_computation \
-	ODFROMCOUNTS_API_BASE_URL=http://localhost:8015/odfromcounts
-
+	ODFROMCOUNTS_API_BASE_URL=http://localhost:8015/odfromcounts \
+	TRAFFIC_SIMULATION_BASE_URL=http://localhost:8082/traffic-simulation \
+	TRAFFIC_SIMULATION_STORAGE_URL=http://localhost:8081 \
+	TRAFFIC_SIMULATION_DSS_URL=http://localhost:8083 \
+	TRAFFIC_SIMULATION_STOMP_URL=ws://localhost:8082/gs-guide-websocket
diff --git a/adapt-config-json.sh b/adapt-config-json.sh
index 6c7d1021efe1eb09e2975caa5dc8de3a77894a4e..8229bcbc226dfa1c8bde8d630376f7906f2b9128 100644
--- a/adapt-config-json.sh
+++ b/adapt-config-json.sh
@@ -22,3 +22,7 @@ sed -i -e "s|__BIKETRAJECTORY_API_BASE_URL__|$BIKETRAJECTORY_API_BASE_URL|g" $FI
 sed -i -e "s|__DEFAULT_PILOT__|$DEFAULT_PILOT|g" $FILE
 sed -i -e "s|__NOISECOMPUTATION_API_BASE_URL__|$NOISECOMPUTATION_API_BASE_URL|g" $FILE
 sed -i -e "s|__ODFROMCOUNTS_API_BASE_URL__|$ODFROMCOUNTS_API_BASE_URL|g" $FILE
+sed -i -e "s|__TRAFFIC_SIMULATION_BASE_URL__|$TRAFFIC_SIMULATION_BASE_URL|g" $FILE
+sed -i -e "s|__TRAFFIC_SIMULATION_STORAGE_URL__|$TRAFFIC_SIMULATION_STORAGE_URL|g" $FILE
+sed -i -e "s|__TRAFFIC_SIMULATION_DSS_URL__|$TRAFFIC_SIMULATION_DSS_URL|g" $FILE
+sed -i -e "s|__TRAFFIC_SIMULATION_STOMP_URL__|$TRAFFIC_SIMULATION_STOMP_URL|g" $FILE
diff --git a/src/app/pages/simulation-wizard/ml-module/ml-module.component.ts b/src/app/pages/simulation-wizard/ml-module/ml-module.component.ts
index 6473f19cb9b4c69ff744f609dcefff09bd20ac13..9ab6875be478d6f3d897f419099c28ba4167f65d 100644
--- a/src/app/pages/simulation-wizard/ml-module/ml-module.component.ts
+++ b/src/app/pages/simulation-wizard/ml-module/ml-module.component.ts
@@ -1,5 +1,6 @@
 import { Component, OnInit } from "@angular/core";
 import { environment } from "../../../../environments/environment";
+import { ConfigService } from '@ngx-config/core';
 
 @Component({
   selector: "ngx-ml-module",
@@ -7,10 +8,15 @@ import { environment } from "../../../../environments/environment";
   styleUrls: ["./ml-module.component.scss"],
 })
 export class MlModuleComponent implements OnInit {
-  constructor() {}
+  constructor(
+    private configService: ConfigService
+  ) { 
+    this.storage_url = `${configService.getSettings("traffic_simulation_storage_url")}`;
+    this.file_url = `${configService.getSettings("traffic_simulation_storage_url")}/ml-experiments`;
+  }
 
-  storage_url = `${environment.storageAPIUrl}`;
-  file_url = this.storage_url + "/ml-experiments";
+  storage_url: any;
+  file_url: any;
   visualizationBtnDisabled: boolean = true;
   mlBtnDisabled: boolean = true;
   recommendationBtnDisabled: boolean = true;
diff --git a/src/app/pages/simulation-wizard/simulation-wizard.module.ts b/src/app/pages/simulation-wizard/simulation-wizard.module.ts
index 13099f141ee4ad454e3f9ce35a5fa421628a8f9b..bb0a2dac32617488aef9e0dfb920ab11a9574859 100644
--- a/src/app/pages/simulation-wizard/simulation-wizard.module.ts
+++ b/src/app/pages/simulation-wizard/simulation-wizard.module.ts
@@ -48,11 +48,20 @@ import { MlModuleComponent } from "./ml-module/ml-module.component";
 import { VisualizationsGeojsonComponent } from "./visualizations/visualizations-geojson/visualizations-geojson.component";
 import { RecommenderPageComponent } from "./recommender-page/recommender-page.component";
 import { EditNetworkMapComponent } from "./edit-network-map/edit-network-map.component";
+import { ConfigService } from '@ngx-config/core';
 
-const rxStompConfig: InjectableRxStompConfig = {
-  brokerURL: environment.baseStompURL,
-  debug: (msg) => environment.showWebSocketDebug && console.debug(msg),
-};
+export class MyRxStompConfig extends InjectableRxStompConfig {
+  constructor(private configService: ConfigService) {
+      super();
+      this.brokerURL = `${configService.getSettings("traffic_simulation_stomp_url")}`;
+      this.heartbeatIncoming = 0;
+      this.heartbeatOutgoing = 10000;
+      this.reconnectDelay = 500;
+      this.debug = (msg: string): void => {
+        environment.showWebSocketDebug && console.debug(msg);
+    };
+  }
+}
 
 @NgModule({
   imports: [
@@ -101,8 +110,9 @@ const rxStompConfig: InjectableRxStompConfig = {
   ],
   providers: [
     {
-      provide: InjectableRxStompConfig,
-      useValue: rxStompConfig,
+      provide: InjectableRxStompConfig, 
+      useClass: MyRxStompConfig, 
+      deps: [ConfigService] 
     },
     {
       provide: RxStompService,
diff --git a/src/app/pages/simulation-wizard/utils/services/city.service.ts b/src/app/pages/simulation-wizard/utils/services/city.service.ts
index 27465485c08caeaa0889479a27cfe0db2e82b11b..0002b608a25d988d6a90f8a37f935db5ad34e04a 100644
--- a/src/app/pages/simulation-wizard/utils/services/city.service.ts
+++ b/src/app/pages/simulation-wizard/utils/services/city.service.ts
@@ -7,15 +7,19 @@ import { City } from "../data/city";
 import { Network } from "../data/network";
 import { Scenario } from "../data/scenario";
 import { tapDebugApi } from "./tap-debug";
+import { ConfigService } from '@ngx-config/core';
 
 @Injectable({ providedIn: "root" })
 export class CityService {
-  private url = `${environment.baseAPIUrl}/traffic-simulation/city`;
+  private url: any;
   private selectedCityIndex: number;
   private selectedCity$ = new BehaviorSubject<City | null>(null);
   cities: City[];
 
-  constructor(private httpClient: HttpClient) {}
+  constructor(
+    private httpClient: HttpClient, 
+    private configService: ConfigService
+  ) { this.url = `${configService.getSettings("traffic_simulation_base_url")}/city`; }
 
   public setSelectedCity(cityId: string) {
     this.selectedCityIndex = this.cities.findIndex(
diff --git a/src/app/pages/simulation-wizard/utils/services/com.service.ts b/src/app/pages/simulation-wizard/utils/services/com.service.ts
index eb731979a73c9fe605bf3adda92ad59bd003f349..9113f9c8f85172bbefcc55d4bb0fb263c0f87c8a 100644
--- a/src/app/pages/simulation-wizard/utils/services/com.service.ts
+++ b/src/app/pages/simulation-wizard/utils/services/com.service.ts
@@ -4,14 +4,18 @@ import { Observable } from "rxjs";
 import { tap } from "rxjs/operators";
 import { Simulation } from "../data/simulation";
 import { environment } from "../../../../../environments/environment";
+import { ConfigService } from '@ngx-config/core';
 
 @Injectable({
   providedIn: "root",
 })
 export class ComService {
-  private traffic_sim_server = `${environment.baseAPIUrl}/traffic-simulation/network`;
+  private traffic_sim_server: any;
 
-  constructor(private http: HttpClient) {}
+  constructor(
+    private http: HttpClient, 
+    private configService: ConfigService
+  ) { this.traffic_sim_server = `${configService.getSettings("traffic_simulation_base_url")}/network`; }
 
   sendGetResultsVis(simId: number): Observable<any> {
     const url: string = `${this.traffic_sim_server}/simulation/${simId}/results/vis-trips`;
diff --git a/src/app/pages/simulation-wizard/utils/services/network.service.ts b/src/app/pages/simulation-wizard/utils/services/network.service.ts
index 7111797283dbd344efe1a005091c8b14fb03ac07..b29f3ca745e55beabcb59b1d24b18c168b5de420 100644
--- a/src/app/pages/simulation-wizard/utils/services/network.service.ts
+++ b/src/app/pages/simulation-wizard/utils/services/network.service.ts
@@ -8,14 +8,18 @@ import { map, catchError } from "rxjs/operators";
 import { environment } from "../../../../../environments/environment";
 import { Network } from "../data/network";
 import { tapDebugApi } from "./tap-debug";
+import { ConfigService } from '@ngx-config/core';
 
 @Injectable({
   providedIn: "root",
 })
 export class NetworkService {
-  private baseAPIUrl = `${environment.baseAPIUrl}/traffic-simulation/network`;
+  private baseAPIUrl: any;
 
-  constructor(private httpClient: HttpClient) {}
+  constructor(
+    private httpClient: HttpClient, 
+    private configService: ConfigService
+  ) { this.baseAPIUrl = `${configService.getSettings("traffic_simulation_base_url")}/network`; }
 
   handleError(error: HttpErrorResponse) {
     let errorMessage = "Some sort of error.";
diff --git a/src/app/pages/simulation-wizard/utils/services/scenario.service.ts b/src/app/pages/simulation-wizard/utils/services/scenario.service.ts
index fe5c0ec419a5f6cbfb70cc481c4bcec80a90a0ed..28fba85bdac792d841a48e2e0f82be0cc052ab73 100644
--- a/src/app/pages/simulation-wizard/utils/services/scenario.service.ts
+++ b/src/app/pages/simulation-wizard/utils/services/scenario.service.ts
@@ -6,14 +6,18 @@ import { environment } from "../../../../../environments/environment";
 import { Scenario } from "../data/scenario";
 import { Simulation } from "../data/simulation";
 import { tapDebugApi } from "./tap-debug";
+import { ConfigService } from '@ngx-config/core';
 
 @Injectable({
     providedIn: 'root',
 })
 export class ScenarioService {
-    private baseApiUrl = `${environment.baseAPIUrl}/traffic-simulation/scenario`;
+    private baseApiUrl: any;
 
-    constructor(private httpClient: HttpClient) { }
+    constructor(
+      private httpClient: HttpClient, 
+      private configService: ConfigService
+    ) { this.baseApiUrl = `${configService.getSettings("traffic_simulation_base_url")}/scenario`; }
 
     createScenario(scenario: Scenario) {
         return this.httpClient.post(this.baseApiUrl, scenario).pipe(
diff --git a/src/app/pages/simulation-wizard/utils/services/simulation.service.ts b/src/app/pages/simulation-wizard/utils/services/simulation.service.ts
index 4026b77656462bed82053ec1dc554e59ea5a7c30..b566537cd4ec0516b009cfbfe4f5850d0946640c 100644
--- a/src/app/pages/simulation-wizard/utils/services/simulation.service.ts
+++ b/src/app/pages/simulation-wizard/utils/services/simulation.service.ts
@@ -5,17 +5,26 @@ import { map, tap, catchError } from "rxjs/operators";
 import { environment } from "../../../../../environments/environment";
 import { Simulation } from "../data/simulation";
 import { tapDebugApi } from "./tap-debug";
+import { ConfigService } from '@ngx-config/core';
 
 @Injectable({
   providedIn: "root",
 })
 export class SimulationService {
-  private ts_simulation_url = `${environment.baseAPIUrl}/traffic-simulation/simulation`;
-  private ts_url = `${environment.baseAPIUrl}/traffic-simulation`;
-  private storage_url = `${environment.storageAPIUrl}`;
-  private dssUrl = `${environment.dssUrl}`;
+  private ts_simulation_url: any;
+  private ts_url: any;
+  private storage_url: any;
+  private dssUrl: any;
 
-  constructor(private httpClient: HttpClient) {}
+  constructor(
+    private httpClient: HttpClient, 
+    private configService: ConfigService
+  ) { 
+    this.ts_simulation_url = `${configService.getSettings("traffic_simulation_base_url")}/simulation`;
+    this.ts_url = `${configService.getSettings("traffic_simulation_base_url")}`;
+    this.storage_url = `${configService.getSettings("traffic_simulation_storage_url")}`;
+    this.dssUrl = `${configService.getSettings("traffic_simulation_dss_url")}`;
+  }
 
   createSimulation(simulation: Simulation): Observable<Simulation> {
     return this.httpClient.post(this.ts_simulation_url, simulation).pipe(
diff --git a/src/assets/config-template.json b/src/assets/config-template.json
index bd015e09458171c8a9a4c0c4e0dbd8fb8975ab66..ebd79f076e81de672c8c4eca4e63009d2ac3bc7f 100644
--- a/src/assets/config-template.json
+++ b/src/assets/config-template.json
@@ -15,6 +15,10 @@
     "biketrajectory_api_base_url":"__BIKETRAJECTORY_API_BASE_URL__",
     "bus_od_api_base_url":"__BUS_OD_API_BASE_URL__",
     "idra_base_url":"__IDRA_BASE_URL__",
+    "traffic_simulation_base_url":"__TRAFFIC_SIMULATION_BASE_URL__",
+    "traffic_simulation_storage_url":"__TRAFFIC_SIMULATION_STORAGE_URL__",
+    "traffic_simulation_dss_url":"__TRAFFIC_SIMULATION_DSS_URL__",
+    "traffic_simulation_stomp_url":"__TRAFFIC_SIMULATION_STOMP_URL__",
     "idra_portal_base_href":"IdraPortal",
     "enable_datalet":true,
     "datalet_base_url":"__DATALET_BASE_URL__",
diff --git a/src/assets/config.json b/src/assets/config.json
index e0c84e21cadcaa9cc5b07c3cbde74b6989e8b8d0..5c0beacb726b2281f8e6aa1007ff02595ecaad46 100644
--- a/src/assets/config.json
+++ b/src/assets/config.json
@@ -15,6 +15,10 @@
     "biketrajectory_api_base_url":"http://localhost:8000/biketrajectories",
     "bus_od_api_base_url":"http://localhost:8000/busesod",
     "idra_base_url":"http://localhost:8082",
+    "traffic_simulation_base_url":"http://localhost:8082/traffic-simulation",
+    "traffic_simulation_storage_url":"http://localhost:8081",
+    "traffic_simulation_dss_url":"http://localhost:8083",
+    "traffic_simulation_stomp_url":"ws://localhost:8082/gs-guide-websocket",
     "idra_portal_base_href":"IdraPortal",
     "enable_datalet":true,
     "datalet_base_url":"http://localhost/deep/deep-components/creator.html",
diff --git a/src/environments/environment.prod.ts b/src/environments/environment.prod.ts
index 44b42f23a113afe83a6a2e61b0d39c05fc1316fd..8a8c51e533401ca33fa227622692d14580061bb4 100644
--- a/src/environments/environment.prod.ts
+++ b/src/environments/environment.prod.ts
@@ -5,15 +5,6 @@
  */
 export const environment = {
   production: true,
-  baseAPIUrl: 'http://localhost:8082',
-  storageAPIUrl: 'http://localhost:8081',
-  baseStompURL: 'ws://localhost:8082/gs-guide-websocket',
-  dssUrl: 'http://localhost:8083',
   showAPIDebug: false,
-  showWebSocketDebug: true,
-  ftpHost: '127.0.0.1',
-  ftpPort: '2121',
-  ftpUser: 'urbanite',
-  ftpPassword: 'password',
-  ftpDirectory: 'data'
+  showWebSocketDebug: true
 };
diff --git a/src/environments/environment.ts b/src/environments/environment.ts
index b17b0debd095c2476cac5a2bd85bec1b4ce02fbe..6046cfcb3650709e021e0aed260e1ecc6b231cea 100644
--- a/src/environments/environment.ts
+++ b/src/environments/environment.ts
@@ -10,15 +10,6 @@
 
 export const environment = {
   production: false,
-  baseAPIUrl: 'http://localhost:8082',
-  storageAPIUrl: 'http://localhost:8081',
-  baseStompURL: 'ws://localhost:8082/gs-guide-websocket',
-  dssUrl: 'http://localhost:8083',
   showAPIDebug: false,
-  showWebSocketDebug: true,
-  ftpHost: '127.0.0.1',
-  ftpPort: '2121',
-  ftpUser: 'urbanite',
-  ftpPassword: 'password',
-  ftpDirectory: 'data'
+  showWebSocketDebug: true
 };