diff --git a/tasks/main.yml b/tasks/main.yml
index f941a842e2f23d7b78c5c98a7df4b004b73dcfdb..66b00f42c15887853e0cd0552d7c68754112f985 100644
--- a/tasks/main.yml
+++ b/tasks/main.yml
@@ -36,4 +36,12 @@
         groups: docker
         append: yes
 
+    - name: Deply ansible script to run inside Docker
+      template:
+        src: ansible.sh
+        dest: /usr/local/bin/ansible
+        owner: root
+        group: root
+        mode: 0755
+
   when: not excluded_roles or "gitlab-runner" not in excluded_roles
diff --git a/templates/ansible.sh b/templates/ansible.sh
new file mode 100644
index 0000000000000000000000000000000000000000..f4c7c69f397f24a32ffc83467527f4a956005dfa
--- /dev/null
+++ b/templates/ansible.sh
@@ -0,0 +1,18 @@
+#!/bin/bash
+
+COMPANY={{ lookup('env','ANSIBLE_COMPANY') }}
+DOCKERIFACE=$(/sbin/ifconfig docker0 2>/dev/null | grep 'inet addr:' | cut -d: -f2 | cut -d' ' -f1)
+if [ "x${DOCKERIFACE}" != "x" ]; then
+  FLUENTD="--env FLUENTD_SERVER=${DOCKERIFACE}"
+fi
+docker run \
+  --env ANSIBLE_LOG_PATH=/var/log/ansible/$COMPANY.log \
+  --env FLUENTD_COMPANY=$COMPANY \
+  ${FLUENTD} \
+  --env-file /home/gitlab-runner/.a/environment \
+  --volume /home/gitlab-runner/.ssh/id_rsa:/root/.ssh/id_rsa \
+  --volume /home/gitlab-runner/.a/variables.yml:/root/.ansible/secrets \
+  --volume /home/gitlab-runner/.a/inventories/$COMPANY:/root/.ansible \
+  --volume /var/log/ansible:/var/log/ansible \
+  registry.lakedrops.com/ansible-inventories/$COMPANY \
+  $@