diff --git a/api/v1/server/server.go b/api/v1/server/server.go
index 158deb91e11d625fe90c24f69b96790eb9c289a4..af9773c5e379b00531f56a72c5ee5707089d4cdb 100644
--- a/api/v1/server/server.go
+++ b/api/v1/server/server.go
@@ -6,7 +6,6 @@ import (
 	"gitlab.127-0-0-1.fr/vx3r/wg-gen-web/auth"
 	"gitlab.127-0-0-1.fr/vx3r/wg-gen-web/core"
 	"gitlab.127-0-0-1.fr/vx3r/wg-gen-web/model"
-	"gitlab.127-0-0-1.fr/vx3r/wg-gen-web/template"
 	"gitlab.127-0-0-1.fr/vx3r/wg-gen-web/version"
 	"golang.org/x/oauth2"
 	"net/http"
@@ -74,30 +73,12 @@ func updateServer(c *gin.Context) {
 }
 
 func configServer(c *gin.Context) {
-	clients, err := core.ReadClients()
+	configData, err := core.ReadWgConfigFile()
 	if err != nil {
 		log.WithFields(log.Fields{
 			"err": err,
-		}).Error("failed to read clients")
-		c.AbortWithStatus(http.StatusUnprocessableEntity)
-		return
-	}
-
-	server, err := core.ReadServer()
-	if err != nil {
-		log.WithFields(log.Fields{
-			"err": err,
-		}).Error("failed to read server")
-		c.AbortWithStatus(http.StatusUnprocessableEntity)
-		return
-	}
-
-	configData, err := template.DumpServerWg(clients, server)
-	if err != nil {
-		log.WithFields(log.Fields{
-			"err": err,
-		}).Error("failed to dump wg config")
-		c.AbortWithStatus(http.StatusUnprocessableEntity)
+		}).Error("failed to read wg config file")
+		c.AbortWithStatus(http.StatusInternalServerError)
 		return
 	}
 
diff --git a/core/server.go b/core/server.go
index c2287f7c2f38fa969642321da9a7d1f2957146f3..e78a2aa58442424043950c66f695947f03b53947 100644
--- a/core/server.go
+++ b/core/server.go
@@ -168,3 +168,8 @@ func GetAllReservedIps() ([]string, error) {
 
 	return reserverIps, nil
 }
+
+// ReadWgConfigFile return content of wireguard config file
+func ReadWgConfigFile() ([]byte, error) {
+	return util.ReadFile(filepath.Join(os.Getenv("WG_CONF_DIR"), os.Getenv("WG_INTERFACE_NAME")))
+}