跳转到内容

Docker Compose

Docker Compose 把 TomoriBot 加上 PostgreSQL 一起构建并作为容器运行。它是继安装向导手动安装之后的第三条安装路径:当你宁愿把所有东西都跑在 Docker 里,而不是在主机上安装 Bun 和 PostgreSQL 时,就选它。它使用安装向导;数据库连接已经替你自动配置好了。

Terminal window
git clone https://github.com/Bredrumb/TomoriBot.git
cd TomoriBot

从示例文件开始:

Terminal window
cp .env.example .env

然后至少设置:

变量
DISCORD_TOKEN你的 Discord bot 令牌(请开启 GuildMembersMessageContentGuildPresences 这三项特权 intent)。
CRYPTO_SECRET一个 32 字符的加密密钥,用于加密存储的 API 密钥。
POSTGRES_PASSWORD数据库密码。其他所有 POSTGRES_* 值都会自动配置。

与安装向导不同,Compose 不会替你生成 CRYPTO_SECRET,所以请自己设置 (任意 32 字符的字符串)。可选的调优值可以从 .env.optional.example 复制。

Terminal window
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 选择启用,所以你只会跑需要的那几个:

Terminal window
# SearXNG(私密网页搜索)加 Crawl4AI(浏览器渲染抓取)
docker compose --profile searxng --profile fetch-crawl4ai up

逐个边车服务的细节见 SearXNGCrawl4AI, 以及本地监控

Compose 部署上先备份再更新的流程,请用 bun run update --docker。备份与还原 Compose 数据库(包括对它运行主机端脚本)写在维护与备份页面。拉取新版本之前,请先看安全迁移