diff --git a/docs/05_deploy-docker.md b/docs/05_deploy-docker.md
index 20e626d..abcbcf7 100644
--- a/docs/05_deploy-docker.md
+++ b/docs/05_deploy-docker.md
@@ -28,10 +28,16 @@
 > **NOTE**: On purpose, we disabled all port mappings except of http port **80** to access the StreamPipes UI to provide minimal surface for conflicting ports.
 
 ## Usage
-We provide two options to get you going:
+We provide several options to get you going:
 
-- **default**: a light-weight option with few pipeline elements, needs less memory
-- **full**:  contains more pipeline elements, requires **>16 GB RAM** (recommended)
+- **default**: Default docker-compose file, called `docker-compose.yml`.
+
+:::info
+
+Other options include configurations for the internally used message broker. The current default is `Kafka`, but you can also start StreamPipes with `Nats`, `MQTT` or `Apache Pulsar`.
+Use one of the other provided docker-compose files.
+
+:::
 
 **Starting** the **default** option is as easy as simply running:
 > **NOTE**: Starting might take a while since `docker-compose up` also initially pulls all Docker images from Dockerhub.
@@ -49,22 +55,21 @@
 # docker-compose down -v
 ```
 
-Starting the **full** option is almost the same, just specify the `docker-compose.full.yml` file:
+Starting the **nats** option is almost the same, just specify the `docker-compose.nats.yml` file:
 ```bash
-docker-compose -f docker-compose.full.yml up -d
+docker-compose -f docker-compose.nats.yml up -d
 # go to after all services are started http://localhost
 ```
 Stopping the **full** option:
 ```bash
-docker-compose -f docker-compose.full.yml down
-#docker-compose -f docker-compose.full.yml down -v
+docker-compose -f docker-compose.nats.yml down
+#docker-compose -f docker-compose.nats.yml down -v
 ```
 
 ## Update services
 To actively pull the latest available Docker images use:
 ```bash
 docker-compose pull
-# docker-compose -f docker-compose.full.yml pull
 ```
 
 ## Upgrade
diff --git a/docs/05_deploy-kubernetes.md b/docs/05_deploy-kubernetes.md
index fe84308..327a568 100644
--- a/docs/05_deploy-kubernetes.md
+++ b/docs/05_deploy-kubernetes.md
@@ -5,56 +5,31 @@
 ---
 
 ## Prerequisites
-Requires Helm (https://helm.sh/) and an active connection to a kubernetes cluster with a running tiller server.
-
-Tested with:
-* K3s v1.18.8+k3s1 (6b595318) with K8s v1.18.8
-* Helm v3.1.2
+Requires Helm (https://helm.sh/) and an actively running Kubernetes cluster.
 
 ## Usage
-We provide two helm chart options to get you going:
+We provide helm chart options to get you going in the `installer/k8s`folder.
 
-- **default**: a light-weight option with few pipeline elements, needs less memory
-- **full**:  contains more pipeline elements, requires **>16 GB RAM** (recommended)
-
-**Starting** the **default** helm chart option is as easy as simply running the following command from the root of this folder:
+**Starting** the default helm chart option is as easy as simply running the following command from the root of this folder:
 > **NOTE**: Starting might take a while since we also initially pull all Docker images from Dockerhub.
 
 ```bash
 helm install streampipes ./
 ```
 After a while, all containers should successfully started, indicated by the `Running` status.
-```bash
-kubectl get pods
-NAME                                           READY   STATUS    RESTARTS   AGE
-activemq-66d58f47cf-2r2nb                      1/1     Running   0          3m27s
-backend-76ddc486c8-nswpc                       1/1     Running   0          3m27s
-connect-master-7b477f9b79-8dfvr                1/1     Running   0          3m26s
-connect-worker-78d89c989c-9v8zs                1/1     Running   0          3m27s
-consul-55965f966b-gwb7l                        1/1     Running   0          3m27s
-couchdb-77db98cf7b-xnnvb                       1/1     Running   0          3m27s
-influxdb-b95b6479-r8wh8                        1/1     Running   0          3m27s
-kafka-657b5fb77-dp2d6                          1/1     Running   0          3m27s
-pipeline-elements-all-jvm-79c445dbd9-m8xcs     1/1     Running   0          3m27s
-sources-watertank-simulator-6c6b8844f6-6b4d7   1/1     Running   0          3m27s
-ui-b94bd9766-rm6zb                             2/2     Running   0          3m27s
-zookeeper-5d9947686f-6nzgs                     1/1     Running   0          3m26s
-```
 
-After all containers are successfully started just got to your browser and visit any of the k8s cluster nodes on
-`http://<NODE_IP>` to finish the installation.
+The `values.yaml` file contains several configuration options to customize your StreamPipes installation. See the file for all configuration options.
 
-> **NOTE**: If you're running Docker for Mac or Docker for Windows with a local k8s cluster, the above step to use your host IP might not work. Luckily, you can port-forward a service port to your localhost using the following command to be able to access the UI either via `http://localhost` or `http://<HOST_IP>` (you require sudo to run this command in order to bind to a privileged port).
-```bash
-kubectl port-forward svc/ui --address=0.0.0.0 80:80
-```
+## Ingress
 
-Starting the **full** helm chart option is almost the same:
-```bash
-helm install streampipes ./ --set deployment=full
-```
+The helm chart provides several options to configure an Ingress or to define an Ingressroute that directly integrates with Traefik.
 
-**Deleting** the current helm chart deployment:
+## Dynamic Volume Provisioning
+
+You can override the `storageClassName` variable to configure StreamPipes for dynamic volume provisioning.
+
+
+## Deleting the current helm chart deployment:
 ```bash
-helm del streampipes
+helm uninstall streampipes
 ```
diff --git a/website-v2/versioned_docs/version-0.92.0/05_deploy-docker.md b/website-v2/versioned_docs/version-0.92.0/05_deploy-docker.md
index 20e626d..973f430 100644
--- a/website-v2/versioned_docs/version-0.92.0/05_deploy-docker.md
+++ b/website-v2/versioned_docs/version-0.92.0/05_deploy-docker.md
@@ -28,10 +28,16 @@
 > **NOTE**: On purpose, we disabled all port mappings except of http port **80** to access the StreamPipes UI to provide minimal surface for conflicting ports.
 
 ## Usage
-We provide two options to get you going:
+We provide several options to get you going:
 
-- **default**: a light-weight option with few pipeline elements, needs less memory
-- **full**:  contains more pipeline elements, requires **>16 GB RAM** (recommended)
+- **default**: Default docker-compose file, called `docker-compose.yml`.
+
+:::info
+
+Other options include configurations for the internally used message broker. The current default is `Kafka`, but you can also start StreamPipes with `Nats`, `MQTT` or `Apache Pulsar`. 
+Use one of the other provided docker-compose files.
+
+:::
 
 **Starting** the **default** option is as easy as simply running:
 > **NOTE**: Starting might take a while since `docker-compose up` also initially pulls all Docker images from Dockerhub.
@@ -49,22 +55,21 @@
 # docker-compose down -v
 ```
 
-Starting the **full** option is almost the same, just specify the `docker-compose.full.yml` file:
+Starting the **nats** option is almost the same, just specify the `docker-compose.nats.yml` file:
 ```bash
-docker-compose -f docker-compose.full.yml up -d
+docker-compose -f docker-compose.nats.yml up -d
 # go to after all services are started http://localhost
 ```
 Stopping the **full** option:
 ```bash
-docker-compose -f docker-compose.full.yml down
-#docker-compose -f docker-compose.full.yml down -v
+docker-compose -f docker-compose.nats.yml down
+#docker-compose -f docker-compose.nats.yml down -v
 ```
 
 ## Update services
 To actively pull the latest available Docker images use:
 ```bash
 docker-compose pull
-# docker-compose -f docker-compose.full.yml pull
 ```
 
 ## Upgrade
diff --git a/website-v2/versioned_docs/version-0.92.0/05_deploy-kubernetes.md b/website-v2/versioned_docs/version-0.92.0/05_deploy-kubernetes.md
index fe84308..327a568 100644
--- a/website-v2/versioned_docs/version-0.92.0/05_deploy-kubernetes.md
+++ b/website-v2/versioned_docs/version-0.92.0/05_deploy-kubernetes.md
@@ -5,56 +5,31 @@
 ---
 
 ## Prerequisites
-Requires Helm (https://helm.sh/) and an active connection to a kubernetes cluster with a running tiller server.
-
-Tested with:
-* K3s v1.18.8+k3s1 (6b595318) with K8s v1.18.8
-* Helm v3.1.2
+Requires Helm (https://helm.sh/) and an actively running Kubernetes cluster.
 
 ## Usage
-We provide two helm chart options to get you going:
+We provide helm chart options to get you going in the `installer/k8s`folder.
 
-- **default**: a light-weight option with few pipeline elements, needs less memory
-- **full**:  contains more pipeline elements, requires **>16 GB RAM** (recommended)
-
-**Starting** the **default** helm chart option is as easy as simply running the following command from the root of this folder:
+**Starting** the default helm chart option is as easy as simply running the following command from the root of this folder:
 > **NOTE**: Starting might take a while since we also initially pull all Docker images from Dockerhub.
 
 ```bash
 helm install streampipes ./
 ```
 After a while, all containers should successfully started, indicated by the `Running` status.
-```bash
-kubectl get pods
-NAME                                           READY   STATUS    RESTARTS   AGE
-activemq-66d58f47cf-2r2nb                      1/1     Running   0          3m27s
-backend-76ddc486c8-nswpc                       1/1     Running   0          3m27s
-connect-master-7b477f9b79-8dfvr                1/1     Running   0          3m26s
-connect-worker-78d89c989c-9v8zs                1/1     Running   0          3m27s
-consul-55965f966b-gwb7l                        1/1     Running   0          3m27s
-couchdb-77db98cf7b-xnnvb                       1/1     Running   0          3m27s
-influxdb-b95b6479-r8wh8                        1/1     Running   0          3m27s
-kafka-657b5fb77-dp2d6                          1/1     Running   0          3m27s
-pipeline-elements-all-jvm-79c445dbd9-m8xcs     1/1     Running   0          3m27s
-sources-watertank-simulator-6c6b8844f6-6b4d7   1/1     Running   0          3m27s
-ui-b94bd9766-rm6zb                             2/2     Running   0          3m27s
-zookeeper-5d9947686f-6nzgs                     1/1     Running   0          3m26s
-```
 
-After all containers are successfully started just got to your browser and visit any of the k8s cluster nodes on
-`http://<NODE_IP>` to finish the installation.
+The `values.yaml` file contains several configuration options to customize your StreamPipes installation. See the file for all configuration options.
 
-> **NOTE**: If you're running Docker for Mac or Docker for Windows with a local k8s cluster, the above step to use your host IP might not work. Luckily, you can port-forward a service port to your localhost using the following command to be able to access the UI either via `http://localhost` or `http://<HOST_IP>` (you require sudo to run this command in order to bind to a privileged port).
-```bash
-kubectl port-forward svc/ui --address=0.0.0.0 80:80
-```
+## Ingress
 
-Starting the **full** helm chart option is almost the same:
-```bash
-helm install streampipes ./ --set deployment=full
-```
+The helm chart provides several options to configure an Ingress or to define an Ingressroute that directly integrates with Traefik.
 
-**Deleting** the current helm chart deployment:
+## Dynamic Volume Provisioning
+
+You can override the `storageClassName` variable to configure StreamPipes for dynamic volume provisioning.
+
+
+## Deleting the current helm chart deployment:
 ```bash
-helm del streampipes
+helm uninstall streampipes
 ```
