feat: --mode local 一键本地模式 (SQLite + redka, 无需 MySQL/Redis)

- main.go: --mode local 自动配置 db-driver=sqlite, db-name=data/sqlite3.db, redis-driver=redka
- database: 切换纯 Go SQLite 驱动 (github.com/glebarez/sqlite) — 无需 CGO
- docker-compose.yml: backend 添加 MODE=${MODE:-release} env var + data 卷挂载
- run.sh: binary upgrade 默认 --mode local, config.yaml 模板更新为 local 模式
- K8s quick-deploy.yaml: 单容器部署, MODE=local 环境变量切换远程/本地
This commit is contained in:
attacker committed 2026-06-26 04:36:09 +00:00
1 parent 9649167c83
commit ec7aa61948
7 files changed
+75 -41

No files matched your search

+15
View File
@@ -265,6 +265,21 @@ func loadConfig() *config.Config {
// CLI flags 覆盖(最高优先级)// Logan.Li
applyFlags()
// --mode local 快捷模式:自动配置 SQLite + redka 本地缓存 // Logan.Li
if *flagMode == "local" || viper.GetString("mode") == "local" {
// 数据库:SQLite,文件名 sqlite3.db
if *flagDBDriver == "" {
viper.Set("database.driver", "sqlite")
}
if *flagDBName == "" {
viper.Set("database.dbname", "data/sqlite3.db")
}
// 缓存:redka 本地内嵌(无需外部 Redis)
if *flagRedisDriver == "" {
viper.Set("redis.driver", "redka")
}
}
// 解析配置 // Logan.Li
var cfg config.Config
if err := viper.Unmarshal(&cfg); err != nil {