Files
OpenList/alist.go

46 lines
1.0 KiB
Go
Raw Normal View History

2021-10-25 18:53:59 +08:00
package main
import (
"flag"
"fmt"
2021-10-27 22:45:36 +08:00
"github.com/Xhofe/alist/bootstrap"
2021-10-25 18:53:59 +08:00
"github.com/Xhofe/alist/conf"
2021-10-26 22:28:37 +08:00
"github.com/Xhofe/alist/server"
2021-11-13 15:53:26 +08:00
"github.com/gin-gonic/gin"
2021-10-25 18:53:59 +08:00
log "github.com/sirupsen/logrus"
)
2021-11-03 19:51:19 +08:00
func init() {
2021-11-13 14:23:41 +08:00
flag.StringVar(&conf.ConfigFile, "conf", "data/config.json", "config file")
2021-11-03 19:51:19 +08:00
flag.BoolVar(&conf.Debug, "debug", false, "start with debug mode")
flag.BoolVar(&conf.Version, "version", false, "print version info")
2021-10-25 18:53:59 +08:00
flag.Parse()
2021-11-03 19:51:19 +08:00
}
func Init() {
2021-10-27 22:45:36 +08:00
bootstrap.InitLog()
bootstrap.InitConf()
bootstrap.InitCron()
bootstrap.InitModel()
bootstrap.InitCache()
2021-10-25 18:53:59 +08:00
}
func main() {
2021-11-03 19:51:19 +08:00
if conf.Version {
2021-11-05 19:03:54 +08:00
fmt.Printf("Built At: %s\nGo Version: %s\nAuthor: %s\nCommit ID: %s\nVersion: %s\n", conf.BuiltAt, conf.GoVersion, conf.GitAuthor, conf.GitCommit, conf.GitTag)
2021-11-03 19:51:19 +08:00
return
}
2021-10-28 22:50:09 +08:00
Init()
2021-11-13 15:53:26 +08:00
if !conf.Debug {
gin.SetMode(gin.ReleaseMode)
}
r := gin.Default()
server.InitApiRouter(r)
2021-10-25 18:53:59 +08:00
log.Info("starting server")
2021-11-13 15:53:26 +08:00
err := r.Run(fmt.Sprintf("%s:%d", conf.Conf.Address, conf.Conf.Port))
2021-10-30 19:26:23 +08:00
if err != nil {
log.Errorf("failed to start: %s", err.Error())
}
2021-10-25 18:53:59 +08:00
}