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
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.comkhô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
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
và
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.internalgiú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:
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 nhanhllama3.1:8b→ reasoning tổng quátqwen2.5-coderhoặ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:
-
[1]: https://docs.openwebui.com/getting-started/quick-start/?utm_source=chatgpt.com "Quick Start" -
[2]: https://docs.openwebui.com/getting-started/?utm_source=chatgpt.com "🚀 Getting Started / Open WebUI"
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.
