diff --git a/host_vars/webserver b/host_vars/webserver
index 6374154499347611145b6265fedeffa24cbbd349..0e1265fc07841299bff720b37b62592eb0ef842f 100644
--- a/host_vars/webserver
+++ b/host_vars/webserver
@@ -79,6 +79,8 @@ alert:
     - { name: "dokuwiki_app_1" }
     - { name: "coturn_coturn_1" }
     - { name: "gitlab_app_1" }
+    - { name: "gitlab_dind_1" }
+    - { name: "gitlab_runner_1" }
     - { name: "hackmd_app_1" }
     - { name: "hackmd_db_1" }
     - { name: "icinga_app_1" }
diff --git a/webserver/docker_gitlab/tasks/main.yml b/webserver/docker_gitlab/tasks/main.yml
index 4cb3d95bf447c41f32147231d9423d32d5c09bb9..5091020b76bad47f8219002978a4cb03496143f6 100644
--- a/webserver/docker_gitlab/tasks/main.yml
+++ b/webserver/docker_gitlab/tasks/main.yml
@@ -4,6 +4,7 @@
   with_items:
    - { path: /srv/shared/noreply_email_pass,  length: -1 }
    - { path: /srv/ldap/secret/ldap_readonly_pass,  length: -1 }
+   - { path: /srv/gitlab/runner_registration_token,  length: -1 }
 
 # Benötigte Verzeichnisstrukturen erstellen
 
@@ -18,6 +19,7 @@
     - "/srv/gitlab/conf/"
     - "/srv/gitlab/data/"
     - "/srv/gitlab/log"
+    - "/srv/gitlab/runner"
 
 # Konfigurationsdateien erstellen
 
diff --git a/webserver/docker_gitlab/templates/docker-compose.yml b/webserver/docker_gitlab/templates/docker-compose.yml
index c4e53cb569f0c158c6d4a82695bc2cf49e521859..d0509756431961df6fcd76cf9e9040442654bc22 100644
--- a/webserver/docker_gitlab/templates/docker-compose.yml
+++ b/webserver/docker_gitlab/templates/docker-compose.yml
@@ -29,6 +29,65 @@ services:
       - default
       - web
 
+
+  # Docker in Docker for Gitlab-Runner execution
+  # see https://forum.gitlab.com/t/example-gitlab-runner-docker-compose-configuration/67344
+
+  dind:
+
+    image: docker:20-dind
+    restart: always
+    privileged: true
+    environment:
+      DOCKER_TLS_CERTDIR: ""
+    command:
+      - --storage-driver=overlay2
+    networks:
+      - default
+
+
+  runner:
+
+    restart: always
+    image: registry.gitlab.com/gitlab-org/gitlab-runner:alpine
+    depends_on:
+      - dind
+      - app
+    environment:
+      - DOCKER_HOST=tcp://dind:2375
+    volumes:
+      - "/srv/gitlab/runner:/etc/gitlab-runner:z"
+    networks:
+      - default
+
+  
+  # Runner Registration 
+  # Excecute once when Gitlab is running 
+
+  # register-runner:
+
+  #   restart: 'no'
+  #   image: registry.gitlab.com/gitlab-org/gitlab-runner:alpine
+  #   depends_on:
+  #     - dind
+  #     - app
+  #   environment:
+  #     - CI_SERVER_URL=https://{{ domain }}
+  #     - REGISTRATION_TOKEN={{ runner_registration_token }}
+  #   command:
+  #     - register
+  #     - --non-interactive
+  #     - --locked=false
+  #     - --name=warpzone-webserver
+  #     - --executor=docker
+  #     - --docker-image=docker:20-dind
+  #     - --docker-volumes=/var/run/docker.sock:/var/run/docker.sock
+  #   volumes:
+  #     - "/srv/gitlab/runner:/etc/gitlab-runner:z"
+  #   networks:
+  #     - default
+
+
 networks:
   web:
     external: true