diff --git a/group_vars/prod b/group_vars/prod
index e60bae0dc036573bcb15fd22d829dfbc2f7b34ac..a9fb48e7a9e87fc14776fb4f26187d4fe62c9926 100644
--- a/group_vars/prod
+++ b/group_vars/prod
@@ -25,6 +25,14 @@ smtp_port: 25
 noreply_email_user: noreply@warpzone.ms
 
 
+# Globale Mail konfiguration 
+mail_domains:
+  warpzonems:
+    maildomain: warpzone.ms 
+    mxserver: mail.warpzone.ms
+    mxhostname: webserver
+
+
 # Zentrale InfluxDb für Systemmonitoring  
 influxdb_sysmon:
   url: "http://192.168.0.201:18086"
diff --git a/host_vars/webserver b/host_vars/webserver
index a1d6b53352a0996b01613c6116663118cc7acf5a..c6a394dfef5b47cb837b878620c3679b86bcbcc3 100644
--- a/host_vars/webserver
+++ b/host_vars/webserver
@@ -33,6 +33,8 @@ webserver_domains:
   - "warpzone.ms"
   - "api.warpzone.ms"
   - "auth.warpzone.ms"
+  - "autodiscover.warpzone.ms"
+  - "autoconfig.warpzone.ms"
   - "alerta.warpzone.ms"
   - "gitlab.warpzone.ms"
   - "infra.warpzone.ms"
diff --git a/site.yml b/site.yml
index 9c518c24e677e38b248a99f7a536b6f5de1a0a8c..b72a35ac92a31f97a5ea5be0480ee92fd2e1653b 100644
--- a/site.yml
+++ b/site.yml
@@ -59,7 +59,12 @@
         servicename: traefik,
         domain: "warpzone.ms",
         domain_default: "www.warpzone.ms" 
-      }      
+      }   
+    - { 
+        role: webserver/docker_autodiscover, tags: autodiscover,
+        servicename: autodiscover, 
+        basedir: /srv/autodiscover
+      }
     - { 
         role: webserver/docker_dokuwiki, tags: dokuwiki,
         servicename: "dokuwiki",
diff --git a/webserver/docker_autodiscover/tasks/main.yml b/webserver/docker_autodiscover/tasks/main.yml
new file mode 100644
index 0000000000000000000000000000000000000000..039583792345c18142b09725e777e341bd1f6851
--- /dev/null
+++ b/webserver/docker_autodiscover/tasks/main.yml
@@ -0,0 +1,32 @@
+---
+
+- name: "create folder struct for {{ servicename }}"
+  file:
+    path: "{{ item }}"
+    state: "directory"
+  with_items:
+    - "{{ basedir }}"
+
+
+- name: deploy {{ servicename }} config
+  template:
+    dest:  "{{ basedir }}/{{ item }}"
+    src: "{{ item }}"
+  with_items:
+    - docker-compose.yml
+  register: config
+
+
+# Start containers
+- name: "stop {{ servicename }} docker"
+  docker_compose:
+    project_src: "{{ basedir }}"
+    state: absent
+  when: config.changed
+
+
+- name: "start {{ servicename }} docker"
+  docker_compose:
+    project_src: "{{ basedir }}"
+    state: present
+
diff --git a/webserver/docker_autodiscover/templates/docker-compose.yml b/webserver/docker_autodiscover/templates/docker-compose.yml
new file mode 100644
index 0000000000000000000000000000000000000000..34257fe28ab867b258afc5995a923b642e46298b
--- /dev/null
+++ b/webserver/docker_autodiscover/templates/docker-compose.yml
@@ -0,0 +1,34 @@
+version: '2.1'
+
+services:
+
+{% for domain in mail_domains %}
+
+  {{ domain }}:
+    image: monogramm/autodiscover-email-settings:1.4.0
+    environment:
+      - DOMAIN={{ mail_domains[domain].maildomain }}
+      - IMAP_HOST={{ mail_domains[domain].mxserver }}
+      - IMAP_PORT=993
+      - IMAP_SOCKET=SSL
+      - POP_HOST={{ mail_domains[domain].mxserver }}
+      - POP_PORT=995
+      - POP_SOCKET=SSL
+      - SMTP_HOST={{ mail_domains[domain].mxserver }}
+      - SMTP_PORT=587
+      - SMTP_SOCKET=STARTTLS
+    labels:
+      - traefik.enable=true
+      - traefik.http.routers.{{ servicename }}-{{ domain }}.rule=Host(`autodiscover.{{ mail_domains[domain].maildomain }}`) || Host(`autoconfig.{{ mail_domains[domain].maildomain }}`)
+      - traefik.http.routers.{{ servicename }}-{{ domain }}.entrypoints=websecure
+      - traefik.http.services.{{ servicename }}-{{ domain }}.loadbalancer.server.port=8000
+    networks:
+      - default 
+      - web
+
+{% endfor %}
+
+networks:
+  web:
+    external: true
+