Cài đặt từ gói offline
Đây là cách được khuyến nghị để cài đặt tại hiện trường biên của khách hàng khi không có internet, không truy cập registry, và không build image trên hộp. Bạn cài đặt mọi thứ từ một gói phát hành tự chứa, được phân phối trên thiết bị USB.
Bạn nhận được gì
Phần tiêu đề “Bạn nhận được gì”Một gói phát hành là một thư mục duy nhất, được đặt tên theo cấu hình phần cứng và phiên bản
(ví dụ amd64-cpu-v1.5.0). Chọn gói khớp với phần cứng của bạn:
| Cấu hình gói | Dùng khi hộp có… |
|---|---|
amd64-cpu | CPU x86_64, không GPU — suy luận chỉ trên CPU |
amd64-gpu | CPU x86_64 + NVIDIA GPU — tăng tốc TensorRT |
jetson | Module biên NVIDIA Jetson (arm64 / L4T) |
Bên trong gói:
Thư mụcamd64-cpu-v1.5.0/
Thư mụcimages/
- amd64-cpu-v1.5.0.images.tar.zst ba image dịch vụ, đã nén
- manifest.txt tag image + checksum
Thư mụccompose/
- docker-compose.release.yml stack dựa trên image (không có bước build)
- .env.template placeholder cho cổng + secret
Thư mụcmodels/
- predictive_maintenance.onnx mô hình mẫu demo (trọng số ngẫu nhiên)
- install.sh
- update.sh
- uninstall.sh
- README.txt tờ hướng dẫn một trang cho người vận hành
Trước khi bắt đầu
Phần tiêu đề “Trước khi bắt đầu”Hộp đích phải có sẵn những thứ sau (chúng đi kèm trong image OS golden — trình cài đặt kiểm tra chúng và dừng lại nếu thiếu bất kỳ thứ gì; nó không cài giúp bạn):
- Docker Engine 20.10 trở lên, kèm plugin
docker composev2 zstdvàopenssl- NVIDIA Container Toolkit — chỉ với gói GPU và Jetson
Runbook cài đặt
Phần tiêu đề “Runbook cài đặt”-
Sao chép gói vào hộp
Phần tiêu đề “Sao chép gói vào hộp”Sao chép toàn bộ thư mục gói từ thiết bị USB của bạn sang hộp đích, sau đó mở một terminal trong đó:
Terminal window cd amd64-cpu-v1.5.0/ -
Chạy trình cài đặt
Phần tiêu đề “Chạy trình cài đặt”Trình cài đặt tự phát hiện cấu hình phần cứng, nạp các image container, sinh secret, khởi động stack và chờ đến khi khỏe mạnh.
Terminal window sudo ./install.shĐể ép một cấu hình cụ thể, hoặc để cài đặt thêm dịch vụ khởi động cùng máy:
Terminal window sudo ./install.sh --profile amd64-cpu # ép cấu hìnhsudo ./install.sh --with-systemd # đồng thời khởi động khi bootBên dưới,
install.shchạy các bước này theo thứ tự:- Preflight — kiểm tra Docker, GPU toolkit (GPU/Jetson) và đĩa.
- Xác minh checksum của kho lưu image (phát hiện media hỏng hoặc bị giả mạo).
- Nạp image —
docker loadtừ kho lưu đi kèm (không pull, không build). - Sinh secret — tạo secret ký JWT và mật khẩu admin ngay
trên hộp rồi ghi vào tệp
.envđược bảo vệ (chế độ600). Không secret nào được đóng gói sẵn trong gói. - Khởi động stack —
docker compose up -d. - Cổng tình trạng — chờ cả ba dịch vụ báo cáo khỏe mạnh.
- Khởi tạo admin và in URL bảng điều khiển + mật khẩu admin một lần duy nhất.
-
Lưu mật khẩu admin
Phần tiêu đề “Lưu mật khẩu admin” -
Xác nhận secret đã được ghi
Phần tiêu đề “Xác nhận secret đã được ghi”Trình cài đặt sinh secret ký JWT tự động. Bình thường bạn không bao giờ động đến nó, nhưng bạn có thể xác nhận tệp
.envđược bảo vệ tồn tại:Terminal window ls -l .env # kỳ vọng chế độ -rw------- (600)Nếu bạn từng cần cung cấp giá trị của riêng mình (ví dụ chính sách quản lý secret của doanh nghiệp), hãy sửa
.envtrước lầnupđầu tiên và đặt một giá trị ngẫu nhiên mạnh:# .env (placeholder — sinh một giá trị ngẫu nhiên mạnh, không tái sử dụng)AIBOARD_JWT_SECRET=your-strong-random-jwt-secret -
Thay mô hình demo
Phần tiêu đề “Thay mô hình demo”Gói đi kèm một mô hình demo với trọng số ngẫu nhiên. Thay nó bằng mô hình
predictive_maintenance.onnxđã huấn luyện của bạn để các dự đoán có ý nghĩa:- Trước lần cài đầu tiên: ghi đè
models/predictive_maintenance.onnxtrong gói, sau đó chạyinstall.sh. - Sau khi cài: đặt mô hình của bạn vào volume model-data tại
/data/modelsvà khởi động lại dịch vụ suy luận.
Bạn cũng có thể tải mô hình lên sau từ bảng điều khiển — xem Triển khai mô hình.
- Trước lần cài đầu tiên: ghi đè
-
Kiểm tra tình trạng
Phần tiêu đề “Kiểm tra tình trạng”Xác nhận cả ba dịch vụ đều khỏe mạnh:
Terminal window docker compose -f compose/docker-compose.release.yml psKỳ vọng ba container ở trạng thái
healthy. Sau đó mở URL bảng điều khiển mà trình cài đặt đã in và đăng nhập bằng tài khoản admin.
Vận hành ngày-2
Phần tiêu đề “Vận hành ngày-2”Triển khai một gói mới hơn. Việc cập nhật chụp snapshot cơ sở dữ liệu trước để bạn có đường rollback.
sudo ./update.shSnapshot trước-cập-nhật chỉ bao gồm cơ sở dữ liệu (không gồm mô hình đã tải lên hay bộ nhớ đệm TensorRT). Hãy sao lưu các volume đó riêng nếu bạn cần rollback mô hình.
./uninstall.sh # dừng stack, GIỮ toàn bộ dữ liệu./uninstall.sh --purge # đồng thời xóa mô hình + cơ sở dữ liệu (có lời nhắc xác nhận)Nếu có gì đó sai
Phần tiêu đề “Nếu có gì đó sai”| Triệu chứng | Ý nghĩa |
|---|---|
Bundle manifest missing | Bạn chạy trình cài đặt từ thư mục nguồn, không phải gói đã lắp ráp. Dùng thư mục gói bạn đã sao chép từ USB. |
Architecture mismatch | Sai cấu hình gói cho CPU của hộp này. Dùng cấu hình khớp. |
NVIDIA toolkit not wired in | Gói GPU/Jetson trên một hộp không có container toolkit. Dùng gói amd64-cpu, hoặc sửa stack GPU trên image OS. |
Suy luận kẹt ở unhealthy | Biên dịch TensorRT lần đầu (GPU) mất 2–3 phút — hãy chờ. Nếu không, kiểm tra log suy luận. |
| Archive checksum mismatch | Media USB hỏng hoặc bị giả mạo. Sao chép lại gói và thử lại. |
Xem runbook Khắc phục sự cố đầy đủ để tra cứu các bản sửa theo triệu chứng.