跳到內容

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 特權意圖)。
CRYPTO_SECRET32 個字元的加密金鑰,用來加密儲存的 API 金鑰。
POSTGRES_PASSWORD資料庫密碼。其他每一個 POSTGRES_* 值都會自動設定好。

與設定精靈不同,Compose 不會幫你產生 CRYPTO_SECRET,請自己設定(任何 32 個字元的字串)。選用的調校值可以從 .env.optional.example 複製。

Terminal window
docker compose build # first time, or after code/dependency changes
docker compose up # bot + database

之後要再啟動時,除非你改過程式碼或相依套件,否則單獨執行 docker compose up 就夠了。bot 上線之後,在 Discord 執行 /setup 加入你的 AI 供應商金鑰,Discord 那一側請看快速開始

Sidecar 透過 Compose profile 選擇性啟用,所以你只會跑自己需要的東西:

Terminal window
# SearXNG (private web search) + Crawl4AI (browser-rendered fetch)
docker compose --profile searxng --profile fetch-crawl4ai up

各 sidecar 的細節請看 SearXNGCrawl4AI本機監控

Compose 部署請使用 bun run update --docker 執行備份優先的更新流程。Compose 資料庫的備份與還原(包括對它執行主機端指令稿)涵蓋在維護與備份頁面。拉取新版本之前,請先從安全移轉開始。