diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 0000000000000000000000000000000000000000..79d4434b0d4030764a849a58c0ab86b527260c0b
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,29 @@
+stages:
+ - Documentation
+ - Deploy
+
+
+build-user-manual:
+  image: i10git.cs.fau.de:5005/pycodegen/pycodegen/nox:alpine
+  tags:
+    - docker
+  stage: "Documentation"
+  needs: []
+  script:
+    - nox --session user-manual
+  artifacts:
+    paths:
+      - user_manual/_sphinx_build/html
+
+pages:
+  image: alpine:latest
+  stage: deploy
+  script:
+    - mv user_manual/_sphinx_build/html public  # folder has to be named "public" for gitlab to publish it
+  artifacts:
+    paths:
+      - public
+  tags:
+    - docker
+  only:
+    - master@da15siwa/sfg-walberla
diff --git a/noxfile.py b/noxfile.py
index db0fa81396f7a49a987669ba45fd75ff6db1433a..0d4bf13187c7c6a37309469d5945c12abf8a4e5e 100644
--- a/noxfile.py
+++ b/noxfile.py
@@ -3,7 +3,7 @@ import nox
 
 @nox.session
 def user_manual(session: nox.Session):
-    session.chdir("examples")
+    session.chdir("user_manual")
     session.install("-r", "requirements.txt")
 
     if "--clean" in session.posargs:
diff --git a/examples/.gitignore b/user_manual/.gitignore
similarity index 100%
rename from examples/.gitignore
rename to user_manual/.gitignore
diff --git a/examples/CMakeLists.txt b/user_manual/CMakeLists.txt
similarity index 100%
rename from examples/CMakeLists.txt
rename to user_manual/CMakeLists.txt
diff --git a/examples/CMakeSetup/CMakeLists.txt b/user_manual/CMakeSetup/CMakeLists.txt
similarity index 100%
rename from examples/CMakeSetup/CMakeLists.txt
rename to user_manual/CMakeSetup/CMakeLists.txt
diff --git a/examples/CMakeSetup/CMakeSetup.md b/user_manual/CMakeSetup/CMakeSetup.md
similarity index 100%
rename from examples/CMakeSetup/CMakeSetup.md
rename to user_manual/CMakeSetup/CMakeSetup.md
diff --git a/examples/ForceDrivenChannel/CMakeLists.txt b/user_manual/ForceDrivenChannel/CMakeLists.txt
similarity index 100%
rename from examples/ForceDrivenChannel/CMakeLists.txt
rename to user_manual/ForceDrivenChannel/CMakeLists.txt
diff --git a/examples/ForceDrivenChannel/Channel.prm b/user_manual/ForceDrivenChannel/Channel.prm
similarity index 100%
rename from examples/ForceDrivenChannel/Channel.prm
rename to user_manual/ForceDrivenChannel/Channel.prm
diff --git a/examples/ForceDrivenChannel/ForceDrivenChannel.cpp b/user_manual/ForceDrivenChannel/ForceDrivenChannel.cpp
similarity index 100%
rename from examples/ForceDrivenChannel/ForceDrivenChannel.cpp
rename to user_manual/ForceDrivenChannel/ForceDrivenChannel.cpp
diff --git a/examples/ForceDrivenChannel/ForceDrivenChannel.md b/user_manual/ForceDrivenChannel/ForceDrivenChannel.md
similarity index 100%
rename from examples/ForceDrivenChannel/ForceDrivenChannel.md
rename to user_manual/ForceDrivenChannel/ForceDrivenChannel.md
diff --git a/examples/ForceDrivenChannel/LbmAlgorithms.py b/user_manual/ForceDrivenChannel/LbmAlgorithms.py
similarity index 100%
rename from examples/ForceDrivenChannel/LbmAlgorithms.py
rename to user_manual/ForceDrivenChannel/LbmAlgorithms.py
diff --git a/examples/FullyPeriodicAde/AdvectionDiffusionSweep.py b/user_manual/FullyPeriodicAde/AdvectionDiffusionSweep.py
similarity index 100%
rename from examples/FullyPeriodicAde/AdvectionDiffusionSweep.py
rename to user_manual/FullyPeriodicAde/AdvectionDiffusionSweep.py
diff --git a/examples/FullyPeriodicAde/CMakeLists.txt b/user_manual/FullyPeriodicAde/CMakeLists.txt
similarity index 100%
rename from examples/FullyPeriodicAde/CMakeLists.txt
rename to user_manual/FullyPeriodicAde/CMakeLists.txt
diff --git a/examples/GeneratorScriptBasics/BasicCodegen.py b/user_manual/GeneratorScriptBasics/BasicCodegen.py
similarity index 100%
rename from examples/GeneratorScriptBasics/BasicCodegen.py
rename to user_manual/GeneratorScriptBasics/BasicCodegen.py
diff --git a/examples/GeneratorScriptBasics/BasicCodegenApp.cpp b/user_manual/GeneratorScriptBasics/BasicCodegenApp.cpp
similarity index 100%
rename from examples/GeneratorScriptBasics/BasicCodegenApp.cpp
rename to user_manual/GeneratorScriptBasics/BasicCodegenApp.cpp
diff --git a/examples/GeneratorScriptBasics/CMakeLists.txt b/user_manual/GeneratorScriptBasics/CMakeLists.txt
similarity index 100%
rename from examples/GeneratorScriptBasics/CMakeLists.txt
rename to user_manual/GeneratorScriptBasics/CMakeLists.txt
diff --git a/examples/GeneratorScriptBasics/GeneratorScriptBasics.md b/user_manual/GeneratorScriptBasics/GeneratorScriptBasics.md
similarity index 100%
rename from examples/GeneratorScriptBasics/GeneratorScriptBasics.md
rename to user_manual/GeneratorScriptBasics/GeneratorScriptBasics.md
diff --git a/examples/Makefile b/user_manual/Makefile
similarity index 100%
rename from examples/Makefile
rename to user_manual/Makefile
diff --git a/examples/conf.py b/user_manual/conf.py
similarity index 100%
rename from examples/conf.py
rename to user_manual/conf.py
diff --git a/examples/examples.mk b/user_manual/examples.mk
similarity index 100%
rename from examples/examples.mk
rename to user_manual/examples.mk
diff --git a/examples/index.md b/user_manual/index.md
similarity index 100%
rename from examples/index.md
rename to user_manual/index.md
diff --git a/examples/requirements.txt b/user_manual/requirements.txt
similarity index 100%
rename from examples/requirements.txt
rename to user_manual/requirements.txt