iT邦幫忙

2025 iThome 鐵人賽

DAY 9
0

📌 背景


昨天我們認識了 Open WebUI,它是一個開源的 ChatGPT 風格網頁介面,可以串接 Ollama 與其他 LLM 後端。

今天的任務是:

  1. 使用 Docker 部署 Open WebUI
  2. 讓它連接到我們已經安裝好的 Ollama
  3. 在瀏覽器中打開,開始用漂亮的 UI 與 LLM 對話

🛠️ 安裝流程

Step 1:確認環境

請確保已經安裝好 Docker 與 Docker Compose(Day 2 已完成)。

檢查是否正常:

docker --version
docker compose version

如果能輸出版本號,表示環境已準備完成。


Step 2:建立 Docker Compose 設定檔

在專案資料夾建立 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
  • 使用 host network,容器與主機共用網卡,不再需要 ports:
  • 預設 WebUI 會在容器內聽 8080,因為是 host 模式 → 會直接出現在主機 8080
  • 資料保存到 open-webui-data 卷,不會因為重啟容器而消失

Step 3:啟動服務

在設定檔目錄執行:

docker compose up -d

如果一切正常,會下載映像檔並啟動容器。

檢查服務狀態:

docker ps

應該會看到類似:

CONTAINER ID   IMAGE                                NAMES
a1b2c3d4e5f6   ghcr.io/open-webui/open-webui:main   open-webui

(注意:因為使用 host,這裡不會再顯示 PORTS 映射)


Step 4:首次登入

  1. 打開瀏覽器 → http://<主機IP>:8080

    (如果你在本機就直接 http://localhost:8080

  2. 註冊一個新帳號(會成為管理員)

  3. 進入主介面,就能看到類似 ChatGPT 的對話框


⚡ 常見錯誤排解

  1. 埠被佔用

    • 因為是 host network,如果主機上已有程式佔用 8080,WebUI 無法啟動。

    • 解決:修改 WebUI 的環境變數,讓它改聽其他埠,例如:

      environment:
        - PORT=9090
      
      

      然後改用 http://localhost:9090 打開。

  2. 容器啟動後馬上停止

    • 查看日誌:

      docker logs open-webui
      
      
    • 檢查是否因為磁碟空間不足(WebUI 需要保存 session 與使用者資料)。

  3. 無法連接 Ollama

    • 先確定 Ollama 正常運行:

      curl http://localhost:11434/api/tags
      
      
    • 如果有輸出模型清單,代表 Ollama 正常。

    • 明天(Day 10)我們會正式把它接到 WebUI。


上一篇
Day 8:什麼是 Open WebUI?特色與應用場景介紹
下一篇
Day 10:將 Open WebUI 串接 Ollama,完成前後端對接
系列文
「30 天打造 Discord AI 助手:結合本地 LLM 與 IoT 的智慧生活」10
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言