diff --git a/Dockerfile b/Dockerfile
index afb69f7a7dd1a3a82e468df4bfcfaddfc5d7c3e0..ffe8cf34a090d2a8d7145dc42fc691da8364b0e2 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -28,6 +28,15 @@ WORKDIR /iv
 
 RUN for f in $(find . -type f); do gzip < $f > $f.gz && brotli < $f > $f.br; done
 
+# Building doc
+FROM python:3.7 as doc-builder
+
+COPY . /iav
+WORKDIR /iav
+
+RUN pip install mkdocs mkdocs-material mdx_truly_sane_lists
+RUN mkdocs build
+
 # prod container
 FROM node:12-alpine 
 
@@ -46,6 +55,9 @@ COPY --from=builder /iv/deploy .
 # Copy built interactive viewer
 COPY --from=compressor /iv ./public
 
+# Copy docs
+COPY --from=doc-builder /iav/site ./docs
+
 # Copy the resources files needed to respond to queries
 # is this even necessary any more?
 COPY --from=compressor /iv/res/json ./res
diff --git a/deploy/app.js b/deploy/app.js
index 67c350ee2dc46fc19e180983eff6e29590c9abd0..d894d3b7f8ed43e2f1afa1cc9d2da05501ffc058 100644
--- a/deploy/app.js
+++ b/deploy/app.js
@@ -9,6 +9,13 @@ if (process.env.NODE_ENV !== 'production') {
   app.use(require('cors')())
 }
 
+
+const DOC_PUBLIC_PATH = process.env.NODE_ENV === 'production'
+  ? path.join(__dirname, 'docs')
+  : path.join(__dirname, '..', 'site')
+
+app.use('/docs', express.static(DOC_PUBLIC_PATH))
+
 const hash = string => crypto.createHash('sha256').update(string).digest('hex')
 
 app.use((req, _, next) => {
diff --git a/docs/releases/v2.1.2.md b/docs/releases/v2.1.2.md
index 4bf6d0083dec03d2d898f443dbf469d4b1bf0802..0397f38d1331075a730116496ff282b6935e5237 100644
--- a/docs/releases/v2.1.2.md
+++ b/docs/releases/v2.1.2.md
@@ -8,4 +8,5 @@
 
 ## Under the hood stuff
 
-- added `check_all.sh`, allowing for quick git-push check
\ No newline at end of file
+- added `check_all.sh`, allowing for quick git-push check
+- consolidated user docs
diff --git a/src/ui/help/help.component.ts b/src/ui/help/help.component.ts
index 8b9b8bf74110f04096c4ffdefb19e5c0a9380b3d..d731cba181188aa0fdbc6f8ec36e721bbd3913d0 100644
--- a/src/ui/help/help.component.ts
+++ b/src/ui/help/help.component.ts
@@ -20,7 +20,7 @@ export class HelpComponent {
   public contactEmailHref: string
   public contactEmail: string
 
-  public userDoc: string = `https://interactive-viewer-user-documentation.apps-dev.hbp.eu`
+  public userDoc: string = `docs/`
 
   constructor(
     private constantService: AtlasViewerConstantsServices,