diff --git a/api/controllers/container.go b/api/controllers/container.go
index d8e634a..72985a1 100644
--- a/api/controllers/container.go
+++ b/api/controllers/container.go
@@ -1,7 +1,7 @@
 package controllers
 
 import (
-	"bytes"
+	"io"
 	"log"
 	"magmise/models"
 	"net/http"
@@ -44,17 +44,19 @@ func (c Container) Stop(w http.ResponseWriter, r *http.Request) {
 }
 
 func (c Container) Logs(w http.ResponseWriter, r *http.Request) {
+
 	name := chi.URLParam(r, "name")
 	if name == "" {
 		http.Error(w, "Missing container name", http.StatusNotFound)
 		return
 	}
+	log.Println("Logs ", name)
 	id, err := models.GetId(name)
 	if err != nil {
 		http.Error(w, err.Error(), http.StatusNotFound)
 		return
 	}
-	ws, err := upgrader.Upgrade(w, r, nil)
+	ws, err := Websocket(w, r)
 	if err != nil {
 		log.Print("upgrade:", err)
 		return
@@ -65,10 +67,7 @@ func (c Container) Logs(w http.ResponseWriter, r *http.Request) {
 		http.Error(w, err.Error(), http.StatusNotFound)
 		return
 	}
-	buf := new(bytes.Buffer)
-	for {
+	defer logs.Close()
+	io.Copy(ws, logs)
 
-		buf.ReadFrom(logs)
-		ws.WriteMessage(0, buf.Bytes())
-	}
 }