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.
Sau vài phút, container sẽ chạy với IP nội bộ kiểu 172.17.0.x.
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:
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
Nếu bạn đang trong VPS:
hoặc
Nếu muốn dùng giao diện từ máy cá nhân:
Mở tunnel SSH:
→ Sau đó mở trình duyệt:
Bạn sẽ thấy giao diện MindsDB Studio (SQL Editor).
Giữ container chỉ nội bộ, và tạo reverse proxy bằng Nginx trên aaPanel.
Thêm vào server block:
Tóm lại:
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
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 psdocker inspect mindsdb | grep IPAddressVí 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:47334hoặc
curl http://localhost:47334Nế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:47334Bạ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
- Proxy URL: http://127.0.0.1:47334
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 -yhtpasswd -c /etc/nginx/.htpasswd rioadminThê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àm | Mức an toàn |
|---|---|---|
| Dễ cài, đủ cho cá nhân/team nhỏ | ||
| Đăng nhập bằng Google/Microsoft | ||
| Không mở port nào, xác thực qua Cloudflare | ||
| 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:
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.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![]()