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
ไฟล์ 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_datalibre_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 และพอร์ต