diff --git a/README.rst b/README.rst
index d0b5742cf2c9d792b9727ff68cbadd9fc85c585f..3c266c974b0fb79050d80475de54372a584ab03d 100644
--- a/README.rst
+++ b/README.rst
@@ -12,9 +12,9 @@ User documentation can be found on the `wiki
 <https://humgenprojects.lumc.nl/trac/mutalyzer>`_. From there, you can also
 submit bug reports and feature requests.
 
-Developer documentation can be found in the ``doc/`` subdirectory and can be
-compiled to HTML by running ``make html`` from there. This requires `Sphinx`_
-to be installed.
+Developer documentation is `hosted at Read The Docs
+<http://mutalyzer.readthedocs.org>`_. Contributions to Mutalyzer are welcome
+as `GitHub pull requests <https://github.com/LUMC/mutalyzer/pulls>`_.
 
 
 Copyright
diff --git a/doc/conf.py b/doc/conf.py
index 4dea1601a60405e9878bed64bfd8539db2051b81..424e8512beb673914738dcfb55f16e984b047ce4 100644
--- a/doc/conf.py
+++ b/doc/conf.py
@@ -15,6 +15,18 @@
 import sys
 import os
 
+# http://read-the-docs.readthedocs.org/en/latest/faq.html#i-get-import-errors-on-libraries-that-depend-on-c-modules
+from mock import MagicMock
+
+class Mock(MagicMock):
+    @classmethod
+    def __getattr__(cls, name):
+        return Mock()
+
+MOCK_MODULES = ['MySQLdb', 'cchardet', 'lxml', 'lxml.builder', 'lxml.etree',
+                'magic']
+sys.modules.update((mod_name, Mock()) for mod_name in MOCK_MODULES)
+
 # If extensions (or modules to document with autodoc) are in another directory,
 # add these directories to sys.path here. If the directory is relative to the
 # documentation root, use os.path.abspath to make it absolute, like shown here.
diff --git a/doc/requirements.txt b/doc/requirements.txt
new file mode 100644
index 0000000000000000000000000000000000000000..e2f493243103839c5f0fcada7f41ff88c493c190
--- /dev/null
+++ b/doc/requirements.txt
@@ -0,0 +1,12 @@
+Sphinx
+alembic
+biopython
+flask
+mock
+pyparsing
+redis
+sqlalchemy
+sphinx-rtd-theme
+spyne
+suds
+xlrd