diff options
| author | Peter Stone <thepeterstone@gmail.com> | 2026-01-20 15:39:45 -1000 |
|---|---|---|
| committer | Peter Stone <thepeterstone@gmail.com> | 2026-01-20 15:39:45 -1000 |
| commit | cb592195189685471f054578390b5a6f3440187e (patch) | |
| tree | fb94188f9ad70dfb6e1237fb11124d4a4d234b1c | |
| parent | 0d6d1c3a5bba2777be2f0d9bca30b86ace343757 (diff) | |
Add STATIC_DIR configuration support
Allow static file directory to be configured via environment
variable for flexible deployment layouts. Also fix gitignore
to not ignore cmd/dashboard directory.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
| -rw-r--r-- | .gitignore | 4 | ||||
| -rw-r--r-- | cmd/dashboard/main.go | 2 | ||||
| -rw-r--r-- | internal/config/config.go | 2 |
3 files changed, 5 insertions, 3 deletions
@@ -51,5 +51,5 @@ package-lock.json # Build artifacts web/static/css/output.css -# Compiled binary -dashboard +# Compiled binary (at root only) +/dashboard diff --git a/cmd/dashboard/main.go b/cmd/dashboard/main.go index 58f954d..de3fb7c 100644 --- a/cmd/dashboard/main.go +++ b/cmd/dashboard/main.go @@ -103,7 +103,7 @@ func main() { r.Post("/logout", authHandlers.HandleLogout) // Serve static files (public) - fileServer := http.FileServer(http.Dir("web/static")) + fileServer := http.FileServer(http.Dir(cfg.StaticDir)) r.Handle("/static/*", http.StripPrefix("/static/", fileServer)) // Protected routes (auth required) diff --git a/internal/config/config.go b/internal/config/config.go index b3bc43d..662159e 100644 --- a/internal/config/config.go +++ b/internal/config/config.go @@ -17,6 +17,7 @@ type Config struct { // Paths DatabasePath string TemplateDir string + StaticDir string // Server Port string @@ -36,6 +37,7 @@ func Load() (*Config, error) { // Paths DatabasePath: getEnvWithDefault("DATABASE_PATH", "./dashboard.db"), TemplateDir: getEnvWithDefault("TEMPLATE_DIR", "web/templates"), + StaticDir: getEnvWithDefault("STATIC_DIR", "web/static"), // Server Port: getEnvWithDefault("PORT", "8080"), |
