34 lines
826 B
Go
34 lines
826 B
Go
package main
|
|
|
|
import (
|
|
"flag"
|
|
"fmt"
|
|
"log"
|
|
|
|
"git.zervo.org/zervo/fileserver/internal/config"
|
|
"git.zervo.org/zervo/fileserver/internal/server"
|
|
)
|
|
|
|
func main() {
|
|
var cfgFlag = flag.String("c", "config.yaml", "Configuration file to load")
|
|
var genFlag = flag.String("g", "", "Generate an example configuration to the given file")
|
|
flag.Parse()
|
|
|
|
if *genFlag != "" {
|
|
if err := config.WriteExampleConfig(*genFlag); err != nil {
|
|
log.Fatalf("Failed to create example config: %v", err)
|
|
}
|
|
log.Printf("Generated example configuration at: %s\n", *genFlag)
|
|
return
|
|
}
|
|
|
|
cfg, err := config.LoadConfig(*cfgFlag)
|
|
if err != nil {
|
|
log.Fatalf("Failed to load config: %v", err)
|
|
}
|
|
|
|
fmt.Printf("Starting server on port %d...\n", cfg.WebPort)
|
|
if err := server.Start(cfg); err != nil {
|
|
log.Fatalf("Server error: %v", err)
|
|
}
|
|
}
|