diff --git a/functions b/functions
index 900377e4f72486f6699ecf736f96adfbc04e92da..e8a049414bca2b14b158444dac1b94c2ca90d9be 160000
--- a/functions
+++ b/functions
@@ -1 +1 @@
-Subproject commit 900377e4f72486f6699ecf736f96adfbc04e92da
+Subproject commit e8a049414bca2b14b158444dac1b94c2ca90d9be
diff --git a/intern/docker_omada/tasks/main.yml b/intern/docker_omada/tasks/main.yml
new file mode 100644
index 0000000000000000000000000000000000000000..413c9109605e23df34696b0f74e33fbcc7be527b
--- /dev/null
+++ b/intern/docker_omada/tasks/main.yml
@@ -0,0 +1,30 @@
+
+---
+
+- name: "create folder struct for {{ servicename }}"
+  file: 
+    path: "{{ basedir }}" 
+    state: "directory"
+
+- name: "create folder struct for {{ servicename }}"
+  file: 
+    path: "{{ basedir }}/{{ item }}" 
+    state: "directory"
+    owner: 508
+    group: 508
+  with_items:
+    - "data"
+    - "logs"
+
+- name: "create config files for {{ servicename }}"
+  template: 
+    src: "{{ item }}"
+    dest: "{{ basedir }}/{{ item }}"
+  with_items:
+    - docker-compose.yml 
+
+- name: "start {{ servicename }} docker"
+  docker_compose:
+    project_src: "{{ basedir }}"
+    state: present
+
diff --git a/intern/docker_omada/templates/docker-compose.yml b/intern/docker_omada/templates/docker-compose.yml
new file mode 100644
index 0000000000000000000000000000000000000000..c0e1ef0901a503737c666d92227012131e8070a2
--- /dev/null
+++ b/intern/docker_omada/templates/docker-compose.yml
@@ -0,0 +1,54 @@
+
+version: "3"
+
+services:
+
+  app:
+
+    image: mbentley/omada-controller:5.7
+    restart: always
+    ports:
+      - 8088:8088
+      - 8843:8843 
+      - 27001:27001/udp 
+      - 29810:29810/udp 
+      - 29811:29811 
+      - 29812:29812 
+      - 29813:29813 
+      - 29814:29814 
+    volumes:
+      - "{{ basedir }}/data:/opt/tplink/EAPController/data"
+      - "{{ basedir }}/logs:/opt/tplink/EAPController/logs"
+    environment:
+      TZ: Europe/Berlin
+      PUID: 508
+      PGID: 508
+      MANAGE_HTTP_PORT: 80
+      MANAGE_HTTPS_PORT: 443
+      PORTAL_HTTP_PORT: 8088
+      PORTAL_HTTPS_PORT: 8843
+      PORT_ADOPT_V1: 29812
+      PORT_APP_DISCOVERY: 27001
+      PORT_DISCOVERY: 29810
+      PORT_MANAGER_V1: 29811
+      PORT_MANAGER_V2: 29814
+      PORT_UPGRADE_V1: 29813
+      SHOW_SERVER_LOGS: "true"
+      SHOW_MONGODB_LOGS: "false"
+      SSL_CERT_NAME: "tls.crt"
+      SSL_KEY_NAME: "tls.key"
+    labels:
+      - traefik.enable=true
+      - traefik.http.routers.{{ servicename }}.rule=Host(`{{ domain }}`)
+      - traefik.http.routers.{{ servicename }}.entrypoints=websecure
+      - traefik.http.services.{{ servicename }}.loadbalancer.serversTransport={{ servicename }}
+      - traefik.http.services.{{ servicename }}.loadbalancer.server.port=443
+      - traefik.http.services.{{ servicename }}.loadbalancer.server.scheme=https
+      - traefik.http.serversTransports.{{ servicename }}.insecureSkipVerify=true
+    networks:
+      - default
+      - web
+
+networks:
+  web:
+    external: true
diff --git a/site.yml b/site.yml
index a6364211c99a022a4f1b9fcaeccb1f448520988e..4f9e2907c9e4eed08ff51802a693a9bd371aa6bd 100644
--- a/site.yml
+++ b/site.yml
@@ -82,6 +82,12 @@
         domain: "openhab.warpzone.lan",
         influxdb_port: 28086
       }
+    - {
+        role: intern/docker_omada, tags: omada,
+        servicename: omada,
+        basedir: /srv/omada,
+        domain: "omada.warpzone.lan"
+      }  
     - { 
         role: intern/docker_unifi, tags: unifi, 
         servicename: unifi,