• 28/06 cập nhật đăng ký đăng nhập qua Google & Facebook

Hướng dẫn cài MindsDB trên AApanel dùng Docker và mở ra web an toàn

TenHoshi

Administrator
Staff member
Trusted Uploader
Nếu bạn muốn chạy MindsDB trên VPS có aaPanel, dùng giao diện web được nhưng vẫn giữ bảo mật tuyệt đối, dưới đây là hướng dẫn chi tiết từng bước — từ cài đến mở domain HTTPS.

⚙️ 1. Cài MindsDB trong Docker trên aaPanel​

Bước 1: Mở ứng dụng Docker trong aaPanel​

Vào aaPanel → App Store → Docker → đảm bảo Docker đang chạy.

Bước 2: Thêm container mới​

  • Tên container: mindsdb
  • Hình ảnh: mindsdb/mindsdb
  • Port: Để trống (rất quan trọng, để không public cổng ra ngoài)
  • Mạng: bridge
  • Quy tắc khởi động lại: Always
  • Volume (nếu muốn lưu data): /opt/mindsdb:/root/mindsdb
Nhấn Submit / Thêm container để khởi tạo.

Sau vài phút, container sẽ chạy với IP nội bộ kiểu 172.17.0.x.

🔎 2. Kiểm tra container và xác nhận an toàn​

Chỉ cần vào aaPanel → Docker → Container là thấy tình trạng hoạt động, IP nội bộ và port của container.

Nếu muốn xem kỹ hơn (tùy chọn), có thể SSH vào VPS để chạy:

docker ps
docker inspect mindsdb | grep IPAddress

Ví dụ IP nội bộ: 172.17.0.2

Nếu phần Port hiển thị -- (không có public), nghĩa là đang an toàn tuyệt đối ✅

💻 3. Truy cập MindsDB nội bộ​

Nếu bạn đang trong VPS:

curl http://172.17.0.2:47334

hoặc

curl http://localhost:47334

Nếu muốn dùng giao diện từ máy cá nhân:
Mở tunnel SSH:

ssh -L 47334:172.17.0.2:47334 root@<ip-vps>

→ Sau đó mở trình duyệt:

http://localhost:47334

Bạn sẽ thấy giao diện MindsDB Studio (SQL Editor).

🌐 4. Mở MindsDB ra web có HTTPS và bảo mật​

Giữ container chỉ nội bộ, và tạo reverse proxy bằng Nginx trên aaPanel.

Bước 1: Tạo site proxy​

  • Vào Website → Thêm site
  • Domain: ai.domain.com (hoặc tên bạn muốn)
  • Loại: PHP Static (để tạo Nginx)
  • Sau khi tạo, vào Cấu hình → Reverse Proxy

Bước 2: Bật SSL Let’s Encrypt​

  • Trong tab SSL, bấm “Let’s Encrypt” để cấp chứng chỉ HTTPS.

Bước 3: Thêm Basic Auth (mật khẩu)​

Trong aaPanel, hoặc chỉnh file Nginx:

apt install apache2-utils -y
htpasswd -c /etc/nginx/.htpasswd rioadmin

Thêm vào server block:

Code:
auth_basic "Restricted";
auth_basic_user_file /etc/nginx/.htpasswd;
location / { proxy_pass http://127.0.0.1:47334; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr;
}

✅ Giờ MindsDB chỉ truy cập được qua https://ai.riomedia.vn
và cần user/pass + HTTPS, không ai khác thấy được.

🔐 5. Tùy chọn bảo mật nâng cao​

Cấp độCách làmMức an toàn
🥇 Basic Auth + HTTPSDễ cài, đủ cho cá nhân/team nhỏ⭐⭐⭐
🥈 OAuth2 ProxyĐăng nhập bằng Google/Microsoft⭐⭐⭐⭐
🥉 Cloudflare Tunnel + AccessKhông mở port nào, xác thực qua Cloudflare⭐⭐⭐⭐⭐
🧱 VPN (WireGuard / Tailscale)Chỉ cho truy cập nội bộ⭐⭐⭐⭐⭐

✅ Checklist sau khi hoàn thành​

Mục tiêuĐã đạt
MindsDB chạy ổn định trong Docker✅
Không public port 47334✅
Truy cập qua HTTPS domain riêng✅
Có lớp bảo mật (mật khẩu / OAuth / Cloudflare)✅
Firewall chặn port 47334✅

Tóm lại:

Cài MindsDB bằng Docker (không port public) → Reverse proxy ra domain có HTTPS → Thêm lớp đăng nhập Basic Auth/OAuth → An toàn tuyệt đối ✅
Giờ bạn có thể mở giao diện MindsDB từ web bất cứ đâu mà vẫn giữ toàn quyền kiểm soát dữ liệu.
 

Guest Post 2022

Top