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 特權意圖)。 |
CRYPTO_SECRET | 32 個字元的加密金鑰,用來加密儲存的 API 金鑰。 |
POSTGRES_PASSWORD | 資料庫密碼。其他每一個 POSTGRES_* 值都會自動設定好。 |
與設定精靈不同,Compose 不會幫你產生 CRYPTO_SECRET,請自己設定(任何 32 個字元的字串)。選用的調校值可以從
.env.optional.example 複製。
3. 建置與執行
Section titled “3. 建置與執行”docker compose build # first time, or after code/dependency changesdocker compose up # bot + database之後要再啟動時,除非你改過程式碼或相依套件,否則單獨執行 docker compose up 就夠了。bot 上線之後,在 Discord 執行 /setup 加入你的 AI 供應商金鑰,Discord 那一側請看快速開始。
4. 選用的 sidecar(Compose profile)
Section titled “4. 選用的 sidecar(Compose profile)”Sidecar 透過 Compose profile 選擇性啟用,所以你只會跑自己需要的東西:
# SearXNG (private web search) + Crawl4AI (browser-rendered fetch)docker compose --profile searxng --profile fetch-crawl4ai up各 sidecar 的細節請看 SearXNG、 Crawl4AI 與 本機監控。
維護、更新與備份
Section titled “維護、更新與備份”Compose 部署請使用 bun run update --docker 執行備份優先的更新流程。Compose 資料庫的備份與還原(包括對它執行主機端指令稿)涵蓋在維護與備份頁面。拉取新版本之前,請先從安全移轉開始。