Skip to content

配置要点(生产)

字数
1027 字
阅读时间
5 分钟

启动前核对 config/pallas.tomldata/ 持久化目录。

最少能跑

复制 config/pallas.example.tomlconfig/pallas.toml,改 superusers[bootstrap.postgres](或 3.x 升级用 mongo)即可启动;其余在 WebUI 按需配置。

toml
[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/,用日志中的默认口令登录。

配置合并顺序(优先级从低到高)

  1. config/pallas.toml — 启动必需项(监听、超管、数据库)
  2. 遗留 .env / .env.{ENVIRONMENT}(若存在)
  3. data/pallas_config/webui.jsonWebUI 保存后最高,覆盖同名键

生产环境建议:启动相关、密钥、数据库 写在 pallas.toml插件开关与业务参数 在控制台修改并落盘 webui.json


首次部署检查清单

  • 已复制 config/pallas.example.tomlconfig/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 / portHTTP 监听反代后仍常为 0.0.0.0 + 应用端口
db_backendpostgresql(4.0 默认)或 mongodb(3.x 升级沿用)与已安装/编排的数据库一致
access_tokenHTTP API 鉴权公网或不可信网络建议设置
PostgreSQL(4.0 默认)
toml
[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 --extra pg。Docker 内置 Postgres 时另备 config/compose.env,且 PG_DB 与数据卷初始化库名一致。应用账号只需能连目标库并建表;不必超级用户。扩展见 deploy/pg/README.md

MongoDB(3.x 升级沿用)
toml
[bootstrap]
db_backend = "mongodb"

[bootstrap.mongo]
host = "127.0.0.1"
port = 27017
user = ""
password = ""
db = "PallasBot"

Docker Compose 升级栈中 Bot 容器内 host 为 mongodb(由 compose 注入),见 Docker 部署

如何确认数据库配置正确:启动 Bot 无 connection refused / 认证失败;日志完成 init_db;控制台可打开且无持久 5xx。


WebUI 与控制台

内容存储位置
插件开关、业务配置data/pallas_config/webui.json
控制台 / 协议端登录data/pallas_console/auth_state.json
只读导出快照config/pallas.webui.export.toml(保存时自动生成)

在浏览器打开 /pallas/ 修改插件项后,重启是否必需 因插件而异;关键项保存后建议观察日志或按插件文档操作。


[env] 与分片(按需)
toml
[env]
REDIS_URL = "redis://127.0.0.1:6379/0"

当前多进程分片跨 worker claim 依赖 Redis;请在分片部署时配置该项,并安装 uv sync --extra coord-redis(或 deploy-shard)。run_sharded_bot.sh 会自动探测;与 Pallas-Bot-AI 共用同一 Redis 时填相同 URL。

[community_stats](可选)

默认开启,一般无需添加整段配置。关闭上报:

toml
[community_stats]
enabled = false

或环境变量 PALLAS_COMMUNITY_STATS_ENABLED=false。详见 社区统计

从旧 .env 迁移
bash
uv run python tools/migrate_env_to_pallas.py

迁移后 .env 仍可保留 nb/pip 插件专用 项;与 webui.json 避免同名键重复

生产备份建议

定期备份(至少):

  • config/pallas.toml
  • data/pallas_config/webui.json
  • data/pallas_console/
  • 整个 data/(含协议端实例、分片状态)

恢复时保持路径与挂载一致;Docker 见 配置存储 · Docker 挂载


接下来

我想…文档
分步部署验收标准部署
Docker 挂载与卷Docker 部署
合并顺序与热重载配置存储
站点插件与扩展站点定制