ข้ามไปยังเนื้อหาหลัก

Docker กับ Ollama ภายนอก

ใช้การตั้งค่านี้เมื่อ Ollama ทำงานอยู่แล้วบนโฮสต์ของคุณ เซิร์ฟเวอร์อื่น หรือเครื่องใน Tailscale/LAN

ความพร้อมใช้งานของ Work

การตั้งค่า Compose นี้เปลี่ยนตำแหน่งที่ Ollama ทำงาน แต่ Work ยังเปิดอยู่ผ่าน socket Docker ของโฮสต์ที่เมานต์ไว้ ซึ่งให้ Libre WebUI ควบคุมโฮสต์ Docker ได้เทียบเท่า root จึงควรใช้เฉพาะเมื่อผู้ดูแล Libre WebUI เป็นผู้ดูแลโฮสต์ที่เชื่อถือได้ด้วย บน Linux ให้ตั้ง DOCKER_GID ใน .env เป็นกลุ่มเจ้าของ socket และนำเมานต์ออกหากไม่ต้องการ Work ดู Work: พื้นที่ทำงานแบบแยก

ข้อกำหนดเบื้องต้น

ยืนยันว่าสามารถเข้าถึง Ollama ได้:

curl http://localhost:11434/api/version

ดาวน์โหลดโมเดลหากเป็นอินสแตนซ์ใหม่:

ollama pull gemma4:12b

เริ่ม Libre WebUI

จากราก repository:

docker compose -f docker-compose.external-ollama.yml up -d

เปิด http://localhost:8080

ไฟล์ Compose ชี้ OLLAMA_BASE_URL ไปที่ http://host.docker.internal:11434 โดยค่าเริ่มต้น

URL Ollama แบบกำหนดเอง

สำหรับโฮสต์อื่น:

OLLAMA_BASE_URL=http://192.168.1.100:11434 docker compose -f docker-compose.external-ollama.yml up -d

สำหรับโฮสต์ Linux ที่แปลง host.docker.internal ไม่ได้ ให้เพิ่มส่วนนี้ในบริการ:

extra_hosts:
- 'host.docker.internal:host-gateway'

การเก็บข้อมูลถาวร

ไฟล์ Compose เก็บข้อมูล Libre WebUI ใน volume Docker:

  • libre_webui_data
  • libre_webui_temp

กำหนดข้อมูลลับที่เสถียรสำหรับ production:

JWT_SECRET=replace-with-a-long-random-secret
ENCRYPTION_KEY=replace-with-64-hex-characters

สำรอง volume ข้อมูลพร้อมคีย์เข้ารหัส

การเข้าถึงเครือข่าย

ไฟล์ Compose ใน repository กำหนด CORS_ORIGIN โดยตรง ค่าใน shell หรือไฟล์ .env จะไม่แทนค่าคงที่นั้น ให้แก้รายการ libre-webui.environment หรือเพิ่มการแทนที่ Compose ที่ชัดเจน เช่น compose.origin.yml:

services:
libre-webui:
environment:
CORS_ORIGIN: http://localhost:8080,http://192.168.1.50:8080
BASE_URL: http://192.168.1.50:8080

ใช้ไฟล์ทั้งสอง:

docker compose \
-f docker-compose.external-ollama.yml \
-f compose.origin.yml \
up -d

สำหรับโดเมนสาธารณะ ให้ใช้ origin HTTPS ที่ตรงกันสำหรับทั้งสองค่าและสิ้นสุดทราฟฟิกด้วย HTTPS

คำสั่งที่มีประโยชน์

docker compose -f docker-compose.external-ollama.yml ps
docker compose -f docker-compose.external-ollama.yml logs -f libre-webui
docker compose -f docker-compose.external-ollama.yml restart
docker compose -f docker-compose.external-ollama.yml pull
docker compose -f docker-compose.external-ollama.yml up -d

การแก้ปัญหา

Libre WebUI เข้าถึง Ollama ไม่ได้

docker compose -f docker-compose.external-ollama.yml exec libre-webui \
wget -O- http://host.docker.internal:11434/api/version

หากล้มเหลว ให้ใช้ IP LAN/Tailscale ที่ชัดเจนใน OLLAMA_BASE_URL

โมเดลไม่ปรากฏ

ตรวจสอบโฮสต์ Ollama:

ollama list

ตัวจัดการโมเดลอ่านจากอินสแตนซ์ Ollama ที่กำหนดค่า

ข้อผิดพลาด CORS

ตรวจให้แน่ใจว่า CORS_ORIGIN ตรงกับ origin ของเบราว์เซอร์ รวมถึง scheme และพอร์ต

เอกสารที่เกี่ยวข้อง