27/06/2026 · 4 phút đọc

Cách cài đặt Open-WebUI trên máy tính Macbook Air M1 2020

Hướng dẫn cách cài đặt Open-WebUI trên máy tính Macbook Air M1 2020

AutomationDeveloper ExperienceDeveloper ToolsSoftware Engineering

Disclaimer: Thông tin được cung cấp trên trang web này chỉ mang tính chất tham khảo chung, tìm hiểu công nghệ mới. thienlm.com không chịu trách nhiệm về bất kỳ lỗi hoặc thiếu sót nào trong nội dung (nếu có). Hãy cẩn trọng trong việc tìm hiểu thông tin. Nếu muốn góp ý thêm với mình về một vấn đề nào đó, vui lòng gửi liên hệ đến mình tại đây. Cảm ơn bạn đã dành thời gian ở đây. Peace 🍀

Giả sử cấu hình thiết bị hiện tại của bạn (MacBook Air M1 2020, 16GB RAM, đã cài Ollama, Docker workflow, Continue/Codex), mình khuyến nghị cài theo kiến trúc sau:

  • ✅ Ollama chạy native trên macOS (tận dụng Metal GPU của Apple Silicon).
  • ✅ Open WebUI chạy bằng Docker (dễ update, rollback, backup).
  • ❌ Không chạy Ollama trong Docker trên macOS vì Docker không tận dụng được khả năng tăng tốc của GPU Apple Silicon. Đây cũng là hướng được tài liệu và cộng đồng khuyến nghị. ([docs.openwebui.com][1])

Kiến trúc đề xuất

Rendering Mermaid diagram...

Bước 1. Kiểm tra Ollama

Bạn gần như đã cài rồi.

ollama --version

Kiểm tra server:

curl http://localhost:11434/api/tags

Nếu chưa chạy:

ollama serve

Nếu đã chạy dưới LaunchAgent thì không cần. ([docs.openwebui.com][2])


Bước 2. Kiểm tra Docker

docker version

docker compose version

Nếu đều OK thì tiếp tục.


Bước 3. Chạy Open WebUI

Tài liệu hiện nay khuyến nghị:

docker run -d \
  -p 3000:8080 \
  --add-host=host.docker.internal:host-gateway \
  -v open-webui:/app/backend/data \
  --name open-webui \
  --restart unless-stopped \
  ghcr.io/open-webui/open-webui:main

Trong đó:

  • port WebUI: 3000
  • dữ liệu lưu trong Docker Volume
  • tự khởi động lại sau reboot
  • host.docker.internal giúp container truy cập Ollama chạy trên host. ([docs.openwebui.com][1])

Bước 4. Mở WebUI

http://localhost:3000

Lần đầu sẽ yêu cầu tạo:

  • Admin account
  • Username
  • Password
  • Email (có thể dùng email bất kỳ nếu chỉ dùng local)

Sau đó đăng nhập.


Bước 5. Kết nối Ollama

Thông thường Open WebUI sẽ tự phát hiện.

Nếu chưa:

Rendering Mermaid diagram...

Lưu lại.


Bước 6. Kiểm tra model

Ví dụ:

ollama list
qwen3:4b
llama3.1:8b
qwen2.5-coder

WebUI sẽ tự hiển thị danh sách model.

Nếu chưa có model:

ollama pull qwen3:4b

hoặc

ollama pull llama3.1:8b

Bước 7. Backup dữ liệu

Xem volume:

docker volume ls
open-webui

Backup:

docker run --rm \
  -v open-webui:/data \
  -v $(pwd):/backup \
  alpine \
  tar czf /backup/open-webui-backup.tar.gz /data

Bước 8. Update

docker pull ghcr.io/open-webui/open-webui:main

docker stop open-webui

docker rm open-webui

Chạy lại đúng lệnh ở Bước 3.

Volume vẫn giữ nguyên.

([docs.openwebui.com][1])


Nên dùng Docker Compose

Thay vì docker run, mình khuyên dùng docker compose.

Tạo thư mục:

~/AI/open-webui

Tạo file:

services:
  open-webui:
    image: ghcr.io/open-webui/open-webui:main

    container_name: open-webui

    restart: unless-stopped

    ports:
      - '3000:8080'

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

    volumes:
      - open-webui:/app/backend/data

volumes:
  open-webui:

Chạy:

docker compose up -d

Dừng:

docker compose down

Update:

docker compose pull
docker compose up -d

Đây là cách quản lý lâu dài dễ hơn nhiều so với docker run.


Cấu hình phù hợp với workflow của bạn

Với môi trường bạn đã xây dựng (Continue + Codex + Ollama local + Qwen), mình đề xuất:

  • Ollama: Native trên macOS (Metal GPU)

  • Open WebUI: Docker Compose

  • Models chính:

    • qwen3:4b → chat nhanh
    • llama3.1:8b → reasoning tổng quát
    • qwen2.5-coder hoặc model coder bạn đang dùng → lập trình
  • Dữ liệu: Docker Volume

  • Port: 3000

  • Ollama API: http://host.docker.internal:11434

Cấu hình này tận dụng tốt Apple Silicon, dễ bảo trì, và phù hợp cho cả sử dụng cá nhân lẫn mở rộng về sau. ([docs.openwebui.com][1])

Tài liệu tham khảo:

Nếu bạn chạy bằng docker run thì không cần cd vào bất kỳ thư mục nào.

Ví dụ bạn có thể chạy ở đâu cũng được:

docker run -d \
  -p 3000:8080 \
  --add-host=host.docker.internal:host-gateway \
  -v open-webui:/app/backend/data \
  --name open-webui \
  --restart unless-stopped \
  ghcr.io/open-webui/open-webui:main

Docker sẽ tự tạo volume open-webui và lưu dữ liệu, không phụ thuộc thư mục hiện tại.


Nếu dùng Docker Compose (khuyến nghị)

Lúc này nên tạo một thư mục riêng để quản lý.

Ví dụ:

mkdir -p ~/Applications/open-webui
cd ~/Applications/open-webui

hoặc

mkdir -p ~/AI/open-webui
cd ~/AI/open-webui

Sau đó tạo:

~/AI/open-webui/
├── compose.yaml

(hoặc docker-compose.yml, nhưng compose.yaml là tên được Docker Compose hiện nay ưu tiên.)

Sau đó:

docker compose up -d

Sau này mỗi lần:

cd ~/AI/open-webui
docker compose pull
docker compose up -d

Hoặc:

cd ~/AI/open-webui
docker compose down

Với workflow của bạn

Mình khuyên tạo cấu trúc như sau để sau này dễ mở rộng:

~/AI/
├── open-webui/
│   ├── compose.yaml
│   ├── .env
│   └── backups/
├── n8n/
├── flowise/
├── langfuse/
├── anythingllm/
└── README.md

Ưu điểm:

  • Dễ backup.
  • Dễ dùng Git để quản lý các file cấu hình (không commit dữ liệu nhạy cảm).
  • Sau này có thể bổ sung thêm các dịch vụ AI khác như n8n, Flowise, Langfuse mà vẫn gọn gàng.

Nếu mục tiêu của bạn là xây dựng một AI workstation lâu dài trên Mac M1, mình khuyên dùng Docker Compose ngay từ đầu thay vì docker run. Điều này sẽ giúp việc nâng cấp, thay đổi cấu hình và mở rộng hệ thống về sau đơn giản hơn nhiều.

[ Bài liên quan ]

Developer Workflow

27/06/2026 · 6 phút đọc

Docker Cheat Sheet: Tổng hợp các câu lệnh Docker hữu ích

Bảng tra cứu nhanh các câu lệnh Docker thiết yếu dưới dạng bảng Markdown trực quan, giúp bạn tra cứu nhanh chóng và tối ưu hóa quy trình làm việc.

DockerDevOpsCheat SheetDeveloper Workflow
Xem tất cả
Developer Workflow

27/06/2026 · 4 phút đọc

DSpark là gì? Bước nhảy vọt về throughput Inference từ DeepSeek

DeepSeek vừa mở nguồn DSpark và framework DeepSpec, hứa hẹn tăng throughput inference từ 51% đến 400% nhờ kỹ thuật đầu cơ token thông minh.

DeepSeekDSparkInferenceLLM
Xem tất cả
Developer WorkflowNổi bật

20/06/2026 · 7 phút đọc

MCP và Code Graph: Giải pháp tối ưu Context Window cho AI với Codebase lớn

Khi làm việc với dự án lớn, việc ném toàn bộ codebase vào prompt là một sự lãng phí tài nguyên và làm giảm độ chính xác của AI. Hãy học cách điều hướng Agent bằng các công cụ ngữ cảnh chuyên biệt.

AI AgentAgentic AIPerformanceAutomation
Xem tất cả