diff --git a/server/app/server.go b/server/app/server.go index e9420b359..cd15a63ab 100644 --- a/server/app/server.go +++ b/server/app/server.go @@ -4,6 +4,8 @@ import ( "io/fs" "net/http" "os" + "path/filepath" + "runtime" "next-terminal/server/api" "next-terminal/server/api/worker" @@ -19,7 +21,15 @@ import ( func getFS(useOS bool) fs.FS { if useOS { log.Debug("using live mode") - return os.DirFS("web/build") + _, filename, _, ok := runtime.Caller(0) + if !ok { + panic("failed to get caller info") + } + appDir := filepath.Dir(filename) + baseDir := filepath.Dir(filepath.Dir(appDir)) + webBuildPath := filepath.Join(baseDir, "web", "build") + log.Debug("web build path: " + webBuildPath) + return os.DirFS(webBuildPath) } log.Debug("using embed mode")