Fast Byte - Thuê VPS Giá Rẻ
Hướng dẫn chung

Hướng Dẫn Cài Đặt và Sử Dụng Open WebUI Trên Ubuntu

Cài đặt và sử dụng Open WebUI trên Ubuntu là cách nhanh nhất để bạn có một AI assistant riêng trên VPS, không lo dữ liệu chat bị lưu trên server bên thứ ba, không phải trả phí ChatGPT Plus hàng tháng. Nếu bạn đang tìm cách tự host AI giống ChatGPT trên VPS Ubuntu […]

Ảnh đại diện adminadmin13 phút đọc

Cài đặt và sử dụng Open WebUI trên Ubuntu là cách nhanh nhất để bạn có một AI assistant riêng trên VPS, không lo dữ liệu chat bị lưu trên server bên thứ ba, không phải trả phí ChatGPT Plus hàng tháng. Nếu bạn đang tìm cách tự host AI giống ChatGPT trên VPS Ubuntu với quyền kiểm soát hoàn toàn, bài hướng dẫn này sẽ đi từ cài đặt Ollama, chạy Open WebUI bằng Docker, đến xử lý các lỗi kết nối phổ biến nhất. Bạn có thể bắt đầu với một VPS giá rẻ tại ThueVPSGiaRe.vn và làm theo từng bước bên dưới.

Open WebUI là gì? Tại sao nên tự host trên VPS?

Open WebUI là giao diện web mã nguồn mở cho phép bạn chat với các mô hình LLM chạy cục bộ hoặc qua API từ bất kỳ nhà cung cấp nào. Khác với ChatGPT, nơi dữ liệu hội thoại được lưu trên server của OpenAI, Open WebUI chạy hoàn toàn trên hạ tầng của bạn.

Điểm khác biệt cốt lõi nằm ở quyền kiểm soát. Khi tự host Open WebUI trên VPS, bạn quyết định model AI nào được dùng, dữ liệu chat lưu ở đâu, ai có quyền truy cập. Open WebUI hỗ trợ kết nối với Ollama để chạy model local, hoặc thêm API key của OpenAI, Anthropic, Google nếu muốn dùng model thương mại trong cùng một giao diện.

Về tính năng, Open WebUI không chỉ là chat. Bạn có Knowledge Base để upload tài liệu và hỏi đáp dựa trên nội dung riêng (RAG), multi-user với phân quyền, lưu lịch sử hội thoại, và API để tích hợp vào workflow automation.

Open WebUI

VPS cần cấu hình bao nhiêu để chạy Ollama và Open WebUI?

Mức RAM tối thiểu để chạy model 7B là 8GB, khuyến nghị 16GB nếu muốn chạy model lớn hơn hoặc nhiều người dùng đồng thời.

Cấu hình VPS phụ thuộc vào model bạn định chạy. Dưới đây là gợi ý thực tế dựa trên kích thước model phổ biến:

Model RAM tối thiểu Ghi chú
1B đến 3B 2GB đến 4GB Chạy được trên VPS nhỏ, tốc độ phản hồi chấp nhận được trên CPU.
7B đến 8B 8GB Mức phổ biến cho cá nhân. Llama 3.1 8B hoặc Qwen 2.5 7B chạy ổn trên CPU.
13B đến 14B 16GB Cần nhiều RAM hơn, tốc độ chậm hơn nếu không có GPU.
32B trở lên 32GB+ Thực tế cần GPU để đạt tốc độ dùng được. CPU-only sẽ rất chậm.

Open WebUI bản thân nó rất nhẹ, chỉ tốn khoảng vài trăm MB RAM. Phần nặng nằm ở model AI bạn chạy qua Ollama. Disk cũng quan trọng: mỗi model 7B chiếm khoảng 4 đến 8GB dung lượng, nên VPS cần ít nhất 20GB trống.

⚠ Lưu ý về CPU-only:

Nếu VPS không có GPU, Ollama vẫn chạy được nhưng tốc độ sinh token sẽ chậm hơn đáng kể so với máy có GPU. Model càng lớn, độ trễ càng cao. Với mục đích chat cá nhân, model 3B đến 8B là điểm cân bằng hợp lý giữa chất lượng và tốc độ trên CPU.

Thuê VPS giá rẻ

CPU Intel Gold, SSD NVMe U.2, giá từ 50K/tháng

Cần VPS Cấu Hình Cao, Hiệu Suất Mạnh?

Chọn gói VPS có RAM phù hợp với model bạn định dùng. SSD NVMe U.2 giúp load model nhanh hơn, bandwidth không giới hạn hàng tháng phù hợp nếu bạn pull nhiều model hoặc dùng RAG với tài liệu lớn.

Xem Bảng Giá VPS Rẻ

Chuẩn bị trước khi cài: Docker, Ubuntu và quyền root

Trước khi bắt đầu, VPS của bạn cần đáp ứng các điều kiện sau:

  • Ubuntu 22.04 hoặc 24.04 LTS: hai bản này được hỗ trợ tốt nhất và có package Docker ổn định.
  • Docker Engine đã cài đặt. Nếu chưa có, bạn có thể xem hướng dẫn cài Docker Compose để nắm cách cài Docker cơ bản.
  • Quyền sudo hoặc root: bạn cần quyền này để cài package, chạy Docker và chỉnh sửa cấu hình hệ thống.
  • Ollama sẽ được cài ở bước đầu tiên bên dưới.
  • Firewall UFW: nếu đang bật, cần mở port 3000 sau khi cài xong Open WebUI.

Nếu vừa nhận VPS mới, nên đổi hostname và cập nhật package trước khi cài đặt. Bạn có thể tham khảo bài thay đổi Hostname Ubuntu để đặt tên server theo mục đích sử dụng.

Hướng dẫn cài đặt và sử dụng Open WebUI trên Ubuntu từng bước

Bước 1: Cài Ollama trên Ubuntu

Ollama là công cụ chạy model LLM local, cung cấp API tại cổng 11434. Bạn cài bằng script chính thức:

curl -fsSL https://ollama.com/install.sh | sh

Sau khi cài xong, kiểm tra dịch vụ đã chạy chưa:

sudo systemctl status ollama

Kiểm tra API trả về danh sách model (ban đầu sẽ trống):

curl http://127.0.0.1:11434/api/tags

Pull một model để test. Ví dụ model 3B nhẹ, phù hợp VPS RAM 4GB:

ollama pull qwen2.5:3b

Hoặc model 7B nếu VPS có 8GB RAM trở lên:

ollama pull llama3.1:8b

Bước 2: Chạy Open WebUI bằng Docker

Đây là lệnh Docker chạy Open WebUI, kết nối với Ollama trên host. Lưu ý: nếu bạn dùng UFW, cần mở port 3000 trước hoặc sau khi chạy container.

docker run -d -p 3000:8080 \
  --add-host=host.docker.internal:host-gateway \
  -v open-webui:/app/backend/data \
  -e WEBUI_SECRET_KEY=thay-bang-chuoi-ngau-nhien-dai \
  --name open-webui \
  --restart always \
  ghcr.io/open-webui/open-webui:main

⚠ Cảnh báo quan trọng:

Luôn giữ dòng -v open-webui:/app/backend/data trong lệnh Docker. Nếu thiếu flag này, toàn bộ lịch sử chat, tài khoản admin và cấu hình sẽ mất sạch khi bạn xóa hoặc tạo lại container. Docker volume là thứ duy nhất giữ dữ liệu tồn tại qua các lần cập nhật.

Giải thích các flag quan trọng trong lệnh trên:

Flag Ý nghĩa
-p 3000:8080 Map cổng 3000 của VPS vào cổng 8080 bên trong container. Truy cập qua http://IP:3000.
-v open-webui:/app/backend/data Mount volume lưu dữ liệu. Không có dòng này, dữ liệu sẽ mất khi container bị xóa.
--add-host=host.docker.internal:host-gateway Cho phép container kết nối tới Ollama chạy trên Ubuntu host qua tên host.docker.internal.
-e WEBUI_SECRET_KEY=... Khóa bí mật cho session. Nên đặt cố định; nếu không, mỗi lần tạo lại container sẽ log out toàn bộ người dùng.
--restart always Tự động khởi động lại container sau khi VPS reboot.
ghcr.io/open-webui/open-webui:main Image chính thức. Tag main là bản mới nhất; có thể thay bằng tag phiên bản cụ thể nếu muốn ổn định.

Kiểm tra container đã chạy chưa:

docker ps --filter name=open-webui

Xem log nếu container không khởi động được:

docker logs --tail=100 open-webui

Bước 3: Truy cập giao diện và tạo tài khoản admin

Mở trình duyệt và truy cập:

http://IP_VPS:3000

Tài khoản đầu tiên đăng ký sẽ tự động có quyền admin. Tạo email và mật khẩu, sau đó đăng nhập.

Bước 4: Tải model AI về để dùng

Nếu chưa pull model từ bước 1, bạn có thể pull sau. Ollama API chạy trên host, không phải trong container Open WebUI:

ollama pull llama3.1:8b

Sau khi pull xong, vào giao diện Open WebUI, chọn model từ dropdown ở đầu cửa sổ chat. Nếu không thấy model, xem phần troubleshooting bên dưới.

Tùy chọn: Cài bằng Docker Compose

Nếu muốn quản lý cấu hình gọn hơn, dùng Docker Compose. Tạo file docker-compose.yml:

version: '3.8'

services:
  open-webui:
    image: ghcr.io/open-webui/open-webui:main
    container_name: open-webui
    restart: unless-stopped
    ports:
      - "3000:8080"
    volumes:
      - open-webui_data:/app/backend/data
    environment:
      OLLAMA_BASE_URL: http://host.docker.internal:11434
      WEBUI_SECRET_KEY: thay-bang-chuoi-ngau-nhien-dai
    extra_hosts:
      - "host.docker.internal:host-gateway"

volumes:
  open-webui_data:

Chạy:

docker compose up -d

Ưu Đãi Tiết Kiệm

Xem các gói VPS đang có khuyến mãi

Săn Hot Deals Tiết Kiệm

Bắt đầu với gói VPS vừa túi tiền, sau đó nâng cấp khi biết chính xác model và số người dùng thực tế. Không cần mua cấu hình cao ngay từ đầu nếu chưa rõ nhu cầu.

Xem Các Ưu Đãi VPS Tiết Kiệm

Cách truy cập Open WebUI từ domain riêng với HTTPS

Mặc định Open WebUI chạy ở port 3000. Để dùng domain riêng với HTTPS, bạn cần một reverse proxy như Nginx. Cấu hình cơ bản gồm: trỏ domain về IP VPS, tạo Nginx config proxy pass về http://127.0.0.1:3000, bật WebSocket support, và dùng Certbot để lấy SSL. Nếu VPS còn chạy các ứng dụng self-host khác như tự động hóa workflow với n8n hoặc tự host ứng dụng như Immich trên VPS, Nginx cũng là cách gom tất cả dịch vụ dưới các subdomain khác nhau.

Open WebUI

Một lưu ý quan trọng: Open WebUI cần WebSocket để streaming phản hồi từ model. Trong Nginx config, bạn phải có:

proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";

Thiếu hai dòng này, giao diện chat có thể bị treo khi model đang sinh câu trả lời.

Open WebUI không kết nối được Ollama: nguyên nhân và cách fix

Lỗi 1: Open WebUI không thấy model nào

Triệu chứng: Dropdown chọn model trống, dù đã pull model thành công. Nguyên nhân phổ biến nhất là Open WebUI không kết nối được tới Ollama API.

Kiểm tra model đã pull chưa:

ollama list

Kiểm tra Ollama API có trả về dữ liệu không:

curl http://127.0.0.1:11434/api/tags

Vào Open WebUI, mở Admin Panel > Settings > Connections. URL Ollama phải là một trong hai dạng:

  • http://host.docker.internal:11434: nếu dùng flag --add-host=host.docker.internal:host-gateway.
  • http://172.17.0.1:11434: địa chỉ Docker bridge mặc định trên Linux. Kiểm tra bằng ip addr show docker0.

Không dùng http://127.0.0.1:11434 hoặc localhost:11434 trong cấu hình Open WebUI chạy trong Docker, vì địa chỉ đó trỏ vào chính container, không phải VPS host.

Lỗi 2: Không truy cập được port 3000 từ ngoài

Triệu chứng: Trình duyệt báo “connection refused” hoặc timeout khi truy cập http://IP:3000.

Kiểm tra container có đang chạy không:

docker ps -a --filter name=open-webui

Kiểm tra port 3000 có bị process khác chiếm không:

sudo ss -tulpn | grep 3000

Nếu dùng UFW, mở port 3000:

sudo ufw allow 3000/tcp

Một số nhà cung cấp VPS có firewall riêng trên control panel. Kiểm tra thêm ở đó nếu UFW đã mở mà vẫn không vào được.

Lỗi 3: Kết nối giữa Docker container và Ollama host bị lỗi

Đây là lỗi phổ biến nhất với người mới: Ollama chạy trên host lắng nghe ở 127.0.0.1:11434, trong khi container Open WebUI có network namespace riêng. 127.0.0.1 trong container là chính container đó, không phải VPS.

Cách fix 1: Dùng host.docker.internal (khuyến nghị). Khi chạy container, thêm flag --add-host=host.docker.internal:host-gateway. Trong Open WebUI, đặt URL Ollama là http://host.docker.internal:11434.

Cách fix 2: Chạy container với --network=host. Cách này bỏ qua network isolation của Docker, container dùng chung network stack với host:

docker run -d \
  --network=host \
  -v open-webui:/app/backend/data \
  -e OLLAMA_BASE_URL=http://127.0.0.1:11434 \
  -e WEBUI_SECRET_KEY=thay-bang-chuoi-ngau-nhien-dai \
  --name open-webui \
  --restart always \
  ghcr.io/open-webui/open-webui:main

Với --network=host, Open WebUI lắng nghe trực tiếp trên port 8080 của VPS (không còn mapping 3000:8080). Truy cập qua http://IP:8080. Lưu ý: một số hệ thống không khuyến nghị dùng host network vì lý do bảo mật, nhưng với VPS cá nhân thì đây là cách đơn giản và hiệu quả.

Cách cập nhật Open WebUI lên phiên bản mới

Open WebUI phát triển nhanh, nên cập nhật định kỳ để có tính năng mới và fix bug. Quy trình gồm: pull image mới, dừng container cũ, xóa container cũ, chạy container mới với cùng volume.

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

Sau đó chạy lại lệnh Docker như bước 2. Dữ liệu nằm trong volume open-webui nên vẫn nguyên vẹn.

ℹ Lưu ý khi cập nhật:

Trước khi cập nhật, nên backup volume: docker run --rm -v open-webui:/data -v $(pwd):/backup alpine tar czf /backup/open-webui-backup.tar.gz /data. Nếu dùng Docker Compose, chỉ cần docker compose pull && docker compose up -d.

Nếu muốn giảm rủi ro, thay tag main bằng tag phiên bản cụ thể (ví dụ :v0.3.35) sau khi đã test bản main chạy ổn. Image tag cố định giúp bạn kiểm soát thời điểm nâng cấp thay vì tự động nhận bản mới mỗi lần pull.

Thuê VPS giá rẻ

CPU Intel Gold, SSD NVMe U.2, giá từ 50K/tháng

Chạy Open WebUI + Ollama trên VPS của bạn

Chọn cấu hình có RAM phù hợp với model AI bạn dùng. Quyền root đầy đủ để cài Docker, Ollama và cấu hình Nginx nếu cần. Bạn có thể tham khảo thêm công nghệ ảo hóa KVM để hiểu rõ hơn về nền tảng VPS trước khi thuê.

Xem Bảng Giá VPS Rẻ

Câu hỏi thường gặp

Open WebUI là gì và khác ChatGPT như thế nào?

Open WebUI là giao diện web self-hosted kết nối với nhiều nhà cung cấp LLM. Khác ChatGPT, nó chạy trên hạ tầng của bạn, dữ liệu chat không gửi cho bên thứ ba, hỗ trợ model local qua Ollama và API thương mại trong cùng một giao diện. Bạn kiểm soát hoàn toàn ai truy cập, dữ liệu lưu ở đâu.

Cần VPS cấu hình bao nhiêu để cài Ollama và Open WebUI?

Tối thiểu 4GB RAM cho model 3B, khuyến nghị 8GB cho model 7B đến 8B. Nếu muốn chạy model 13B trở lên, cần 16GB RAM. Disk cần ít nhất 20GB trống vì mỗi model 7B chiếm 4 đến 8GB. CPU-only vẫn chạy được nhưng tốc độ chậm hơn GPU.

Tại sao Open WebUI không kết nối được Ollama sau khi cài xong?

Nguyên nhân phổ biến là dùng localhost hoặc 127.0.0.1 trong cấu hình Open WebUI chạy Docker. Trong container, địa chỉ đó trỏ vào chính container, không phải VPS host. Cần dùng host.docker.internal (kèm flag --add-host) hoặc chạy container với --network=host.

Làm sao để truy cập Open WebUI qua domain thay vì IP:3000?

Dùng Nginx làm reverse proxy: trỏ domain về IP VPS, tạo config proxy pass về http://127.0.0.1:3000, bật WebSocket support. Sau đó dùng Certbot để lấy SSL miễn phí từ Let’s Encrypt. Cách này cũng giúp bạn gom nhiều dịch vụ self-host khác dưới các subdomain riêng.

Cách cập nhật Open WebUI lên phiên bản mới mà không mất dữ liệu?

Pull image mới, dừng và xóa container cũ, chạy lại container mới với cùng volume open-webui:/app/backend/data. Dữ liệu nằm trong volume nên không bị ảnh hưởng. Nên backup volume trước khi cập nhật để phòng trường hợp image mới có lỗi tương thích.

Lời kết

Cài đặt và sử dụng Open WebUI trên Ubuntu không phức tạp nếu bạn làm đúng thứ tự: cài Ollama, chạy Docker container với volume mount đúng, đặt WEBUI_SECRET_KEY cố định và pull model trước khi chat. Ba điểm cần nhớ: không bỏ dòng -v open-webui:/app/backend/data, dùng host.docker.internal để kết nối Ollama, và mở port 3000 trên UFW nếu không truy cập được từ ngoài. Khi đã chạy ổn, bạn có thể mở rộng sang Knowledge Base, multi-user, hoặc tích hợp API vào workflow automation.

Cần VPS Ubuntu để chạy Open WebUI + Ollama?

Chọn cấu hình vừa đủ RAM, SSD NVMe, quyền root đầy đủ, sẵn sàng cài ngay.

Xem Bảng Giá VPS Rẻ

Nội dung bài viết mang tính tham khảo. Các lệnh và cấu hình trong bài được kiểm chứng dựa trên tài liệu chính thức của Open WebUI (docs.openwebui.com) và áp dụng cho Ubuntu 22.04/24.04 LTS với Docker Engine phiên bản mới nhất. Kết quả thực tế phụ thuộc vào cấu hình VPS, model AI được chọn và phiên bản Open WebUI tại thời điểm triển khai. Người đọc nên sao lưu Docker volume, kiểm thử trên môi trường staging trước khi áp dụng cho hệ thống production.

Chia sẻ: Facebook LinkedIn
Quay lại trang blog

Bài viết liên quan

cài đặt và sử dụng FastPanel
Hướng dẫn chung

[2026] FastPanel Là Gì? Tính Năng & Hướng Dẫn Cài Đặt, Sử Dụng FastPanel A-Z

FastPanel là gì đang là thắc mắc chung của rất nhiều quản trị viên website, lập trình viên và chủ shop trực tuyến khi bắt đầu chuyển hướng từ Shared Hosting sang máy chủ ảo riêng. Khát khao sở hữu hiệu năng vượt trội, tài nguyên độc lập từ VPS thường bị cản trở bởi […]

Thanh Lam Nguyễn
Đọc bài viết