Skip to content

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

openclaw-docker-compose

用 docker compose 部署 OpenClaw + Ollama 的專案。

內容

  • docker-compose.yaml
  • .env.example
  • config/render-config.mjs
  • .gitignore

服務

  • openclaw
  • ollama

特色

  • 啟動前自動由 .env 生成 /home/node/.openclaw/openclaw.json
  • 可透過 OPENCLAW_CONFIG_STRATEGY 控制 config 是每次重建還是只初始化一次
  • 可從 .env 預設啟用 Discord
  • 可從 .env 設定 Discord guild / channel
  • 可從 .env 設定 gateway.controlUi.allowedOrigins

用法

  1. 複製 .env.example 成 .env
  2. 填入必要值,至少:
    • DISCORD_TOKEN
  3. 若要限制 Discord guild / channel,填入:
    • DISCORD_GUILD_ID
    • DISCORD_CHANNEL_ID
  4. 啟動:
    docker compose up -d
  5. 若要使用 Ollama cloud model,第一次需在 Ollama 容器內完成登入(登入狀態會保存在 ${OLLAMA_DATA_PATH})

Ollama cloud 初始化

第一次啟動後,執行:

docker compose exec ollama ollama signin
docker compose restart openclaw

若登入成功,OpenClaw 之後就能使用 .env 中設定的 OPENCLAW_DEFAULT_MODEL(例如 ollama/minimax-m2.5:cloud)。

重要變數

OpenClaw

  • OPENCLAW_IMAGE
  • OPENCLAW_PORT
  • OPENCLAW_GATEWAY_BIND
  • OPENCLAW_CONFIG_PATH
  • OPENCLAW_PROJECT_PATH
  • OPENCLAW_CONFIG_STRATEGY
  • OPENCLAW_DEFAULT_MODEL

Ollama Runtime

  • OLLAMA_IMAGE
  • OLLAMA_PORT
  • OLLAMA_DATA_PATH

Discord

  • DISCORD_ENABLED
  • DISCORD_TOKEN
  • DISCORD_GROUP_POLICY
  • DISCORD_DM_POLICY
  • DISCORD_CONFIG_WRITES
  • DISCORD_DEFAULT_TO
  • DISCORD_ALLOW_FROM
  • DISCORD_GUILD_ID
  • DISCORD_GUILD_SLUG
  • DISCORD_CHANNEL_ID

Control UI

  • CONTROL_UI_ENABLED
  • CONTROL_UI_BASE_PATH
  • CONTROL_UI_ALLOWED_ORIGINS

Ollama

  • OLLAMA_ENABLED
  • OLLAMA_BASE_URL
  • OLLAMA_API_KEY

Control UI origins

CONTROL_UI_ALLOWED_ORIGINS 用逗號分隔,例如:

CONTROL_UI_ALLOWED_ORIGINS=https://control.example.com,https://chat.example.com

Discord defaultTo

若你想讓主動發訊息預設發到某個 channel,可填:

DISCORD_DEFAULT_TO=channel:123456789012345678

Config lifecycle

OPENCLAW_CONFIG_STRATEGY 支援兩種模式:

  • always(預設):每次容器啟動都用 .env 重建 openclaw.json
  • once:只有第一次生成;若 openclaw.json 已存在,後續啟動跳過 render

建議:

  • 如果你把 .env 當 source of truth,使用 always
  • 如果你想先初始化再手動維護 openclaw.json,使用 once
  • 使用 always 時,請把 openclaw.json 視為 render artifact,而不是手動維護的主要設定檔

Ollama cloud model

若你想讓 OpenClaw 預設使用 Ollama 雲端模型,例如 MiniMax:

OLLAMA_ENABLED=true
OLLAMA_BASE_URL=http://ollama:11434
OLLAMA_API_KEY=ollama-local
OPENCLAW_DEFAULT_MODEL=ollama/minimax-m2.5:cloud

本專案會一起啟動 ollama 容器。若要使用 cloud model,第一次需在該容器內完成 Ollama 登入,登入狀態會保存在 ${OLLAMA_DATA_PATH}。

注意

  • 目前是單一 guild / 單一 channel 模板版
  • 若 DISCORD_ENABLED=true 但 DISCORD_TOKEN 沒填,容器啟動會直接失敗,避免帶著錯誤設定繼續跑
  • 使用 OPENCLAW_CONFIG_STRATEGY=once 時,修改 .env 不會自動更新既有 openclaw.json
  • 若使用 Ollama cloud model,請確認 OLLAMA_BASE_URL 指向的是可連線且已設定完成的 Ollama 服務

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages