diff --git a/.gitignore b/.gitignore
index 8c960ec808d9e3c5c43b69fa6ad59c538035a1a9..981613f19b4733eb9f6deba6a67d771e3394e706 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,6 @@
 *.jl.cov
 *.jl.*.cov
 *.jl.mem
+docs/build/
+docs/site/
+docs/.documenter
diff --git a/README.md b/README.md
index 2bae4d9c6249e9fa8444bdad9804708d2d60fce9..9079402243589f4e1be3ee94716515554da6b9dc 100644
--- a/README.md
+++ b/README.md
@@ -48,7 +48,7 @@ These functions can be used to implement your own control loops. A common loop
 with a feedback controller and a feedforward filter on the reference is implemented
 in the function [`run_control_2DOF`](@ref), where the user can supply $G_1$ and $G_4$
 in the diagram below, with the process $P=G_2$.
-![block diagram](docs/feedback4.png)
+![block diagram](docs/src/feedback4.png)
 
 The macro `@periodically` might come in handy if you want to implement your own loop.
 Consider the following example, in which the loop body will be run periodically
diff --git a/docs/make.jl b/docs/make.jl
new file mode 100644
index 0000000000000000000000000000000000000000..7e696a5ee95816a6434206f9343a688e0c96a874
--- /dev/null
+++ b/docs/make.jl
@@ -0,0 +1,25 @@
+using Documenter, LabProcesses
+# makedocs()
+# deploydocs(
+# deps   = Deps.pip("pygments", "mkdocs", "python-markdown-math", "mkdocs-cinder"),
+# repo   = "gitlab.control.lth.se/processes/LabProcesses.jl",
+# branch = "gh-pages",
+# julia  = "0.6",
+# osname = "linux"
+# )
+
+makedocs(
+    format = :html,
+    sitename = "LabProcesses",
+    pages = [
+        "index.md",
+    ]
+)
+
+deploydocs(
+    repo   = "gitlab.control.lth.se/processes/LabProcesses.jl.git",
+    branch = "gh-pages",
+    target = "build",
+    deps   = nothing,
+    make   = nothing
+)
diff --git a/docs/mkdocs.yml b/docs/mkdocs.yml
new file mode 100644
index 0000000000000000000000000000000000000000..7e0b70cd4fc6e6f551344d8aca86102485fccba9
--- /dev/null
+++ b/docs/mkdocs.yml
@@ -0,0 +1,25 @@
+site_name:        LabProcesses.jl
+repo_url:         https://gitlab.control.lth.se/labdev/software/tree/master/julia_ballandbeam/LabProcesses.jl
+site_description: Documentation for LabProcesses.jl
+site_author:      Fredri Bagge Carlson
+
+theme: cinder
+
+extra_css:
+  - assets/Documenter.css
+
+extra_javascript:
+  - https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML
+  - assets/mathjaxhelper.js
+
+markdown_extensions:
+  - extra
+  - tables
+  - fenced_code
+  - mdx_math:
+      enable_dollar_delimiter: True
+
+docs_dir: 'build'
+
+pages:
+  - Home: index.md
diff --git a/docs/feedback4.png b/docs/src/feedback4.png
similarity index 100%
rename from docs/feedback4.png
rename to docs/src/feedback4.png
diff --git a/docs/src/index.md b/docs/src/index.md
new file mode 100644
index 0000000000000000000000000000000000000000..accbe8987b4f69562b568c23f0b3efea24c7edf1
--- /dev/null
+++ b/docs/src/index.md
@@ -0,0 +1,22 @@
+# LabProcesses
+
+```@contents
+Depth = 3
+```
+
+# Installation
+Install `LabProcesses.jl` using command `Pkg.clone("https://gitlab.control.lth.se/processes/LabProcesses.jl.git")` Lots of packages will now be installed, this might take some time.
+
+
+# Exported functions and types
+```@autodocs
+Modules = [LabProcesses]
+Private = false
+Pages   = ["LabProcesses.jl"]
+```
+
+
+# Index
+
+```@index
+```