diff --git a/README.md b/README.md
index 8c4181fabb997357e5452c3c095905ce1a4cba65..a553e5911f0a48404b716ad7fc99d5909b935ef0 100644
--- a/README.md
+++ b/README.md
@@ -30,6 +30,7 @@ This role makes use of a few variables which are set in case the target server i
 * docker_odoo
   * extra_app
   * metabase
+* docker_registry_auth : configuration for connecting to docker registry (goes in /root/.docker/config.json)
 
 Note : all variables defined in defualts_main.yml might be useful in another role, in that case, it would be better to have them overwritten at play or host_vars level in order to make sure the same value is provided to each independant role
 
diff --git a/tasks/main.yml b/tasks/main.yml
index 71fa60b837aa5ddf4866744db92bf93cdee02acc..efe8f5d6e182556fdb342d6e3d80da8a144ecca5 100644
--- a/tasks/main.yml
+++ b/tasks/main.yml
@@ -73,6 +73,24 @@
     mode: '0644'
   notify: restart docker daemon
 
+- name: Create .docker repo
+  file:
+    name: /root/.docker
+    state: directory
+    owner: root
+    group: root
+    mode: '0755'
+  when: docker_registry_auth is defined
+
+- name: add specific repo auth
+  copy:
+    content: "{{ docker_registry_auth }}"
+    dest: /root/.docker/config.json
+    owner: root
+    group: root
+    mode: '0644'
+  when: docker_registry_auth is defined
+
 - name: Create docker repo
   file:
     name: /home/docker/backups