diff --git a/doc/requirements.txt b/doc/requirements.txt
new file mode 100644
index 0000000..3f5397d
--- /dev/null
+++ b/doc/requirements.txt
@@ -0,0 +1,6 @@
+# The order of packages is significant, because pip processes them in the order
+# of appearance. Changing the order has an impact on the overall integration
+# process, which may cause wedges in the gate later.
+
+sphinx>=1.1.2
+openstackdocstheme
diff --git a/doc/source/conf.py b/doc/source/conf.py
index 744864e..4a4493a 100755
--- a/doc/source/conf.py
+++ b/doc/source/conf.py
@@ -23,7 +23,7 @@ sys.path.insert(0, os.path.abspath('../..'))
 extensions = [
     'sphinx.ext.autodoc',
     #'sphinx.ext.intersphinx',
-    'oslosphinx'
+    'openstackdocstheme'
 ]
 
 # autodoc generation is a bit aggressive and a nuisance when doing heavy
@@ -57,6 +57,11 @@ pygments_style = 'sphinx'
 # html_theme_path = ["."]
 # html_theme = '_theme'
 # html_static_path = ['static']
+html_theme = 'openstackdocs'
+
+repository_name = 'openstack/python-storyboardclient'
+bug_project = '755'
+html_last_updated_fmt = '%Y-%m-%d %H:%M'
 
 # Output file base name for HTML help builder.
 htmlhelp_basename = '%sdoc' % project
diff --git a/test-requirements.txt b/test-requirements.txt
index 3a1e9a1..ceaa9df 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -6,8 +6,6 @@ hacking>=0.9.2,<0.10
 
 coverage>=3.6
 python-subunit
-sphinx>=1.1.2
-oslosphinx
 oslotest>=1.1.0.0a1
 os-testr>=0.4.1
 testrepository>=0.0.18
diff --git a/tox.ini b/tox.ini
index 859967f..0939772 100644
--- a/tox.ini
+++ b/tox.ini
@@ -22,7 +22,9 @@ commands = {posargs}
 commands = python setup.py testr --coverage --testr-args='{posargs}'
 
 [testenv:docs]
-commands = python setup.py build_sphinx
+deps = -r{toxinidir}/doc/requirements.txt
+commands =
+    sphinx-build -W -b html doc/source doc/build/html
 
 [flake8]
 # H803 skipped on purpose per list discussion.