init.go 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. package common
  2. import (
  3. "flag"
  4. "fmt"
  5. "log"
  6. "os"
  7. "path/filepath"
  8. )
  9. var (
  10. Port = flag.Int("port", 3000, "the listening port")
  11. PrintVersion = flag.Bool("version", false, "print version and exit")
  12. PrintHelp = flag.Bool("help", false, "print help and exit")
  13. LogDir = flag.String("log-dir", "", "specify the log directory")
  14. )
  15. func printHelp() {
  16. fmt.Println("One API " + Version + " - All in one API service for OpenAI API.")
  17. fmt.Println("Copyright (C) 2023 JustSong. All rights reserved.")
  18. fmt.Println("GitHub: https://github.com/songquanpeng/one-api")
  19. fmt.Println("Usage: one-api [--port <port>] [--log-dir <log directory>] [--version] [--help]")
  20. }
  21. func init() {
  22. flag.Parse()
  23. if *PrintVersion {
  24. fmt.Println(Version)
  25. os.Exit(0)
  26. }
  27. if *PrintHelp {
  28. printHelp()
  29. os.Exit(0)
  30. }
  31. if os.Getenv("SESSION_SECRET") != "" {
  32. SessionSecret = os.Getenv("SESSION_SECRET")
  33. }
  34. if os.Getenv("SQLITE_PATH") != "" {
  35. SQLitePath = os.Getenv("SQLITE_PATH")
  36. }
  37. if *LogDir != "" {
  38. var err error
  39. *LogDir, err = filepath.Abs(*LogDir)
  40. if err != nil {
  41. log.Fatal(err)
  42. }
  43. if _, err := os.Stat(*LogDir); os.IsNotExist(err) {
  44. err = os.Mkdir(*LogDir, 0777)
  45. if err != nil {
  46. log.Fatal(err)
  47. }
  48. }
  49. }
  50. }