Docker Compose
Docker Compose 把 TomoriBot 加上 PostgreSQL 一起构建并作为容器运行。它是继安装向导和 手动安装之后的第三条安装路径:当你宁愿把所有东西都跑在 Docker 里,而不是在主机上安装 Bun 和 PostgreSQL 时,就选它。它不使用安装向导;数据库连接已经替你自动配置好了。
1. 获取代码
Section titled “1. 获取代码”git clone https://github.com/Bredrumb/TomoriBot.gitcd TomoriBot2. 必须的 .env 值
Section titled “2. 必须的 .env 值”从示例文件开始:
cp .env.example .env然后至少设置:
| 变量 | 值 |
|---|---|
DISCORD_TOKEN | 你的 Discord bot 令牌(请开启 GuildMembers、MessageContent、GuildPresences 这三项特权 intent)。 |
CRYPTO_SECRET | 一个 32 字符的加密密钥,用于加密存储的 API 密钥。 |
POSTGRES_PASSWORD | 数据库密码。其他所有 POSTGRES_* 值都会自动配置。 |
与安装向导不同,Compose 不会替你生成 CRYPTO_SECRET,所以请自己设置
(任意 32 字符的字符串)。可选的调优值可以从
.env.optional.example 复制。
3. 构建并运行
Section titled “3. 构建并运行”docker compose build # 首次,或代码与依赖变更之后docker compose up # bot 加数据库之后的启动,只要没改代码或依赖,单独一条 docker compose up 就够了。bot 上线后,在 Discord 里运行 /setup 添加你的 AI
提供方密钥:Discord 里那一侧的操作见快速上手。
4. 可选边车服务(Compose profile)
Section titled “4. 可选边车服务(Compose profile)”边车服务通过 Compose profile 选择启用,所以你只会跑需要的那几个:
# SearXNG(私密网页搜索)加 Crawl4AI(浏览器渲染抓取)docker compose --profile searxng --profile fetch-crawl4ai up逐个边车服务的细节见 SearXNG、Crawl4AI, 以及本地监控。
维护、更新与备份
Section titled “维护、更新与备份”Compose 部署上先备份再更新的流程,请用 bun run update --docker。备份与还原 Compose 数据库(包括对它运行主机端脚本)写在维护与备份页面。拉取新版本之前,请先看安全迁移。