diff --git a/server/config/config.go b/server/config/config.go index 5d359e3..a448298 100644 --- a/server/config/config.go +++ b/server/config/config.go @@ -8,6 +8,7 @@ type Config struct { HTTPAddr string MQTTBroker string MQTTTopicBase string + DashboardDir string // optionnel : sert le dashboard en dev sans Nginx } func Load() Config { @@ -17,6 +18,7 @@ func Load() Config { HTTPAddr: getEnv("HTTP_ADDR", "0.0.0.0:8080"), MQTTBroker: getEnv("MQTT_BROKER", "tcp://10.0.0.3:1883"), MQTTTopicBase: getEnv("MQTT_TOPIC_BASE", "nanometrics/agents"), + DashboardDir: getEnv("DASHBOARD_DIR", ""), } } diff --git a/server/main.go b/server/main.go index e489177..729f414 100644 --- a/server/main.go +++ b/server/main.go @@ -116,6 +116,11 @@ func main() { }) mux.HandleFunc("/api/config", handlers.ServerConfigHandler(database)) + if cfg.DashboardDir != "" { + log.Printf("[http] dashboard servi depuis %s", cfg.DashboardDir) + mux.Handle("/", http.FileServer(http.Dir(cfg.DashboardDir))) + } + log.Printf("[http] écoute sur %s", cfg.HTTPAddr) log.Fatal(http.ListenAndServe(cfg.HTTPAddr, mux)) }