diff --git a/frontend/Dockerfile b/frontend/Dockerfile
index e1a86adda9bdc4059a2197ec00f9c0b930f4f115..5f0b7e51048f4323aed09f2a1e2717fb675d3964 100644
--- a/frontend/Dockerfile
+++ b/frontend/Dockerfile
@@ -15,5 +15,15 @@ COPY . .
 RUN npm run build
 
 # stage 2: move static frontend stuff to caddys root folder to make caddy serve our frontend instead of spring
-FROM caddy:alpine
-COPY --from=build-frontend /app/dist /usr/share/caddy
\ No newline at end of file
+FROM node:20-alpine
+
+WORKDIR /app
+
+RUN npm install -g http-server
+
+COPY --from=build-frontend /app/dist /app
+
+EXPOSE 80
+
+# einfacher http-server
+CMD ["http-server", "/app", "-p", "80"]
\ No newline at end of file
diff --git a/minikube-prod/backend.yaml b/minikube-prod/backend.yaml
index 4ee09074a239f93372407ffde6b1597bb9db39b0..6b7fd9917bcdd2d5dd0b7f41087c193db838aa55 100644
--- a/minikube-prod/backend.yaml
+++ b/minikube-prod/backend.yaml
@@ -14,7 +14,8 @@ spec:
     spec:
       containers:
         - name: backend-container
-          image: backend-image
+          image: backend-image:latest
+          imagePullPolicy: IfNotPresent
           ports:
             - containerPort: 9876
           env:
@@ -23,7 +24,7 @@ spec:
             - name: MONGO_PASSWORD
               value: tododbadminpassword
             - name: MONGO_HOST
-              value: mongodb-servicevice in Kubernetes.
+              value: mongodb-service
             - name: MONGO_PORT
               value: "27017"
             - name: MONGO_DB
diff --git a/minikube-prod/caddy.yaml b/minikube-prod/caddy.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..308df16cddd0be0e63d525fbe9a9524a8343fd86
--- /dev/null
+++ b/minikube-prod/caddy.yaml
@@ -0,0 +1,76 @@
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+  name: caddy-deployment
+spec:
+  replicas: 1
+  selector:
+    matchLabels:
+      app: caddy-server
+  template:
+    metadata:
+      labels:
+        app: caddy-server
+    spec:
+      containers:
+        - name: caddy-container
+          image: caddy:alpine
+          ports:
+            - containerPort: 80
+          volumeMounts:
+            - mountPath: /usr/share/caddy
+              name: frontend-files
+            - mountPath: /etc/caddy/Caddyfile
+              subPath: Caddyfile
+              name: caddy-config
+      volumes:
+        - name: frontend-files
+          persistentVolumeClaim:
+            claimName: caddy-pvc
+        - name: caddy-config
+          configMap:
+            name: caddy-config
+
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: caddy-config
+data:
+  Caddyfile: |
+    :80 {
+      root * /usr/share/caddy
+      file_server
+
+      reverse_proxy /user* backend-service:9876 {
+          health_uri /health
+          health_interval 10s
+          health_timeout 1s
+      }
+    }
+
+---
+apiVersion: v1
+kind: PersistentVolumeClaim
+metadata:
+  name: caddy-pvc
+spec:
+  accessModes:
+    - ReadWriteOnce
+  resources:
+    requests:
+      storage: 1Gi
+
+---
+apiVersion: v1
+kind: Service
+metadata:
+  name: caddy-service
+spec:
+  selector:
+    app: caddy-server
+  ports:
+    - protocol: TCP
+      port: 80
+      targetPort: 80
+  type: LoadBalancer
diff --git a/minikube-prod/frontend.yaml b/minikube-prod/frontend.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..f47fc859c7c270bd3eb833feb4927860bdc45e58
--- /dev/null
+++ b/minikube-prod/frontend.yaml
@@ -0,0 +1,33 @@
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+  name: frontend-deployment
+spec:
+  replicas: 1
+  selector:
+    matchLabels:
+      app: frontend
+  template:
+    metadata:
+      labels:
+        app: frontend
+    spec:
+      containers:
+        - name: frontend-container
+          image: frontend-image
+          imagePullPolicy: IfNotPresent # ohne diesen wert versucht minikube wieso auch immer images von dockerhub zu ziehen
+          ports:
+            - containerPort: 80
+---
+apiVersion: v1
+kind: Service
+metadata:
+  name: frontend-service
+spec:
+  selector:
+    app: frontend
+  ports:
+    - protocol: TCP
+      port: 80
+      targetPort: 80
+  type: LoadBalancer
diff --git a/minikube-prod/mongodb-pv.yaml b/minikube-prod/mongodb-pv.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..84b522b8de1a8b8ec097e5dc5c736b65485d0064
--- /dev/null
+++ b/minikube-prod/mongodb-pv.yaml
@@ -0,0 +1,11 @@
+apiVersion: v1
+kind: PersistentVolume
+metadata:
+  name: mongo-pv
+spec:
+  capacity:
+    storage: 1Gi
+  accessModes:
+    - ReadWriteOnce
+  hostPath:
+    path: /data/mongo
diff --git a/minikube-prod/mongodb-pvc.yaml b/minikube-prod/mongodb-pvc.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..586dbe4df32e335051e59e1920f7e29614d9ed91
--- /dev/null
+++ b/minikube-prod/mongodb-pvc.yaml
@@ -0,0 +1,10 @@
+apiVersion: v1
+kind: PersistentVolumeClaim
+metadata:
+  name: mongo-pvc
+spec:
+  accessModes:
+    - ReadWriteOnce
+  resources:
+    requests:
+      storage: 1Gi
diff --git a/src/main/java/com/cloudcomputing/todo/controller/UserController.java b/src/main/java/com/cloudcomputing/todo/controller/UserController.java
index 8589673617a09ded6e4216aaa018ec24eac9848b..0fec196879260fafe5c8e040188508901f346713 100644
--- a/src/main/java/com/cloudcomputing/todo/controller/UserController.java
+++ b/src/main/java/com/cloudcomputing/todo/controller/UserController.java
@@ -13,11 +13,12 @@ import java.util.List;
 
 /*
  * 1. eval $(minikube docker-env) (docker-befehle werden dadurch in minikube ausgeführt) |
- *    windows: Invoke-Expression (minikube docker-env) // minikube muss dafür laufen auf windows, also erst 2. dann 1.
+ *    windows: & minikube -p minikube docker-env --shell powershell | Invoke-Expression
+ *    minikube muss dafür laufen auf windows, also erst 2. dann 1.
  * 2. minikube starten
  * 3. docker build -t <name> (einmal für jedes dockerfile um images zu erstellen)
- * 4.
-
+ * 4. lokale images in minikube laden mit minikube image load <name>
+ * 5. .yaml dateien mit kubectl apply -f <pfad-zur-yaml-datei>
  */
 
 @RestController