# ============================================
# AI-CS 统一配置模板（唯一真源）
# 使用方法：
# 1) 复制为项目根目录 .env
# 2) 按注释填写必填项
# 3) Docker 与本地启动都读取这同一份配置
# ============================================

# =========================
# 运行画像（建议配置）
# =========================
# 可选：docker / local
# - docker：DB_HOST/MILVUS_HOST 通常填写服务名（mysql、milvus-standalone）
# - local：DB_HOST/MILVUS_HOST 通常填写 localhost 或远程地址
APP_PROFILE=docker

# =========================
# 服务监听（必填）
# =========================
SERVER_HOST=0.0.0.0
SERVER_PORT=8080
# 建议：生产 release，开发 debug
GIN_MODE=release

# =========================
# 数据库（必填）
# =========================
DB_HOST=mysql
DB_PORT=3306
DB_USER=ai_cs_user
DB_PASSWORD=please_change_me
DB_NAME=ai_cs

# MySQL 容器 root 密码（Docker 部署必填）
MYSQL_ROOT_PASSWORD=please_change_root_password
# MySQL 对外端口（非必须）
MYSQL_PORT=3306

# =========================
# 管理员与安全（必填）
# =========================
ADMIN_USERNAME=admin
ADMIN_PASSWORD=please_change_admin_password
# 64 位十六进制密钥（必填）
# 生成示例：openssl rand -hex 32
ENCRYPTION_KEY=please_generate_64_hex_chars

# =========================
# Redis（按需配置，多实例推荐）
# 说明：
# - 单实例可留空
# - 多实例可配置 REDIS_URL，或使用 REDIS_ADDR + REDIS_PASSWORD + REDIS_DB
# =========================
REDIS_URL=
REDIS_ADDR=
REDIS_PASSWORD=
REDIS_DB=0
# WebSocket 分布式事件频道（一般无需修改）
REDIS_WS_CHANNEL=ai_cs:ws_events

# =========================
# 端口映射（非必须）
# =========================
# 后端映射到宿主机端口（host:container = BACKEND_PORT:SERVER_PORT）
BACKEND_PORT=18080
# 前端映射到宿主机端口
FRONTEND_PORT=3000

# =========================
# 向量库 Milvus（按需配置）
# 仅在使用知识库/RAG时需要
# =========================
MILVUS_HOST=milvus-standalone
MILVUS_PORT=19530
MILVUS_USERNAME=
MILVUS_PASSWORD=

# true 表示禁用向量库（不连接 Milvus）
MILVUS_DISABLED=false
# 与 MILVUS_DISABLED 含义相同，保留为兼容开关
VECTOR_STORE_DISABLED=false
# true 表示强依赖 Milvus（连接失败则启动失败）
MILVUS_REQUIRED=false

# =========================
# 联网搜索（按需配置）
# 使用联网搜索功能时至少配置一种
# =========================
# 方式一：Serper MCP 服务地址
SERPER_MCP_URL=
# 方式二：Serper API Key
SERPER_API_KEY=

# =========================
# 前端公开变量（按需配置）
# 说明：NEXT_PUBLIC_* 会暴露到浏览器端
# =========================
# 非必填：站点对外的绝对地址（https://你的域名），用于 SEO（canonical、OG、sitemap）。未填时前端默认使用演示站域名。
NEXT_PUBLIC_SITE_URL=

NEXT_PUBLIC_API_BASE_URL=http://localhost:18080
NEXT_PUBLIC_BACKEND_HOST=localhost
NEXT_PUBLIC_BACKEND_PORT=8080
NEXT_PUBLIC_MATOMO_CONTAINER_URL=

# =========================
# 预构建镜像（docker-compose.prod.yml 必填）
# =========================
BACKEND_IMAGE=537yaha/ai-cs-backend:latest
FRONTEND_IMAGE=537yaha/ai-cs-frontend:latest
