diff --git a/roles/build/templates/cortex/Dockerfile.j2 b/roles/build/templates/cortex/Dockerfile.j2
index 76c60662c05675b61f7acfbde36ad46aa1351c44..ceeb6a59132f30e1ca21978a4ee873b97f05e2d3 100644
--- a/roles/build/templates/cortex/Dockerfile.j2
+++ b/roles/build/templates/cortex/Dockerfile.j2
@@ -10,7 +10,7 @@ RUN echo "[thehive-project]" > /etc/yum.repos.d/thehive.repo && \
     yum install -y epel-release && \
     rpm --import https://raw.githubusercontent.com/TheHive-Project/TheHive/master/PGP-PUBLIC-KEY && \
     rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch && \
-    yum install -y cortex supervisor daemonize vim net-tools telnet htop python3-pip.noarch git gcc python3-devel.x86_64 ssdeep-devel.x86_64 python3-wheel.noarch libexif-devel.x86_64 libexif.x86_64 perl-Image-ExifTool.noarch  gcc-c++ whois && \
+    yum install -y cortex supervisor rsync daemonize vim net-tools telnet htop python3-pip.noarch git gcc python3-devel.x86_64 ssdeep-devel.x86_64 python3-wheel.noarch libexif-devel.x86_64 libexif.x86_64 perl-Image-ExifTool.noarch  gcc-c++ whois && \
     rpm -Uvh https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-oss-6.8.13.rpm && \
     chown -R elasticsearch:elasticsearch /etc/elasticsearch && \
     mkdir -p /home/cortex && \
diff --git a/roles/cortex/tasks/main.yml b/roles/cortex/tasks/main.yml
index 0c150c2d77aceeed67d702cd02f85b26ebff0504..5216d2c717a180540106714d58ae7d21241e4554 100644
--- a/roles/cortex/tasks/main.yml
+++ b/roles/cortex/tasks/main.yml
@@ -1,96 +1,17 @@
 ---
 
-- name: Copy cacert to ca-trust dir
-  remote_user: root
-  copy:
-    src: "files/{{ca_cn}}.crt"
-    dest: /etc/pki/ca-trust/source/anchors/ca.crt
+- include: start.yml
   tags:
-    - start
-    - startcortex
-
-- name: Install cacert to root truststore
-  remote_user: root
-  command: "update-ca-trust"
-  tags:
-    - start
-    - startcortex
-
-- name: Copy certificates in cortex conf dir
-  remote_user: cortex
-  copy:
-    src:  "{{ item }}"
-    dest: "/etc/cortex/{{ item }}"
-    mode: 0600
-  with_items:
-    - "{{ inventory_hostname }}.p12"
-    - "{{ inventory_hostname }}.crt"
-    - "{{ inventory_hostname }}.key"
-    - cacerts.jks
-    - "{{ca_cn}}.crt"
-  tags:
-    - start
-    - startcortex
-
-- name: Configure embedded Elasticsearch 6
-  remote_user: root
-  template:
-    src: jvm.options.j2
-    dest: /etc/elasticsearch/jvm.options
-  tags:
-    - start
-    - startcortex
-
-- name: Start embedded Elasticsearch 6
-  remote_user: root
-  command: "supervisorctl start elasticsearch"
-  tags:
-    - start
-    - startcortex
-
-- name: Configure Cortex
-  remote_user: cortex
-  template:
-    src: application.conf.j2
-    dest: /etc/cortex/application.conf
+   - start
+- include: stop.yml
   tags:
-    - start
-    - startcortex
-
-- name: Start Cortex
-  remote_user: root
-  command: "supervisorctl start cortex"
+   - stop
+   - stop-cortex
+- include: update-config.yml
   tags:
-    - start
-    - startcortex
-
-- name: Wait for Cortex
-  remote_user: root
-  wait_for:
-    host: "{{groups['cortex'][0]}}"
-    port: 9001
-    state: started
-    delay: 5
+   - update-config
+   - update-cortex-config
+- include: restart.yml
   tags:
-    - start
-    - startcortex
-
-- name: Set Autostart for supervisord's services
-  shell: "sed -i 's/autostart=false/autostart=true/g' /etc/supervisord.conf"
-  tags:
-    - start
-
-- name: Stop Elasticsearch
-  remote_user: root
-  command: "supervisorctl stop elasticsearch"
-  tags:
-    - stop
-    - stopelasticsearch
-
-- name: Stop Cortex
-  remote_user: root
-  command: "supervisorctl stop cortex"
-  tags:
-    - stop
-    - stopcortex
-
+   - restart
+   - restart-cortex
diff --git a/roles/cortex/tasks/restart.yml b/roles/cortex/tasks/restart.yml
index 2c4486b100ad437b8c5ed6ff0a9b9c0ba324ea7d..d7b6e6a1adafb6aee4a590444b8d7cd3e67cd22d 100644
--- a/roles/cortex/tasks/restart.yml
+++ b/roles/cortex/tasks/restart.yml
@@ -1,6 +1,6 @@
 ---
 
-- name: Restart embedded Elasticsearch 6
+- name: Restart Elasticsearch
   remote_user: root
   command: "supervisorctl restart elasticsearch"
 
diff --git a/roles/cortex/tasks/stop.yml b/roles/cortex/tasks/stop.yml
index 97dd720756d347fe287cf401bd8f3af0ec395bab..ee4516b0631564e891ac80bc1d37d4d514090ed9 100644
--- a/roles/cortex/tasks/stop.yml
+++ b/roles/cortex/tasks/stop.yml
@@ -7,3 +7,4 @@
 - name: Stop Cortex
   remote_user: root
   command: "supervisorctl stop cortex"
+