diff --git a/docs/source/stackrc.html b/docs/source/stackrc.html
new file mode 100644
index 0000000..23a48c5
--- /dev/null
+++ b/docs/source/stackrc.html
@@ -0,0 +1,101 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <title>DevStack - stackrc</title>
+    <meta name="description" content="">
+    <meta name="author" content="">
+
+    <!-- Le HTML5 shim, for IE6-8 support of HTML elements -->
+    <!--[if lt IE 9]>
+      <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
+    <![endif]-->
+
+    <!-- Le styles -->
+    <link href="assets/css/bootstrap.css" rel="stylesheet">
+    <link href="assets/css/local.css" rel="stylesheet">
+    <style type="text/css">
+      body { padding-top: 60px; }
+      dd { padding: 10px; }
+    </style>
+    
+    <!-- Le javascripts -->
+    <script src="../assets/js/jquery-1.7.1.min.js" type="text/javascript" charset="utf-8"></script>
+    <script src="../assets/js/bootstrap.js" type="text/javascript" charset="utf-8"></script>
+  </head>
+
+  <body>
+
+    <div class="navbar navbar-fixed-top">
+      <div class="navbar-inner">
+        <div class="container">
+          <a class="brand" href="/">DevStack</a>
+          <ul class="nav pull-right">
+            <li><a href="overview.html">Overview</a></li>
+            <li><a href="changes.html">Changes</a></li>
+            <li><a href="faq.html">FAQ</a></li>
+            <li><a href="http://github.com/openstack-dev/devstack">GitHub</a></li>
+            <li><a href="https://review.openstack.org/#/q/status:open+project:openstack-dev/devstack,n,z">Gerrit</a></li>
+          </ul>
+        </div>
+      </div>
+    </div>
+
+    <div class="container">
+
+      <section class="span12">
+        <div class="page-header">
+          <h2>stackrc <small>DevStack settings</small></h2>
+          <p><code>stackrc</code> is the primary configuration file for DevStack.
+          It contains all of the settings that control the services started
+          and the repositories used to download the source for those services.
+          <code>stackrc</code> sources the <code>localrc</code> section of
+          <code>local.conf</code> to perform the default overrides.</p>
+        </div>
+        <dl>
+
+          <dt>DATABASE_TYPE</dt>
+          <dd>Select the database backend to use.  The default is <code>mysql</code>,
+          <code>postgresql</code> is also available.</dd>
+
+          <dt>ENABLED_SERVICES</dt>
+          <dd>Specify which services to launch.  These generally correspond to
+            screen tabs. 
+            The default includes: Glance (API and Registry), Keystone, Nova (API,
+            Certificate, Object Store, Compute, Network, Scheduler, VNC proxies,
+            Certificate Authentication), Cinder (Scheduler, API, Volume), Horizon, MySQL, RabbitMQ, Tempest.
+            <pre>ENABLED_SERVICES=g-api,g-reg,key,n-api,n-crt,n-obj,n-cpu,n-net,n-cond,cinder,c-sch,c-api,c-vol,n-sch,n-novnc,n-xvnc,n-cauth,horizon,rabbit,tempest,$DATABASE_TYPE</pre>
+            Other services that are not enabled by default can be enabled in
+            <code>localrc</code>. For example, to add Swift:
+            <pre>enable_service swift</pre>
+            A service can similarly be disabled:
+            <pre>disable_service horizon</pre></dd>
+
+          <dt>Service Repos</dt>
+          <dd>The Git repositories used to check out the source for each service
+            are controlled by a pair of variables set for each service.  
+            <code>*_REPO</code> points to the repository and <code>*_BRANCH</code>
+            selects which branch to check out.  These may be overridden in
+            <code>local.conf</code> to pull source from a different repo for testing,
+            such as a Gerrit branch proposal.  <code>GIT_BASE</code> points to the primary repository server.
+            <pre>NOVA_REPO=$GIT_BASE/openstack/nova.git
+NOVA_BRANCH=master</pre>
+            To pull a branch directly from Gerrit, get the repo and branch from the 
+            Gerrit review page:
+            <pre>git fetch https://review.openstack.org/p/openstack/nova refs/changes/50/5050/1 && git checkout FETCH_HEAD</pre>
+            The repo is the stanza following <code>fetch</code> and the branch
+            is the stanza following that:
+            <pre>NOVA_REPO=https://review.openstack.org/p/openstack/nova
+NOVA_BRANCH=refs/changes/50/5050/1</pre></dd>
+
+        </dl>
+      </section
+
+      <footer>
+        <p>&copy; Openstack Foundation 2011-2014 &mdash; An <a href="https://www.openstack.org/">OpenStack</a> <a href="https://wiki.openstack.org/wiki/Programs">program</a></p>
+      </footer>
+
+    </div> <!-- /container -->
+
+  </body>
+</html>
