Ở bài viết trước, tôi đã giới thiệu Dify như một "Hệ điều hành" cho các ứng dụng AI. Hôm nay, chúng ta sẽ xắn tay áo lên và tự triển khai (Self-host) Dify ngay trên máy tính cá nhân hoặc VPS của bạn bằng Docker.
Tại sao phải Self-host? Vì Dữ liệu là vàng. Khi chạy Dify trên hạ tầng của chính mình, bạn hoàn toàn kiểm soát private keys, dữ liệu khách hàng và không lo bị "vendor lock-in".
"Docker biến việc triển khai một hệ thống phức tạp như Dify trở nên đơn giản như việc pha một gói mì ăn liền. Chỉ cần đổ nước sôi (lệnh up) và chờ 3 phút."
1. Chuẩn bị nguyên liệu (Prerequisites)
Trước khi bắt đầu, hãy đảm bảo máy tính/server của bạn đáp ứng cấu hình tối thiểu để tránh tình trạng "treo máy" giữa đường:
- CPU: Tối thiểu 2 vCPUs.
- RAM: Tối thiểu 8GB (Dify chạy khá nhiều container con như Weaviate/Milvus, Postgres, Redis...).
- Phần mềm:
- Docker & Docker Compose (Phiên bản V2 trở lên).
- Git.
2. Quy trình cài đặt (Step-by-Step)
Chúng ta sẽ sử dụng docker-compose để dựng toàn bộ stack.
Bước 1: Clone mã nguồn Dify
Mở terminal và chạy lệnh sau để tải source code mới nhất từ GitHub:
Bash
git clone https://github.com/langgenius/dify.git
Bước 2: Khởi tạo biến môi trường
Di chuyển vào thư mục docker của dự án. Đây là nơi chứa các file cấu hình thần thánh.
Bash
cd dify/docker
cp .env.example .env
Sau khi copy xong, bạn có thể mở file .env để chỉnh sửa nếu cần (ví dụ đổi cổng port, đổi mật khẩu DB). Nhưng với người mới bắt đầu, hãy giữ nguyên mặc định.
Bước 3: Kích hoạt hệ thống
Chạy lệnh sau để Docker tự động tải ảnh (image) và khởi chạy các container:
Bash
docker compose up -d
Lưu ý: Nếu bạn dùng Docker Compose bản cũ (V1), lệnh sẽ là docker-compose up -d.
Quá trình này sẽ mất từ 5-10 phút tùy vào tốc độ mạng của bạn (tổng dung lượng tải về khoảng vài GB). Hãy pha một tách cà phê và chờ đợi.

3. Hoàn tất cài đặt
Khi terminal báo "Started" hết tất cả các services, hãy mở trình duyệt và truy cập:
- URL:
http://localhost/install(hoặchttp://<IP_VPS_CUA_BAN>/install)
Bạn sẽ thấy giao diện tạo tài khoản Admin đầu tiên. Điền thông tin xong, bạn sẽ được chuyển vào Dashboard chính. Chúc mừng, bạn đã có một hệ thống Dify "chính chủ"!
4. "Bí kíp" cho Dev Việt (Expert Tips)
Là một người đã triển khai Dify cho nhiều dự án tại Việt Nam, đây là những vấn đề bạn chắc chắn sẽ gặp phải:
Vấn đề 1: Kết nối với Ollama Local (Lỗi phổ biến nhất)
Bạn chạy Ollama trên máy tính (host) và muốn Dify (trong Docker) kết nối tới nó? Nếu bạn điền http://localhost:11434 vào Dify, nó sẽ lỗi ngay lập tức. Vì localhost của container không phải là localhost của máy tính bạn.
Giải pháp: Hãy dùng địa chỉ đặc biệt sau cho Base URL của Ollama:
- Mac/Windows:
http://host.docker.internal:11434 - Linux: Bạn cần dùng IP LAN của máy (ví dụ
192.168.1.x) hoặc cấu hình thêmextra_hoststrong filedocker-compose.yaml.
Vấn đề 2: Dify hỗ trợ tiếng Việt không?
Có! Dify hỗ trợ giao diện tiếng Việt rất tốt. Bạn có thể vào Settings -> Language để chuyển đổi. Tuy nhiên, khả năng xử lý tiếng Việt của AI phụ thuộc vào Model bạn chọn (ví dụ: GPT-4o hay Gemini 1.5 Pro xử lý tiếng Việt tốt hơn Llama 2).
Vấn đề 3: Đổi Vector Database sang Milvus
Mặc định Dify dùng Weaviate. Nếu bạn muốn dùng Milvus (phổ biến hơn cho Enterprise), hãy sửa file .env:
Bash
# Trong file dify/docker/.env
VECTOR_STORE=milvus
MILVUS_URI=http://host.docker.internal:19530
Lưu ý: Bạn cần tự dựng container Milvus riêng hoặc dùng profile mở rộng của Dify.

Kết luận
Việc cài đặt Dify bằng Docker không hề khó, cái khó là làm sao tối ưu nó để chạy mượt mà với các model Local. Hy vọng bài hướng dẫn này giúp bạn tiết kiệm được vài giờ đồng hồ mò mẫm trên GitHub Issues.
Bước tiếp theo? Hãy thử kết nối Dify với một file PDF quy trình công ty bạn và tạo ra một Chatbot hỗ trợ nhân viên xem sao.
Nếu gặp lỗi trong quá trình cài đặt, đừng ngần ngại comment mã lỗi bên dưới, tôi sẽ hỗ trợ debug cùng bạn!
Discussion