教學

AnythingLLM 搭配 Ollama 本地化安裝教學(Ubuntu 指令版)

大家好,我是豬油先生!

在生成式 AI 持續進化,許多團隊希望將大型語言模型(LLM)真正融入日常工作。然而,雲端工具雖然便利,卻難免伴隨資料隱私與安全疑慮。特別是當企業想要像 NotebookLM 一樣上傳文件打造專屬知識助手時,資訊掌控就顯得格外重要。

透過 AnythingLLM 搭配 Ollama 的本機安裝,我們可以自行建立一個安全可控的 LLM 平台,實現文件搜尋、知識庫問答與對話輔助,同時確保所有資料都留存在自己的伺服器或電腦。

本篇將以 Ubuntu 指令版流程 為核心,帶大家快速打造兼具自由度與資料安全的智慧助理環境。

本機環境是 Ubuntu 24.04.3 版本,IP 是內網的192.168.29.86 。

2025-09-10-10h50-30

第一步:安裝 Docker 引擎

Docker 是一個開源平台,是一個可以將應用程式及其所有相依性打包成一個獨立的容器,確保應用程式在任何環境下都能穩定運行。所以我們需要先安裝 Docker 引擎,AnythingLLM 的 Docker 版本才能正常運作。

更新系統套件並安裝基本工具
sudo apt update && sudo apt upgrade -y && sudo apt install ca-certificates curl gnupg lsb-release -y
  • sudo apt update 更新本地套件索引,確保你能獲取最新的套件資訊。
  • sudo apt upgrade -y 將所有已安裝的套件升級到最新版本。-y 參數表示自動回答「是」,無需手動確認。
  • sudo apt install … 安裝 Docker 所需的基礎工具,例如 curl 用來下載檔案,gnupg 用來處理 GPG 金鑰。

2025-09-10-10h51-04

2025-09-10-10h51-22

加入 Docker 官方 GPG 金鑰與套件庫

這些指令會新增 Docker 的官方套件來源,確保你下載的 Docker 套件是可信且安全的。

sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
  • sudo install -m 0755 -d /etc/apt/keyrings 建立一個名為 keyrings 的資料夾,並設定其權限。
  • curl … | sudo gpg … 下載 Docker 的官方 GPG 金鑰,並將其轉換成 Docker 套件管理器可讀的格式。
  • echo “deb [arch=…] …” 建立一個名為 docker.list 的檔案,內容為 Docker 官方套件庫的資訊。這一步會告訴系統去哪裡下載 Docker 套件。

2025-09-10-10h51-57

2025-09-10-10h55-16

安裝 Docker 套件並啟用
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y
sudo systemctl enable --now docker
  • sudo apt update 再次更新套件索引,讓系統知道新的 Docker 套件庫已經加入。
  • sudo apt install …: 安裝 Docker 引擎核心套件 (docker-ce)、指令行工具 (docker-ce-cli),以及其他相關的工具和外掛。
  • sudo systemctl enable –now docker 啟用 Docker 服務。enable 表示設定為開機自動啟動,–now 表示立即啟動服務。

2025-09-10-10h55-36

確認能正常執行
sudo docker run hello-world
  • 執行這個指令會下載並運行一個名為 hello-world 的測試容器。如果成功,你會看到一則來自 Docker 的歡迎訊息,表示 Docker 引擎已正常運作。

2025-09-10-10h55-57

2025-09-10-10h56-09


第二步:部署 AnythingLLM(Docker 版)

完成 Docker 安裝後,現在進行下載 AnythingLLM 的 Docker 映像檔並運行。

下載 AnythingLLM 映像檔
sudo docker pull mintplexlabs/anythingllm:latest
  • 這個指令會從 Docker Hub 下載最新版本的 AnythingLLM 映像檔。映像檔是打包好的應用程式模板。此時,資料夾還不會有任何東西,因為你只下載了模板,還沒運行它。

2025-09-10-10h56-40

2025-09-10-10h56-50

運行 AnythingLLM 容器

這是最關鍵的步驟,這個指令會根據你下載的映像檔來建立並運行一個 AnythingLLM 容器。

export STORAGE_LOCATION=$HOME/anythingllm && \
mkdir -p $STORAGE_LOCATION && \
touch "$STORAGE_LOCATION/.env" && \
sudo docker run -d -p 3001:3001 \
--cap-add SYS_ADMIN \
--restart always \
-v ${STORAGE_LOCATION}:/app/server/storage \
-v ${STORAGE_LOCATION}/.env:/app/server/.env \
-e STORAGE_DIR="/app/server/storage" \
mintplexlabs/anythingllm
  • export STORAGE_LOCATION=$HOME/anythingllm 定義一個變數 STORAGE_LOCATION,將 AnythingLLM 的所有資料儲存到你的家目錄 ($HOME) 下的 anythingllm 資料夾中
  • mkdir -p $STORAGE_LOCATION 建立這個儲存資料夾
  • touch “$STORAGE_LOCATION/.env” 在資料夾中建立一個空的 .env 檔案,用於存放環境變數
  • sudo docker run -d -p 3001:3001 … 運行 Docker 容器。
    -d 以分離(detached)模式運行,讓容器在背景執行
    -p 3001:3001 將主機的 3001 連接埠對應到容器內的 3001 連接埠,讓你可以透過瀏覽器存取 AnythingLLM
    –cap-add SYS_ADMIN 賦予容器額外的系統管理權限,這是 AnythingLLM 運行所需要的
    –restart always 設定容器在停止或系統重啟時自動重新啟動
    -v ${STORAGE_LOCATION}:/app/server/storage 將主機上的 anythingllm 資料夾掛載到容器內的 /app/server/storage 路徑,這樣所有 AnythingLLM 的資料(如設定、模型等)都會儲存在這個資料夾中,即使容器被刪除,資料也不會遺失
    -v ${STORAGE_LOCATION}/.env:/app/server/.env 掛載 .env 檔案
    -e STORAGE_DIR=”/app/server/storage” 設定容器內的環境變數,指定儲存路徑
    mintplexlabs/anythingllm 指定要運行的映像檔名稱

完成後,終端機會顯示一串長長的字,這就是你的容器 ID。

2025-09-10-11h01-00

2025-09-10-11h01-13

確認容器是否正常運行
sudo docker ps
  • 這個指令會列出所有正在運行的 Docker 容器,你可以藉此確認 AnythingLLM 容器是否已成功啟動。

2025-09-10-11h02-08

存取 AnythingLLM

在瀏覽器中輸入 http://localhost:3001/ (本機IP) ,你就可以開始設定和使用 AnythingLLM 了。

2025-09-10-11h03-57

2025-09-10-11h04-29

我們可以看到有Ollama 選項,但由於我們還沒有安裝Ollama,因此選擇是沒有作用的。

2025-09-10-11h04-47


第三步:Ollama 部署與設定

Ollama 是一個輕量級的框架,讓你可以在本地輕鬆運行大型語言模型(LLM)。

一鍵安裝
curl -fsSL https://ollama.com/install.sh | sh
  • 這個指令會下載並執行 Ollama 官方提供的安裝腳本,自動完成所有安裝步驟。

2025-09-10-11h05-18

2025-09-10-11h09-40

啟動 Ollama 服務
ollama serve & disown
  • ollama serve 啟動 Ollama 服務。
  • & 將 ollama serve 放到背景執行。
  • disown 讓該背景程式與終端機脫離,即使你關閉終端機,服務也會持續運行。

2025-09-10-11h09-49

2025-09-10-11h10-09

下載模型
ollama pull gpt-oss
  • 從 Ollama 官方模型庫下載名為 gpt-oss 的模型。你可以替換成其他模型名稱,例如 llama2、deepseek-r1、gemma3…。

2025-09-10-11h10-38

2025-09-10-11h11-12

運行模型
ollama run gpt-oss
  • 運行你剛下載的模型。請注意,大型模型需要大量的記憶體,建議設備至少有 32GB 或更多記憶體。

2025-09-10-11h20-21

2025-09-10-11h22-59

查看相關資訊

  • ollama list 列出所有已下載的模型。
  • ollama ps 查看目前正在運行的模型(如果有的話)。
  • docker ps 再次確認是否有 Docker 容器正在運行。

第四步:解決 Ollama 的 HOST IP 限制
預設情況下,Ollama 服務只允許本機(localhost)存取。為了讓 AnythingLLM 能夠連接到 Ollama,你需要修改 Ollama 的設定,讓它允許來自其他 IP 的連線。
編輯 Ollama 服務設定
sudo vi /etc/systemd/system/ollama.service
  • 使用 vi 編輯器打開 Ollama 的系統服務設定檔。

2025-09-10-11h23-40

在 [Service] 底下新增一行:
[Service]
Environment="OLLAMA_HOST=0.0.0.0"
  • Environment=”OLLAMA_HOST=0.0.0.0″ 設定 OLLAMA_HOST 環境變數為 0.0.0.0,這會讓 Ollama 服務監聽所有網路介面,允許來自任何 IP 的連線。

2025-09-10-11h24-47

儲存並退出 vi 編輯器

在指令模式下,輸入 :wq 後按下 Enter

2025-09-10-11h25-17

  • : 進入 vi 編輯器的指令模式。
  • w write,代表儲存檔案。
  • q quit,代表退出編輯器。
重新載入並重啟 Ollama 服務
sudo systemctl daemon-reload
sudo systemctl restart ollama
  • sudo systemctl daemon-reload 重新載入 systemd 的設定,使剛剛的修改生效。
  • sudo systemctl restart ollama 重新啟動 Ollama 服務。

2025-09-10-11h25-43

2025-09-10-11h25-51

完成這些步驟後,AnythingLLM 就可以成功連接到你的 Ollama 服務並使用你下載的模型了!

2025-09-10-11h26-20

2025-09-10-11h27-01

2025-09-10-11h28-19

 

豬油先生

大家好!我是豬油先生 ~ 我喜歡吃,吃是享受,是生活,因它的美,我記錄,偶爾寫點小教學。 我享受我的生活,並分享它存在的價值。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *


返回頂部按鈕