diff --git a/run.py b/hive/cli.py
similarity index 93%
rename from run.py
rename to hive/cli.py
index 7f4060a2d6d72f8ec5dc3a771606641cfe22f10a..a63aa36eb86bd8d6420581d27f28345a452b6feb 100755
--- a/run.py
+++ b/hive/cli.py
@@ -6,6 +6,8 @@ from hive.indexer.core import run_sync
 from hive.server.serve import run_server
 
 def run():
+    """Main CLI service router"""
+
     Conf.init_argparse()
     mode = Conf.run_mode()
 
diff --git a/service/hive-web/run b/service/hive-web/run
index ad077d1f5863bed219a96660155a484ea1c6b811..303adb8f856aad558e3b31f1462c39407360598f 100755
--- a/service/hive-web/run
+++ b/service/hive-web/run
@@ -2,4 +2,4 @@
 
 POPULATE_CMD="$(which hive)"
 
-python3 /app/hive/run.py server --database-url="${DATABASE_URL}" --http-server-port="${HTTP_SERVER_PORT}"
+exec "${POPULATE_CMD}" server
diff --git a/setup.py b/setup.py
index 4c92af62f66ae01fb965f5be97c2ced8ff89e655..b81461490d200f3c8ad358e0b33452b6640e77d1 100644
--- a/setup.py
+++ b/setup.py
@@ -37,6 +37,6 @@ setup(
     ],
     entry_points={
         'console_scripts': [
-            'hive=run:run',
+            'hive=hive.cli:run',
         ]
     })