diff --git a/build-docs.sh b/build-docs.sh
new file mode 100755
index 0000000000000000000000000000000000000000..c1dcfdd030969b1980322b0458f4b10c51083a41
--- /dev/null
+++ b/build-docs.sh
@@ -0,0 +1 @@
+sphinx-build -b html -t drawio docs/source docs/build
diff --git a/docs/source/conf.py b/docs/source/conf.py
index 2db47d2af9be401adc20354305d350e8eb9ef255..745a47b26e1fe04b596520661e8e68c4ff5a1ce7 100644
--- a/docs/source/conf.py
+++ b/docs/source/conf.py
@@ -14,7 +14,9 @@
 # import sys
 # sys.path.insert(0, os.path.abspath('.'))
 
+from datetime import datetime
 from importlib import import_module
+import importlib.metadata
 from docutils.parsers.rst import Directive
 from docutils import nodes
 from sphinx import addnodes
@@ -55,11 +57,10 @@ def setup(app):
 # -- Project information -----------------------------------------------------
 
 project = 'BRIAN Polling Manager'
-copyright = '2021, swd@geant.org'
-author = 'swd@geant.org'
+copyright = f"{datetime.now().year}, GÉANT"
+author = "swd@geant.org"
 
-# The full version, including alpha/beta/rc tags
-release = '0.0.1'
+release = importlib.metadata.version('brian_polling_manager')
 
 
 # -- General configuration ---------------------------------------------------
@@ -73,6 +74,11 @@ extensions = [
   'sphinx.ext.coverage'
 ]
 
+# the tags variable is injected by sphinx into conf.py
+# (toggle this by running ``sphinx-build -t drawio``)
+if tags.tags.get("drawio", False):  # noqa F821
+    extensions.append("sphinxcontrib.drawio")
+
 # Add any paths that contain templates here, relative to this directory.
 templates_path = ['_templates']
 
diff --git a/requirements.txt b/requirements.txt
index 996d8f1b375a3db5bb1d3e6ab2e62d86d6024abd..f6d3440b31bd816d54f94b05d4ab4cea477d6888 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -12,3 +12,4 @@ responses
 PyYAML
 sphinx
 sphinx-rtd-theme
+sphinxcontrib-drawio