mirror of https://github.com/Xhofe/alist
				
				
				
			
		
			
				
	
	
		
			63 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Go
		
	
	
			
		
		
	
	
			63 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Go
		
	
	
package conf
 | 
						|
 | 
						|
type Database struct {
 | 
						|
	Type        string `json:"type" env:"DB_TYPE"`
 | 
						|
	Host        string `json:"host" env:"DB_HOST"`
 | 
						|
	Port        int    `json:"port" env:"DB_PORT"`
 | 
						|
	User        string `json:"user" env:"DB_USER"`
 | 
						|
	Password    string `json:"password" env:"DB_PASS"`
 | 
						|
	Name        string `json:"name" env:"DB_NAME"`
 | 
						|
	DBFile      string `json:"db_file" env:"DB_FILE"`
 | 
						|
	TablePrefix string `json:"table_prefix" env:"DB_TABLE_PREFIX"`
 | 
						|
	SslMode     string `json:"ssl_mode" env:"DB_SLL_MODE"`
 | 
						|
}
 | 
						|
 | 
						|
type Scheme struct {
 | 
						|
	Https    bool   `json:"https" env:"HTTPS"`
 | 
						|
	CertFile string `json:"cert_file" env:"CERT_FILE"`
 | 
						|
	KeyFile  string `json:"key_file" env:"KEY_FILE"`
 | 
						|
}
 | 
						|
 | 
						|
type LogConfig struct {
 | 
						|
	Enable        bool   `json:"enable" env:"log_enable"`
 | 
						|
	Path          string `json:"path" env:"LOG_PATH"`
 | 
						|
	Name          string `json:"name" env:"LOG_NAME"`
 | 
						|
	RotationTime  uint   `json:"rotation_time" env:"LOG_TIME"`
 | 
						|
	RotationCount uint   `json:"rotation_count" env:"LOG_COUNT"`
 | 
						|
}
 | 
						|
 | 
						|
type Config struct {
 | 
						|
	Force           bool      `json:"force"`
 | 
						|
	Address         string    `json:"address" env:"ADDR"`
 | 
						|
	Port            int       `json:"port" env:"PORT"`
 | 
						|
	CaCheExpiration int       `json:"cache_expiration" env:"CACHE_EXPIRATION"`
 | 
						|
	Assets          string    `json:"assets" env:"ASSETS"`
 | 
						|
	Database        Database  `json:"database"`
 | 
						|
	Scheme          Scheme    `json:"scheme"`
 | 
						|
	TempDir         string    `json:"temp_dir" env:"TEMP_DIR"`
 | 
						|
	Log             LogConfig `json:"log"`
 | 
						|
}
 | 
						|
 | 
						|
func DefaultConfig() *Config {
 | 
						|
	return &Config{
 | 
						|
		Address: "0.0.0.0",
 | 
						|
		Port:    5244,
 | 
						|
		Assets:  "https://npm.elemecdn.com/alist-web@$version/dist",
 | 
						|
		TempDir: "data/temp",
 | 
						|
		Database: Database{
 | 
						|
			Type:        "sqlite3",
 | 
						|
			Port:        0,
 | 
						|
			TablePrefix: "x_",
 | 
						|
			DBFile:      "data/data.db",
 | 
						|
		},
 | 
						|
		CaCheExpiration: 30,
 | 
						|
		Log: LogConfig{
 | 
						|
			Enable:        true,
 | 
						|
			Path:          "log/%Y-%m-%d-%H:%M.log",
 | 
						|
			Name:          "log/log.log",
 | 
						|
			RotationTime:  24,
 | 
						|
			RotationCount: 5,
 | 
						|
		},
 | 
						|
	}
 | 
						|
}
 |