Skip to content

配置要点(生产)

字数
1142 字
阅读时间
5 分钟

目标:确认生产环境最少配置、合并优先级,以及需要备份的文件
准备:可编辑 config/pallas.toml,启动前能核对 data/ 目录可写
完成之后:能按本页检查清单验收生产配置

相关:配置存储 · 标准生产部署 · Docker · FAQ

最少能跑

复制 config/pallas.example.tomlconfig/pallas.toml,配置 superusers[bootstrap.postgres] 即可启动;其余在 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.json — WebUI 保存后覆盖同名键

生产建议:启动项、密钥、数据库写在 pallas.toml;插件开关与业务参数在控制台修改并落盘 webui.json。改了 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(V4 默认)或 mongodb(3.x 升级)与已安装数据库一致
access_tokenHTTP API 鉴权公网或不可信网络建议设置

PostgreSQL(V4 默认)

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 安装。Docker 内置 Postgres 时另备 config/compose.envPG_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 部署

启动无 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、分片与后台任务(按需)

toml
[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 时可执行:

bash
uv run pallas redis start

命令优先复用可达服务;否则通过 Docker 创建仅绑定回环地址、带持久卷的 Redis,并把最终 REDIS_URL 写入 data/pallas_config/webui.json。无 Docker 时单机 Bot / work aux 仍可运行,但不能启用分片协调或本机 AI 队列。

[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 部署
合并与热重载配置存储
站点插件站点定制
配置键索引配置参考