diff --git a/Dockerfile.synchronizer b/Dockerfile.synchronizer
index 542f944..2a552fb 100644
--- a/Dockerfile.synchronizer
+++ b/Dockerfile.synchronizer
@@ -50,4 +50,4 @@
       org.opencord.component.xos.vcs-url=$org_opencord_component_xos_vcs_url \
       org.opencord.component.xos.vcs-ref=$org_opencord_component_xos_vcs_ref
 
-CMD bash -c "service filebeat start; cd /opt/xos/synchronizers/vhss; ./run-from-api.sh"
+CMD ["/usr/bin/python", "/opt/xos/synchronizers/vhss/vhss-synchronizer.py"]
diff --git a/xos/synchronizer/Dockerfile.synchronizer b/xos/synchronizer/Dockerfile.synchronizer
deleted file mode 100644
index f3f5600..0000000
--- a/xos/synchronizer/Dockerfile.synchronizer
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 2017-present Open Networking Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-FROM xosproject/xos-synchronizer-base:candidate
-
-COPY . /opt/xos/synchronizers/vhss
-
-ENTRYPOINT []
-
-WORKDIR "/opt/xos/synchronizers/vhss"
-
-# Label image
-ARG org_label_schema_schema_version=1.0
-ARG org_label_schema_name=vhss-synchronizer
-ARG org_label_schema_version=unknown
-ARG org_label_schema_vcs_url=unknown
-ARG org_label_schema_vcs_ref=unknown
-ARG org_label_schema_build_date=unknown
-ARG org_opencord_vcs_commit_date=unknown
-ARG org_opencord_component_chameleon_version=unknown
-ARG org_opencord_component_chameleon_vcs_url=unknown
-ARG org_opencord_component_chameleon_vcs_ref=unknown
-ARG org_opencord_component_xos_version=unknown
-ARG org_opencord_component_xos_vcs_url=unknown
-ARG org_opencord_component_xos_vcs_ref=unknown
-
-LABEL org.label-schema.schema-version=$org_label_schema_schema_version \
-      org.label-schema.name=$org_label_schema_name \
-      org.label-schema.version=$org_label_schema_version \
-      org.label-schema.vcs-url=$org_label_schema_vcs_url \
-      org.label-schema.vcs-ref=$org_label_schema_vcs_ref \
-      org.label-schema.build-date=$org_label_schema_build_date \
-      org.opencord.vcs-commit-date=$org_opencord_vcs_commit_date \
-      org.opencord.component.chameleon.version=$org_opencord_component_chameleon_version \
-      org.opencord.component.chameleon.vcs-url=$org_opencord_component_chameleon_vcs_url \
-      org.opencord.component.chameleon.vcs-ref=$org_opencord_component_chameleon_vcs_ref \
-      org.opencord.component.xos.version=$org_opencord_component_xos_version \
-      org.opencord.component.xos.vcs-url=$org_opencord_component_xos_vcs_url \
-      org.opencord.component.xos.vcs-ref=$org_opencord_component_xos_vcs_ref
-
-CMD bash -c "service filebeat start; cd /opt/xos/synchronizers/vhss; ./run-from-api.sh"
diff --git a/xos/synchronizer/vhss_config.yaml b/xos/synchronizer/config.yaml
similarity index 84%
rename from xos/synchronizer/vhss_config.yaml
rename to xos/synchronizer/config.yaml
index 6d8c10e..be9a03b 100644
--- a/xos/synchronizer/vhss_config.yaml
+++ b/xos/synchronizer/config.yaml
@@ -14,9 +14,6 @@
 
 
 name: vhss
-accessor:
-  username: xosadmin@opencord.org
-  password: "@/opt/xos/services/vhss/credentials/xosadmin@opencord.org"
 required_models:
   - VHSSService
   - VHSSVendor
@@ -26,3 +23,13 @@
 sys_dir: "/opt/xos/synchronizers/vhss/sys"
 models_dir: "/opt/xos/synchronizers/vhss/models"
 model_policies_dir: "/opt/xos/synchronizers/vhss/model_policies"
+logging:
+  version: 1
+  handlers:
+    console:
+      class: logging.StreamHandler
+  loggers:
+    'multistructlog':
+      handlers:
+          - console
+      level: DEBUG
diff --git a/xos/synchronizer/run-from-api.sh b/xos/synchronizer/run-from-api.sh
deleted file mode 100755
index ed1147f..0000000
--- a/xos/synchronizer/run-from-api.sh
+++ /dev/null
@@ -1,16 +0,0 @@
-# Copyright 2017-present Open Networking Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-
-python vhss-synchronizer.py
\ No newline at end of file
diff --git a/xos/synchronizer/vhss-synchronizer.py b/xos/synchronizer/vhss-synchronizer.py
index 2d1bb00..2c40aeb 100755
--- a/xos/synchronizer/vhss-synchronizer.py
+++ b/xos/synchronizer/vhss-synchronizer.py
@@ -19,13 +19,17 @@
 import importlib
 import os
 import sys
-
 from xosconfig import Config
-config_file = os.path.abspath(os.path.dirname(os.path.realpath(__file__)) + '/vhss_config.yaml')
 
-Config.init(config_file, 'synchronizer-config-schema.yaml')
+base_config_file = os.path.abspath(os.path.dirname(os.path.realpath(__file__)) + '/config.yaml')
+mounted_config_file = os.path.abspath(os.path.dirname(os.path.realpath(__file__)) + '/mounted_config.yaml')
+
+if os.path.isfile(mounted_config_file):
+    Config.init(base_config_file, 'synchronizer-config-schema.yaml', mounted_config_file)
+else:
+    Config.init(base_config_file, 'synchronizer-config-schema.yaml')
+
 observer_path = os.path.join(os.path.dirname(os.path.realpath(__file__)), "../../synchronizers/new_base")
-
 sys.path.append(observer_path)
 mod = importlib.import_module("xos-synchronizer")
 mod.main()
