fix: 数据持久化到/app/data目录,简化部署配置

- 配置文件和SQLite数据库存储在/app/data
- Docker volume持久化数据
- 无需预设环境变量,安装向导自动配置
This commit is contained in:
2026-05-03 12:03:53 +08:00
parent 41fe48e128
commit f7f92c9853
4 changed files with 51 additions and 67 deletions
+15 -4
View File
@@ -2,29 +2,40 @@ package config
import (
"log"
"os"
"github.com/spf13/viper"
)
// Init 初始化配置
var dataDir = "/app/data"
func Init() {
if dir := os.Getenv("DATA_DIR"); dir != "" {
dataDir = dir
}
if _, err := os.Stat(dataDir); os.IsNotExist(err) {
os.MkdirAll(dataDir, 0755)
}
viper.SetConfigName("config")
viper.SetConfigType("yaml")
viper.AddConfigPath(dataDir)
viper.AddConfigPath(".")
viper.AddConfigPath("./config")
// 设置默认值
setDefaults()
// 读取配置文件
if err := viper.ReadInConfig(); err != nil {
log.Printf("Warning: Config file not found, using defaults: %v", err)
}
// 环境变量覆盖
viper.AutomaticEnv()
}
func GetDataDir() string {
return dataDir
}
// setDefaults 设置默认配置值
func setDefaults() {
// 应用配置