16 Commits

Author SHA1 Message Date
hhs
515d7ae034 docs: 完善配置环境切换机制
- docker-compose.yml 添加 APP_ENV=prod 强制生产环境
- 更新 .env.example 的 APP_ENV 注释说明(开发/生产差异)
- CLAUDE.md 补充"配置环境切换"章节,说明本地开发和生产部署的配置切换方式
- 明确配置优先级:环境变量 > config.{env}.yaml > config.yaml > 默认值

配置差异:
- 开发环境:debug 日志、关闭限流、允许所有 CORS
- 生产环境:info/json 日志、启用限流、严格 CORS 白名单

验证通过:
- 本地开发:默认加载 config.dev.yaml(env=dev, debug 日志)
- 生产配置:APP_ENV=prod 加载 config.prod.yaml(env=prod, info 日志)
2026-06-21 01:14:29 +08:00
hhs
15a50f855b fix: 统一使用 /opt/camtalk/.env 路径,act_runner 挂载宿主机目录后直接读取 2026-06-20 21:30:21 +08:00
hhs
45e2c4f37b fix: env_file 使用绝对路径 /root/camtalk/.env,确保 CI 容器内 docker compose 正确解析 2026-06-20 20:57:34 +08:00
hhs
fe5ac20a1f fix: env_file 改为相对路径,解决 CI 容器无法读取 /opt/camtalk/.env 的问题 2026-06-20 19:29:12 +08:00
hhs
dd846876ba fix: 统一 docker-compose 环境变量注入方式,修复 postgres/redis 配置读取问题
- postgres 和 redis 服务添加 env_file,统一从 /opt/camtalk/.env 读取配置
- 移除 postgres 中多余的 ${POSTGRES_USER/PASSWORD} 透传(env_file 已直接注入)
- 移除 backend 中多余的 CAMTALK_STORAGE_DSN 和 CAMTALK_REDIS_PASSWORD 透传
- postgres healthcheck 改用 $$POSTGRES_USER(容器内 shell 变量)替代 ${POSTGRES_USER}(compose 变量替换)
- 根本原因:environment 中的 ${VAR} 在 compose 解析时读取 shell 环境,为空时会覆盖 env_file 的值
2026-06-20 00:26:03 +08:00
hhs
41f393c09d fix: 修复 Redis 密码为空时容器启动失败的问题
当 CAMTALK_REDIS_PASSWORD 为空时,--requirepass 缺少参数导致
Redis 解析失败退出,healthcheck 无法执行,后端依赖启动失败。

改为 shell 脚本根据密码是否为空动态决定是否启用认证。
2026-06-19 23:18:30 +08:00
hhs
765cb34019 feat: 添加 Redis Docker 容器编排及三级存储架构
- docker-compose.yml 新增 Redis 服务及 camtalk-net 桥接网络
- 实现 TieredManager 三级存储(L1 内存 → L2 Redis → L3 PostgreSQL)
- config.go 新增 Redis/Persistence 配置类型及环境变量绑定
- 修复 CAMTALK_REDIS_ADDR 环境变量未被 Viper 绑定的问题
- .env.example 更新为三级存储配置并标注开发/部署地址差异
2026-06-19 22:53:06 +08:00
hhs
c0b4eeda46 refactor: 统一配置文件系统
- 补全 backend/config.yaml 所有非敏感配置项并添加中文注释
- 重写 config.go:Load(workDir) 显式传参,BindEnv 绑定敏感字段,删除 AutomaticEnv
- setDefaults 默认值与 config.yaml 保持一致(mimo/dashscope)
- backend/.env.example 重写为纯敏感信息模板
- .env 固定在 /opt/camtalk/.env,docker-compose 通过绝对路径加载
- deploy.sh 统一使用 --env-file,移除硬编码 IP
- deploy.yml 删除 CI 写入 .env 的步骤
- Dockerfile 移除 COPY config.yaml
- 修复 deploy.yml 中 POSTGRES_PASSWORD 的 &{{ 拼写错误
2026-06-19 18:41:35 +08:00
hhs
1ddd75d34f fix: 修复 Docker Compose 环境下 PostgreSQL 连接失败 2026-06-14 20:47:00 +08:00
hhs
668da26e23 fix: 更换 PostgreSQL 镜像源 2026-06-14 19:58:22 +08:00
hhs
ffc9b4a320 fix: 更换 PostgreSQL 镜像源为轩辕镜像,修复阿里云镜像拉取失败 2026-06-14 19:51:15 +08:00
hhs
386c918591 feat: 添加 PostgreSQL 服务并挂载数据库迁移脚本 2026-06-14 19:00:06 +08:00
hhs
542720695d feat: 对接 PostgreSQL 存储层 2026-06-14 18:40:37 +08:00
hhs
0f3bf432fd chore: 前端端口改为 9000 2026-06-14 15:21:47 +08:00
hhs
4ef1e9f08b refactor: 彻底移除 .env 依赖,配置统一由 config.yaml + 环境变量驱动 2026-06-14 14:54:55 +08:00
hhs
1c74fdb894 feat: 添加 Docker Compose 编排文件
- frontend 和 backend 两个服务,共享 camtalk-net 网络
- backend 通过 .env 注入 API Key,不对外暴露端口
- frontend 通过 Nginx 反代对外暴露 80 端口
2026-06-14 13:38:29 +08:00