main.go 842 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. package main
  2. import (
  3. "flag"
  4. "fmt"
  5. "github.com/0xJacky/Nginx-UI/logger"
  6. "github.com/0xJacky/Nginx-UI/server"
  7. "github.com/0xJacky/Nginx-UI/server/service"
  8. "github.com/0xJacky/Nginx-UI/server/settings"
  9. "github.com/gin-gonic/gin"
  10. "github.com/jpillora/overseer"
  11. "github.com/jpillora/overseer/fetcher"
  12. "log"
  13. )
  14. func main() {
  15. var confPath string
  16. flag.StringVar(&confPath, "config", "app.ini", "Specify the configuration file")
  17. flag.Parse()
  18. settings.Init(confPath)
  19. gin.SetMode(settings.ServerSettings.RunMode)
  20. r, err := service.GetRuntimeInfo()
  21. defer logger.Sync()
  22. if err != nil {
  23. log.Fatalln(err)
  24. }
  25. overseer.Run(overseer.Config{
  26. Program: server.Program,
  27. Address: fmt.Sprintf(":%s", settings.ServerSettings.HttpPort),
  28. Fetcher: &fetcher.File{Path: r.ExPath},
  29. TerminateTimeout: 0,
  30. })
  31. }