配置要点(生产)
目标:确认生产环境最少配置、合并优先级,以及需要备份的文件
准备:可编辑config/pallas.toml,启动前能核对data/目录可写
完成之后:能按本页检查清单验收生产配置
相关:配置存储 · 标准生产部署 · Docker · FAQ
最少能跑
复制 config/pallas.example.toml → config/pallas.toml,配置 superusers 与 [bootstrap.postgres] 即可启动;其余在 WebUI 按需配置。
[bootstrap]
host = "0.0.0.0"
port = 8088
superusers = ["你的QQ号"]
db_backend = "postgresql"
[bootstrap.postgres]
host = "127.0.0.1"
port = 5432
user = "pallas"
password = "pallas"
db = "PallasBot"启动后打开 /pallas/,使用日志中的默认密钥登录。
配置合并顺序(优先级从低到高)
config/pallas.toml— 监听、超管、数据库- 遗留
.env/.env.{ENVIRONMENT}(若存在) data/pallas_config/webui.json— WebUI 保存后覆盖同名键
生产建议:启动项、密钥、数据库写在 pallas.toml;插件开关与业务参数在控制台修改并落盘 webui.json。改了 pallas.toml 却不生效时,先查同名键是否已被 webui.json 覆盖。
首次部署检查清单
- 已复制
config/pallas.example.toml→config/pallas.toml -
[bootstrap] superusers已填 QQ 号 -
db_backend与[bootstrap.mongo]/[bootstrap.postgres]与实际库一致 -
host/port与防火墙、反向代理一致(默认0.0.0.0:8088) -
data/目录可写 - 已记录控制台初始密钥(
data/pallas_console/;遗忘见 FAQ) - 未在生产环境开启
pallas_webui_dev_mode
[bootstrap] 必改项
| 配置项 | 说明 | 生产注意 |
|---|---|---|
superusers | 超管 QQ 列表 | 至少一名可信管理员 |
host / port | HTTP 监听 | 反代后仍常为 0.0.0.0 + 应用端口 |
db_backend | postgresql(V4 默认)或 mongodb(3.x 升级) | 与已安装数据库一致 |
access_token | HTTP API 鉴权 | 公网或不可信网络建议设置 |
PostgreSQL(V4 默认)
[bootstrap]
db_backend = "postgresql"
[bootstrap.postgres]
host = "127.0.0.1"
port = 5432
user = "pallas"
password = "your_password"
db = "PallasBot"
# auto_create_db = true # 可选:无库时自动 CREATE DATABASE(需 CREATEDB)驱动随 uv sync 安装。Docker 内置 Postgres 时另备 config/compose.env,PG_DB 与数据卷初始化库名一致。应用账号须能连目标库并建表,不必为超级用户。扩展见 deploy/pg/README.md。
MongoDB(3.x 升级沿用)
[bootstrap]
db_backend = "mongodb"
[bootstrap.mongo]
host = "127.0.0.1"
port = 27017
user = ""
password = ""
db = "PallasBot"Docker Compose 升级栈中 Bot 容器内 host 为 mongodb(compose 注入),见 Docker 部署。
启动无 connection refused / 认证失败、日志完成 init_db、控制台无持久 5xx 时,数据库配置可用。
WebUI 与控制台
| 内容 | 存储位置 |
|---|---|
| 插件开关、业务配置 | data/pallas_config/webui.json |
| 控制台 / 协议端登录 | data/pallas_console/auth_state.json |
| 只读导出快照 | config/pallas.webui.export.toml(保存时自动生成) |
| 前端静态资源(默认) | data/pb_webui/public-react/ |
浏览器修改插件项后,是否须重启因插件而异;关键项保存后观察日志或按插件文档操作。
Redis、分片与后台任务(按需)
[env]
REDIS_URL = "redis://127.0.0.1:6379/0"单进程 Bot 的消息主路径与 work aux 默认使用 PostgreSQL / MongoDB outbox,不要求 Redis。多进程分片跨 worker claim、local Embedding 与 Pallas-Bot-AI 的 Celery 则需要或明显受益于 Redis;默认可共用同一个 URL,以键前缀或逻辑 DB 隔离。
分片部署时配置该项,并 uv sync --extra coord-redis(或 deploy-shard)。本机没有 Redis 时可执行:
uv run pallas redis start命令优先复用可达服务;否则通过 Docker 创建仅绑定回环地址、带持久卷的 Redis,并把最终 REDIS_URL 写入 data/pallas_config/webui.json。无 Docker 时单机 Bot / work aux 仍可运行,但不能启用分片协调或本机 AI 队列。
[community_stats](可选)
默认开启,一般无需整段配置。关闭:
[community_stats]
enabled = false或 PALLAS_COMMUNITY_STATS_ENABLED=false。详见 社区统计。
从旧 .env 迁移
uv run python tools/migrate_env_to_pallas.py迁移后 .env 可保留 nb/pip 插件专用项;与 webui.json 避免同名键重复。
生产备份
定期备份:
config/pallas.tomldata/pallas_config/webui.jsondata/pallas_console/- 整个
data/(含协议端实例、分片状态)
恢复时保持路径与挂载一致;Docker 见 配置存储 · Docker 挂载。
相关文档
| 主题 | 文档 |
|---|---|
| 分步部署 | 标准生产部署 |
| Docker 卷 | Docker 部署 |
| 合并与热重载 | 配置存储 |
| 站点插件 | 站点定制 |
| 配置键索引 | 配置参考 |