昨天我們認識了 Open WebUI,它是一個開源的 ChatGPT 風格網頁介面,可以串接 Ollama 與其他 LLM 後端。
今天的任務是:
請確保已經安裝好 Docker 與 Docker Compose(Day 2 已完成)。
檢查是否正常:
docker --version
docker compose version
如果能輸出版本號,表示環境已準備完成。
在專案資料夾建立 docker-compose.yml
:
version: '3.8'
services:
open-webui:
image: ghcr.io/open-webui/open-webui:main
container_name: open-webui
network_mode: "host"
volumes:
- open-webui-data:/app/backend/data
restart: always
volumes:
open-webui-data:
這份設定檔說明:
open-webui
ports:
8080
open-webui-data
卷,不會因為重啟容器而消失在設定檔目錄執行:
docker compose up -d
如果一切正常,會下載映像檔並啟動容器。
檢查服務狀態:
docker ps
應該會看到類似:
CONTAINER ID IMAGE NAMES
a1b2c3d4e5f6 ghcr.io/open-webui/open-webui:main open-webui
(注意:因為使用 host
,這裡不會再顯示 PORTS
映射)
打開瀏覽器 → http://<主機IP>:8080
(如果你在本機就直接 http://localhost:8080
)
註冊一個新帳號(會成為管理員)
進入主介面,就能看到類似 ChatGPT 的對話框
埠被佔用
因為是 host network,如果主機上已有程式佔用 8080
,WebUI 無法啟動。
解決:修改 WebUI 的環境變數,讓它改聽其他埠,例如:
environment:
- PORT=9090
然後改用 http://localhost:9090
打開。
容器啟動後馬上停止
查看日誌:
docker logs open-webui
檢查是否因為磁碟空間不足(WebUI 需要保存 session 與使用者資料)。
無法連接 Ollama
先確定 Ollama 正常運行:
curl http://localhost:11434/api/tags
如果有輸出模型清單,代表 Ollama 正常。
明天(Day 10)我們會正式把它接到 WebUI。