diff --git a/12.Netcapture/1.Install_Netcapture/0_setup.py b/12.Netcapture/1.Install_Netcapture/0_setup.py
index 05a2504b5944362651e0af965ee67e18e8f1dca8..f2c7753a7e52d7f2e2f99f358314fad98d7f548c 100644
--- a/12.Netcapture/1.Install_Netcapture/0_setup.py
+++ b/12.Netcapture/1.Install_Netcapture/0_setup.py
@@ -1,17 +1,44 @@
 #!/usr/bin/env python3
 import utils
 import json
+import random
+import string
 
 
-def write_conf():
-    with open('/etc/miris/netcapture.json.example', 'r') as f:
-        default_conf = json.load(f)
-    default_conf['docker_registry_login'] = utils.get_conf('NETCAPTURE_DOCKER_LOGIN', '')
-    default_conf['docker_registry_password'] = utils.get_conf('NETCAPTURE_DOCKER_PWD', '')
-    default_conf['campusmanager_url'] = 'https://%s' % utils.get_conf('CM_SERVER_NAME', '')
-    with open('/etc/miris/netcapture.json', 'w') as f:
-        json.dump(default_conf, f, indent=2, sort_keys=True)
-    return default_conf
+class JsonConfig:
+    def __init__(self, path):
+        self.path = path
+        with open(path, 'r') as f:
+            self.conf = json.load(f)
+
+    def write(self):
+        with open(self.path, 'w') as f:
+            json.dump(self.conf, f, indent=2, sort_keys=True)
+
+    def set(self, key, val):
+        self.conf[key] = val
+
+    def get(self):
+        return self.conf
+
+
+def get_random_id(length=12):
+    return ''.join(random.SystemRandom().choice(string.ascii_letters + string.digits) for _ in range(length))
+
+
+def write_netcapture_conf():
+    conf = JsonConfig('/etc/miris/netcapture.json.example')
+    conf.set('docker_registry_login', utils.get_conf('NETCAPTURE_DOCKER_LOGIN', ''))
+    conf.set('docker_registry_password', utils.get_conf('NETCAPTURE_DOCKER_PWD', ''))
+    conf.set('campusmanager_url', 'https://%s' % utils.get_conf('CM_SERVER_NAME', ''))
+    conf.write()
+    return conf.get()
+
+
+def write_miris_conf():
+    conf = JsonConfig('/etc/miris/conf/api.json')
+    conf.set('auth_user_password', get_random_id())
+    conf.write()
 
 
 def setup(interactive=True):
@@ -26,7 +53,8 @@ def setup(interactive=True):
 
     try:
         utils.run_commands(cmds)
-        conf = write_conf()
+        conf = write_netcapture_conf()
+        write_miris_conf()
         cmds_post = list()
         for f in ['media', 'conf']:
             cmds_post.extend([