diff --git a/slapos/proxy/__init__.py b/slapos/proxy/__init__.py
index e83adc6d161c87b562078ab8325c153715223ff6..77f8c9a63b4d633d98bd2c409e9ea3be442386ba 100644
--- a/slapos/proxy/__init__.py
+++ b/slapos/proxy/__init__.py
@@ -31,6 +31,7 @@
 import logging
 
 from slapos.proxy.views import app
+from slapos.util import sqlite_connect
 
 def _generateSoftwareProductListFromString(software_product_list_string):
   """
@@ -91,10 +92,16 @@ def setupFlaskConfiguration(conf):
   app.config['software_product_list'] = conf.software_product_list
   app.config['multimaster'] = conf.multimaster
 
+def connectDB():
+  # if first connection, create an empty db at DATABASE_URI path
+  conn = sqlite_connect(app.config['DATABASE_URI'])
+  conn.close()
+
 def do_proxy(conf):
   for handler in conf.logger.handlers:
     app.logger.addHandler(handler)
   app.logger.setLevel(logging.INFO)
   setupFlaskConfiguration(conf)
+  connectDB()
   app.run(host=conf.host, port=int(conf.port), threaded=True)