AI
LLM
UI
Ollama Local
free • local • chat

Cài Ollama local với Docker Compose và Open WebUI

Hướng dẫn cài Ollama local bằng Docker Compose, dùng Open WebUI để chat, gọi local API miễn phí và chọn model phù hợp với cấu hình máy cá nhân.

10 phút đọc16/06/2026

Khi nào nên chạy AI local bằng Ollama

Nếu bạn đang muốn:

  • chat với model trên máy cá nhân
  • thử prompt nhanh
  • tóm tắt tài liệu nội bộ
  • dùng AI mà chưa muốn trả tiền API cloud
  • tránh đẩy dữ liệu nhạy cảm lên cloud

thì chạy model local là một hướng rất đáng thử.

Ollama là một trong những cách dễ nhất để làm chuyện đó. Nó giúp bạn tải model về máy, chạy model local, expose sẵn local API ở 11434, rồi nối tiếp với Open WebUI để có giao diện chat giống ChatGPT.

Nếu search intent của bạn là:

  • cài ollama local
  • ollama docker compose
  • open webui ollama
  • ollama local api

thì setup trong bài này là đúng hướng.

Luồng chạy AI local với Ollama: Docker chạy Ollama và Open WebUI, model nằm trên máy local, người dùng chat qua trình duyệt mà không cần API cloud

Vì sao nên dùng Ollama thay vì tự dựng local LLM từ đầu

Ollama hợp vì nó giải quyết được mấy việc khó chịu nhất của local AI:

  • tải model bằng một lệnh đơn giản
  • quản lý model gọn hơn việc tự build runtime
  • có API local dễ nối với app khác
  • chạy được trên Linux, macOS, Windows

Nói ngắn gọn, nếu mục tiêu là “có một ChatGPT mini chạy trên máy mình”, Ollama là điểm bắt đầu rất hợp lý.

Dùng model free tại local có thực tế không

Có, nhưng phải thực tế đúng mức.

Model local free rất hợp cho:

  • hỏi đáp nội bộ
  • giải thích code
  • viết nháp
  • tóm tắt văn bản
  • dịch cơ bản

Nhưng chất lượng và tốc độ sẽ phụ thuộc vào:

  • CPU hay GPU của máy
  • dung lượng RAM
  • model bạn chọn lớn hay nhỏ

Nếu máy không quá mạnh, nên bắt đầu bằng model nhỏ trước. Mục tiêu đầu tiên không phải “mạnh nhất”, mà là “chạy được ổn trên máy mình”.

Kiến trúc cài Ollama local đơn giản nhất: Ollama + Open WebUI

Một setup local AI dễ dùng nhất thường là:

  • Ollama: nơi chạy model
  • Open WebUI: giao diện chat trên trình duyệt

Flow sẽ là:

  1. Ollama chạy local trên port 11434
  2. Open WebUI chạy local trên port 3000
  3. Trình duyệt mở UI để chat
  4. UI gọi về Ollama API trong mạng nội bộ Docker

Cách cài Ollama local bằng Docker Compose

Với bài toán local AI, cách gọn nhất là chạy:

  • Ollama để chạy model
  • Open WebUI để có giao diện chat
  • Docker Compose để 2 service gọi nhau ổn định, không phải nối thủ công

Một file docker-compose.yml gọn để chạy Ollama + Open WebUI:

services:
  ollama:
    image: ollama/ollama
    container_name: ollama
    restart: unless-stopped
    ports:
      - "11434:11434"
    volumes:
      - ollama:/root/.ollama

  open-webui:
    image: ghcr.io/open-webui/open-webui:main
    container_name: open-webui
    restart: unless-stopped
    ports:
      - "3000:8080"
    environment:
      OLLAMA_BASE_URL: http://ollama:11434
    volumes:
      - open-webui:/app/backend/data
    depends_on:
      - ollama

volumes:
  ollama:
  open-webui:

Chạy lên:

docker compose up -d

Lúc này:

  • Ollama ở http://localhost:11434
  • Open WebUI ở http://localhost:3000

Open WebUI sẽ gọi sang Ollama qua tên service ollama, nên setup ổn định hơn cách nối qua host.

Nếu máy có GPU Nvidia và bạn đã cấu hình Docker GPU runtime, bạn có thể mở rộng file compose sau. Nhưng với bài đầu tiên, cứ để CPU hoặc setup đơn giản trước để test flow.

Cách pull model đầu tiên về máy

Sau khi stack chạy xong, bạn có thể tải model về bằng lệnh:

docker exec -it ollama ollama pull llama3.2:3b

Muốn chạy thử trực tiếp:

docker exec -it ollama ollama run llama3.2:3b

Nếu máy không mạnh, nên bắt đầu bằng model nhỏ trước thay vì kéo model lớn ngay.

Cách xem thư viện model của Ollama

Ollama có thư viện model chính thức tại:

https://ollama.com/library

Đây là nơi bạn có thể xem:

  • tên model
  • các tag theo kích thước như 1b, 3b, 7b, 14b
  • model nào hỗ trợ vision, tools, thinking, embedding
  • lệnh pull tương ứng

Nếu chưa biết nên chọn gì, cứ mở thư viện này trước rồi mới pull.

Cách gọi local API miễn phí của Ollama

Điểm hay nhất của Ollama không chỉ là chat trên web UI, mà là sau khi chạy xong nó sẽ mở luôn local API ở:

http://localhost:11434/api

Điều này có nghĩa là bạn có thể:

  • gọi model từ app nội bộ
  • nối vào chatbot riêng
  • tóm tắt tài liệu bằng script
  • làm RAG hoặc semantic search
  • test workflow AI mà không tốn tiền theo từng request như cloud API

Nói chính xác hơn, bạn không mất phí theo request với Ollama local, vì compute chạy trên máy của bạn. Chi phí lúc này chủ yếu là phần cứng, điện và thời gian xử lý.

Một ví dụ đơn giản với endpoint generate:

curl http://localhost:11434/api/generate -d '{
  "model": "llama3.2:3b",
  "prompt": "Tom tat giup toi log loi nay"
}'

Ngoài generate, Ollama còn có các nhóm API rất hữu ích:

  • POST /api/chat Hợp khi bạn muốn làm giao diện chat nhiều lượt hội thoại.

  • POST /api/embed Hợp khi bạn muốn làm tìm kiếm ngữ nghĩa, vector search hoặc RAG.

  • GET /api/tags Dùng để xem những model nào đã có sẵn trong máy.

Vì vậy, kể cả khi không dùng Open WebUI, bạn vẫn có thể xem Ollama như một local AI server miễn phí cho app của mình.

Một số model Ollama phổ biến nên biết

Không cần kéo quá nhiều model ngay từ đầu. Chỉ cần hiểu nhóm nào hợp với nhu cầu nào:

  • llama3.2 Phù hợp để bắt đầu vì có bản nhỏ 1b3b, dễ chạy trên máy cá nhân hơn.

  • qwen2.5 Dùng ổn cho chat tổng quát, đa ngôn ngữ và có nhiều size từ nhỏ đến lớn.

  • qwen2.5-coder Hợp khi bạn muốn giải thích code, sửa code hoặc dùng local AI cho lập trình.

  • deepseek-r1 Nghiêng về reasoning, nhưng nhiều bản sẽ nặng hơn đáng kể nếu phần cứng yếu.

  • gemma3 Có nhiều size, phù hợp nếu bạn muốn thử thêm lựa chọn ngoài Llama và Qwen.

  • nomic-embed-text Đây không phải model chat, mà là model embedding để làm search, RAG hoặc semantic retrieval.

Nên chọn model nào trước khi mới cài Ollama

Nếu mục tiêu là chat local cho dễ dùng, có thể bắt đầu như sau:

  • máy yếu hoặc RAM không nhiều: thử llama3.2:1b hoặc llama3.2:3b
  • muốn chat tổng quát tốt hơn: thử qwen2.5:3b hoặc qwen2.5:7b
  • muốn hỏi code: thử qwen2.5-coder:3b hoặc qwen2.5-coder:7b

Nguyên tắc rất đơn giản:

  • bắt đầu từ model nhỏ
  • thấy ổn mới tăng size
  • đừng chọn model chỉ vì tên hot nếu máy bạn không gánh nổi

Máy nào chạy được các model Ollama cơ bản

Không có một con số tuyệt đối cho mọi máy, nhưng nếu đi theo nhu cầu thực tế thì có thể ước lượng như sau:

Mức cơ bản để thử Ollama local

  • CPU 4 core trở lên
  • RAM 8 GB
  • không cần GPU rời

Mức này phù hợp để thử:

  • llama3.2:1b
  • qwen2.5:0.5b
  • qwen2.5:1.5b
  • smollm2

Chat được, test prompt được, nhưng tốc độ sẽ không quá nhanh.

Mức dùng ổn cho chat hằng ngày

  • CPU 6 đến 8 core
  • RAM 16 GB
  • GPU không bắt buộc, nhưng có sẽ khác nhiều

Mức này hợp để chạy:

  • llama3.2:3b
  • qwen2.5:3b
  • qwen2.5-coder:3b
  • gemma3:1b hoặc gemma3:4b

Đây là mức khá hợp lý cho người muốn có local chatbot dùng hàng ngày.

Mức dễ chịu hơn cho chat và code với model 7B

  • CPU 8 core trở lên
  • RAM 32 GB
  • hoặc có GPU Nvidia / AMD được Ollama hỗ trợ

Mức này phù hợp hơn với:

  • qwen2.5:7b
  • qwen2.5-coder:7b
  • mistral:7b
  • deepseek-r1 bản nhỏ

Nếu có GPU tương thích, trải nghiệm sẽ tốt hơn rõ rệt so với chỉ chạy CPU.

Khi nào nên dùng GPU để chạy Ollama

Nếu bạn chỉ muốn:

  • thử local AI
  • chat nhẹ
  • prompt cơ bản

thì CPU vẫn đủ để bắt đầu.

Nhưng nếu bạn muốn:

  • phản hồi nhanh hơn
  • dùng model 7B trở lên ổn định hơn
  • chạy lâu dài như một mini AI server ở nhà

thì GPU sẽ đáng tiền hơn nhiều.

Theo docs chính thức của Ollama, họ hỗ trợ:

  • Nvidia GPU với compute capability 5.0+
  • nhiều dòng AMD GPU qua ROCm
  • và có tài liệu riêng cho Docker + GPU

Điều quan trọng là: đừng chờ có máy mạnh mới thử. Với local AI, bắt đầu từ model nhỏ trên CPU vẫn là cách đúng nhất.

Cách dùng Open WebUI sau khi cài xong

Sau khi vào Open WebUI, bạn có thể:

  • tạo tài khoản local
  • chọn model đã pull
  • chat ngay trên trình duyệt
  • giữ lịch sử hội thoại trên máy
  • đổi model ngay trong giao diện để so sánh
  • thêm model mới rồi refresh UI để dùng tiếp

Nếu chưa có model, bạn có thể pull thêm trong Ollama rồi refresh lại UI.

Flow dùng thực tế rất giống ChatGPT, nhưng toàn bộ suy luận chạy trên máy local của bạn.

Những lỗi hay gặp khi chạy Ollama local

1. Chọn model quá nặng ngay từ đầu

Đây là lỗi phổ biến nhất. Máy chỉ có RAM vừa phải mà kéo model quá lớn thì tốc độ rất chậm hoặc không chạy nổi.

2. Không mount volume cho Ollama

Nếu thiếu volume ollama:/root/.ollama, mỗi lần xoá container bạn sẽ mất model đã tải.

3. Không nối đúng Open WebUI với Ollama

Nếu OLLAMA_BASE_URL sai, UI sẽ mở được nhưng không thấy model hoặc không chat được.

4. Kỳ vọng local model mạnh như dịch vụ cloud lớn

Local AI có lợi thế riêng về giá và riêng tư, nhưng không phải lúc nào cũng ngang chất lượng với model lớn chạy trên hạ tầng cloud rất mạnh.

Khi nào nên dùng Ollama local thay vì API cloud

Local AI bằng Ollama rất đáng thử khi bạn muốn:

  • học cách chạy LLM mà không tốn tiền API trước
  • có local API miễn phí để app riêng gọi vào
  • có một chatbot nội bộ cho máy cá nhân
  • thử prompt, tool, workflow local
  • giữ dữ liệu trên máy thay vì gửi sang bên thứ ba

Nếu sau này nhu cầu lớn hơn, bạn vẫn có thể giữ local AI cho tác vụ nội bộ và chỉ dùng API cloud cho phần thực sự cần model mạnh.

Kết luận

Nếu bạn muốn cài AI local miễn phí trên máy cá nhân theo cách dễ nhất, combo:

  • Ollama
  • Docker Compose
  • Open WebUI

là một điểm bắt đầu rất tốt.

Bạn không cần dựng hạ tầng phức tạp, không cần API key, và vẫn có một Chat UI để dùng model local như một chatbot thật sự. Với người mới bắt đầu self-host AI, đây là setup vừa dễ hiểu vừa áp dụng thực tế tốt.