diff --git a/pull_stack.sh b/pull_stack.sh
new file mode 100644
index 0000000..8fc610d
--- /dev/null
+++ b/pull_stack.sh
@@ -0,0 +1,11 @@
+#!/bin/bash
+branch = "master"
+if [ -n "$1" ]; then
+    branch = $1
+fi
+arr=("oc-catalog" "oc-datacenter" "oc-peer" "oc-scheduler" "oc-shared" "oc-workflow" "oc-workspace" "oc-auth" "oc-schedulerd" "oc-front")
+
+for i in "${arr[@]}"
+do
+   git pull origin $branch
+done
\ No newline at end of file
diff --git a/run_dev.sh b/run_dev.sh
new file mode 100644
index 0000000..44848bb
--- /dev/null
+++ b/run_dev.sh
@@ -0,0 +1,12 @@
+#!/bin/bash
+
+docker network create catalog | true
+
+arr=("oc-catalog" "oc-datacenter" "oc-peer" "oc-scheduler" "oc-shared" "oc-workflow" "oc-workspace" "oc-auth" "oc-schedulerd" "oc-front")
+
+for i in "${arr[@]}"
+do
+   echo $i
+   docker kill $i | true 
+   cd ../$i && make dev | true
+done
\ No newline at end of file
diff --git a/traefik-dev-reverse/docker-compose.yml b/traefik-dev-reverse/docker-compose.yml
new file mode 100644
index 0000000..79e9607
--- /dev/null
+++ b/traefik-dev-reverse/docker-compose.yml
@@ -0,0 +1,13 @@
+version: '3.8'
+
+services:
+  traefik:
+    image: traefik:v3.0
+    container_name: traefik
+    restart: always
+    ports:
+      - "8000:8000"  # Expose Traefik on port 8000
+    volumes:
+      - "/var/run/docker.sock:/var/run/docker.sock"
+      - "./traefik.yml:/etc/traefik/traefik.yml"
+      - "./dynamic.yml:/etc/traefik/dynamic.yml"
\ No newline at end of file
diff --git a/traefik-dev-reverse/dynamic.yml b/traefik-dev-reverse/dynamic.yml
new file mode 100644
index 0000000..5dba14a
--- /dev/null
+++ b/traefik-dev-reverse/dynamic.yml
@@ -0,0 +1,167 @@
+http:
+  routers:
+    workspace-router:
+      rule: "PathPrefix(`/workspace`)"
+      entryPoints:
+        - "web"
+      service: workspace-service
+      middlewares:
+        - replace-workspace
+    workflow-router:
+      rule: "PathPrefix(`/workflow`)"
+      entryPoints:
+        - "web"
+      service: workflow-service
+      middlewares:
+        - replace-workflow
+    shared-router:
+      rule: "PathPrefix(`/shared`)"
+      entryPoints:
+        - "web"
+      service: shared-service
+      middlewares:
+        - replace-shared
+    scheduler-router:
+      rule: "PathPrefix(`/scheduler`)"
+      entryPoints:
+        - "web"
+      service: scheduler-service
+      middlewares:
+        - replace-scheduler
+    peer-router:
+      rule: "PathPrefix(`/peer`)"
+      entryPoints:
+        - "web"
+      service: peer-service
+      middlewares:
+        - replace-peer
+    datacenter-router:
+      rule: "PathPrefix(`/datacenter`)"
+      entryPoints:
+        - "web"
+      service: datacenter-service
+      middlewares:
+        - replace-datacenter
+    catalog-router:
+      rule: "PathPrefix(`/catalog`)"
+      entryPoints:
+        - "web"
+      service: catalog-service
+      middlewares:
+        - replace-catalog
+    auth-router:
+      rule: "PathPrefix(`/auth`)"
+      entryPoints:
+        - "web"
+      service: auth-service
+      middlewares:
+        - replace-auth
+    front-router:
+      rule: "PathPrefix(`/`)"
+      entryPoints:
+        - "web"
+      service: front-service
+      middlewares:
+        - replace-front
+
+  services:
+    workspace-service:
+      loadBalancer:
+        servers:
+          - url: "http://localhost:8089"
+    workflow-service:
+      loadBalancer:
+        servers:
+          - url: "http://localhost:8088"
+    shared-service:
+      loadBalancer:
+        servers:
+          - url: "http://localhost:8091"
+    scheduler-service:
+      loadBalancer:
+        servers:
+          - url: "http://localhost:8090"
+    peer-service:
+      loadBalancer:
+        servers:
+          - url: "http://localhost:8093"
+    datacenter-service:
+      loadBalancer:
+        servers:
+          - url: "http://localhost:8092"
+    catalog-service:
+      loadBalancer:
+        servers:
+          - url: "http://localhost:8087"
+    auth-service:
+      loadBalancer:
+        servers:
+          - url: "http://localhost:8094"
+    front-service:
+      loadBalancer:
+        servers:
+          - url: "http://localhost:8080"
+
+  middlewares:
+    workspace: 
+      forwardauth: 
+        address: "http://localhost:8094/oc/forward"
+    workflow: 
+      forwardauth: 
+        address: "http://localhost:8094/oc/forward"
+    shared: 
+      forwardauth: 
+        address: "http://localhost:8094/oc/forward"
+    scheduler: 
+      forwardauth: 
+        address: "http://localhost:8094/oc/forward"
+    peer: 
+      forwardauth: 
+        address: "http://localhost:8094/oc/forward"
+    datacenter: 
+      forwardauth: 
+        address: "http://localhost:8094/oc/forward"
+    catalog: 
+      forwardauth: 
+        address: "http://localhost:8094/oc/forward"
+    auth: 
+      forwardauth: 
+        address: "http://localhost:8094/oc/forward"
+    auth: 
+      forwardauth: 
+        address: "http://localhost:8094/oc/forward"
+    replace-workspace:
+      replacePathRegex:
+        regex: "^/workspace(.*)"
+        replacement: "/oc$1"
+    replace-workflow:
+      replacePathRegex:
+        regex: "^/workspace(.*)"
+        replacement: "/oc$1"
+    replace-shared:
+      replacePathRegex:
+        regex: "^/shared(.*)"
+        replacement: "/oc$1"
+    replace-scheduler:
+      replacePathRegex:
+        regex: "^/scheduler(.*)"
+        replacement: "/oc$1"
+    replace-peer:
+      replacePathRegex:
+        regex: "^/peer(.*)"
+        replacement: "/oc$1"
+    replace-datacenter:
+      replacePathRegex:
+        regex: "^/datacenter(.*)"
+        replacement: "/oc$1"
+    replace-catalog:
+      replacePathRegex:
+        regex: "^/catalog(.*)"
+        replacement: "/oc$1"
+    replace-auth:
+      replacePathRegex:
+        regex: "^/auth(.*)"
+        replacement: "/oc$1"
+    replace-front:
+      stripprefix:
+        prefixes: "/"
\ No newline at end of file
diff --git a/traefik-dev-reverse/traefik.yml b/traefik-dev-reverse/traefik.yml
new file mode 100644
index 0000000..2bdab53
--- /dev/null
+++ b/traefik-dev-reverse/traefik.yml
@@ -0,0 +1,8 @@
+entryPoints:
+  web:
+    address: ":8000"  # Single entry point for all requests
+
+providers:
+  file:
+    filename: "/etc/traefik/dynamic.yml"
+    watch: true
\ No newline at end of file