From bf8b1d0d49703e82cf8162399405984bd0b3fe88 Mon Sep 17 00:00:00 2001 From: zwlucas Date: Fri, 29 May 2026 18:24:59 -0300 Subject: feat: implement static file serving and Docker support, update frontend build process Signed-off-by: zwlucas --- backend/internal/static/static.go | 43 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 backend/internal/static/static.go (limited to 'backend/internal/static') diff --git a/backend/internal/static/static.go b/backend/internal/static/static.go new file mode 100644 index 0000000..53523a3 --- /dev/null +++ b/backend/internal/static/static.go @@ -0,0 +1,43 @@ +package static + +import ( + "embed" + "io/fs" + "log" + "os" + "path/filepath" +) + +//go:embed build +var embeddedBuild embed.FS + +func BuildFS() fs.FS { + sub, err := fs.Sub(embeddedBuild, "build") + if err != nil { + log.Printf("[static] embed nao disponivel, tentando filesystem: %v", err) + // Fallback: look for build directory relative to the backend binary + dir := os.Getenv("YAUM_STATIC_DIR") + if dir == "" { + // Try common locations + candidates := []string{ + "../frontend/build", + "frontend/build", + "./build", + } + for _, c := range candidates { + if info, e := os.Stat(c); e == nil && info.IsDir() { + dir = c + break + } + } + } + if dir != "" { + abs, _ := filepath.Abs(dir) + log.Printf("[static] servindo de %s", abs) + return os.DirFS(dir) + } + return nil + } + log.Println("[static] servindo de embed") + return sub +} -- cgit v1.2.3