package main import ( "fmt" "os" ) func main() { // Get database connection string from environment (or empty for defaults) connString := os.Getenv("DATABASE_URL") // Create dashboard instance (handles DB connection internally) dashboard, err := NewDashboard(connString) if err != nil { fmt.Fprintf(os.Stderr, "Failed to initialize dashboard: %v\n", err) os.Exit(1) } defer dashboard.db.Close() // Start background stats update loop go dashboard.StartStatsLoop() // Get listen address from environment or use default addr := os.Getenv("DASHBOARD_ADDR") if addr == "" { addr = "0.0.0.0:4321" } // Start HTTP server if err := dashboard.StartServer(addr); err != nil { fmt.Fprintf(os.Stderr, "Server error: %v\n", err) os.Exit(1) } }