diff --git a/defaults/main.yml b/defaults/main.yml
index 77a53739042a1ddfe45bf39e76f20cca50018f7f..b6dc981408eee920585cfad13bde5db9c7a53353 100644
--- a/defaults/main.yml
+++ b/defaults/main.yml
@@ -14,3 +14,6 @@ gitlab_runner_executor: 'shell'
 gitlab_runner_docker_image: ''
 # Runner tags
 gitlab_runner_tags: []
+# Docker privileged mode
+gitlab_runner_docker_privileged: false
+
diff --git a/handlers/main.yml b/handlers/main.yml
index 731308f48a46fffef8df772ac11b722a5b7b1613..84f1e43ec964baf9ca8f49caa70123684e669405 100644
--- a/handlers/main.yml
+++ b/handlers/main.yml
@@ -1,2 +1,3 @@
 ---
-# handlers file for gitlab-runner
+- name: restart_gitlab_runner
+  service: name=gitlab-runner state=restarted
diff --git a/tasks/global-setup.yml b/tasks/global-setup.yml
index 0c141ffa182500b3fa1d22fd9546133ba3fa0f0a..403e175eeec09fe2cd02710d5995ff30f9d668c2 100644
--- a/tasks/global-setup.yml
+++ b/tasks/global-setup.yml
@@ -2,6 +2,18 @@
 - name: Set concurrent option
   lineinfile:
     dest: /etc/gitlab-runner/config.toml
-    regexp: ^concurrent =
-    line: concurrent = {{ gitlab_runner_concurrent }}
+    regexp: '^(\s*)concurrent ='
+    line: '\1concurrent = {{ gitlab_runner_concurrent }}'
     state: present
+    backrefs: yes
+  notify: restart_gitlab_runner
+
+- name: Set docker privileged option
+  lineinfile:
+    dest: /etc/gitlab-runner/config.toml
+    regexp: '^(\s*)privileged ='
+    line: '\1privileged = {{ gitlab_runner_docker_privileged | lower}}'
+    state: present
+    backrefs: yes
+  notify: restart_gitlab_runner
+