diff --git a/development.ini b/development.ini
--- a/development.ini
+++ b/development.ini
@@ -68,6 +68,10 @@ lang = en
 cache_dir = %(here)s/data
 index_dir = %(here)s/data/index
 
+## perform a full repository scan on each server start, this should be
+## set to false after first startup, to allow faster server restarts.
+initial_repo_scan = true
+
 ## uncomment and set this path to use archive download cache
 #archive_cache_dir = /tmp/tarballcache
 
diff --git a/production.ini b/production.ini
--- a/production.ini
+++ b/production.ini
@@ -68,6 +68,10 @@ lang = en
 cache_dir = %(here)s/data
 index_dir = %(here)s/data/index
 
+## perform a full repository scan on each server start, this should be
+## set to false after first startup, to allow faster server restarts.
+initial_repo_scan = true
+
 ## uncomment and set this path to use archive download cache
 #archive_cache_dir = /tmp/tarballcache
 
diff --git a/rhodecode/config/deployment.ini_tmpl b/rhodecode/config/deployment.ini_tmpl
--- a/rhodecode/config/deployment.ini_tmpl
+++ b/rhodecode/config/deployment.ini_tmpl
@@ -68,6 +68,10 @@ lang = en
 cache_dir = %(here)s/data
 index_dir = %(here)s/data/index
 
+## perform a full repository scan on each server start, this should be
+## set to false after first startup, to allow faster server restarts.
+initial_repo_scan = true
+
 ## uncomment and set this path to use archive download cache
 #archive_cache_dir = /tmp/tarballcache
 
diff --git a/rhodecode/config/environment.py b/rhodecode/config/environment.py
--- a/rhodecode/config/environment.py
+++ b/rhodecode/config/environment.py
@@ -96,8 +96,9 @@ def load_environment(global_conf, app_co
     init_model(sa_engine_db1)
 
     repos_path = make_ui('db').configitems('paths')[0][1]
-    repo2db_mapper(ScmModel().repo_scan(repos_path),
-                   remove_obsolete=False, install_git_hook=False)
+    if str2bool(config.get('initial_repo_scan', True)):
+        repo2db_mapper(ScmModel().repo_scan(repos_path),
+                       remove_obsolete=False, install_git_hook=False)
     set_available_permissions(config)
     config['base_path'] = repos_path
     set_rhodecode_config(config)
diff --git a/test.ini b/test.ini
--- a/test.ini
+++ b/test.ini
@@ -68,6 +68,10 @@ lang = en
 cache_dir = /tmp/rc/data
 index_dir = /tmp/rc/index
 
+## perform a full repository scan on each server start, this should be
+## set to false after first startup, to allow faster server restarts.
+initial_repo_scan = true
+
 ## uncomment and set this path to use archive download cache
 #archive_cache_dir = /tmp/tarballcache