Bỏ qua để đến nội dung

Cài đặt từ gói offline

Đây là cách cài đặt được khuyến nghị tại một site biên của khách hàng khi không có internet, không truy cập được registry, và không build image trên box. Bạn cài đặt mọi thứ từ một gói phát hành tự chứa duy nhất, được giao trên thiết bị USB.

Một gói phát hành là một thư mục, được đặt tên theo hồ sơ 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:

Hồ sơ góiDùng khi box có…
amd64-cpuCPU x86_64, không GPU — suy luận chỉ bằng CPU
amd64-gpuCPU x86_64 + NVIDIA GPU — tăng tốc bằng TensorRT
jetsonModule 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)
      • docker-compose.certs.yml overlay chứng chỉ TLS của datasource (tùy chọn, xem bên dưới)
      • .env.template placeholder cho cổng + secret
    • Thư mụcmodels/
      • predictive_maintenance.onnx mô hình mầm demo (trọng số ngẫu nhiên)
    • Thư mụccerts/ CA + chứng chỉ/khóa client MQTT/OPC UA của datasource (tùy chọn)
    • install.sh
    • update.sh
    • uninstall.sh
    • README.txt tờ hướng dẫn một trang cho người vận hành

Box đích phải đã cài sẵn những thành phần này (chúng đi kèm trên golden OS image — 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 tự cài chúng cho bạn):

  • Docker Engine 20.10 trở lên, kèm plugin docker compose v2
  • zstdopenssl
  • NVIDIA Container Toolkit — chỉ với gói GPU và Jetson
  1. Sao chép toàn bộ thư mục gói từ thiết bị USB của bạn vào box đích, rồi mở một terminal trong đó:

    Terminal window
    cd amd64-cpu-v1.5.0/
  2. Trình cài đặt tự phát hiện hồ sơ phần cứng của bạn, nạp các image container, sinh secret, khởi chạy stack, và chờ tình trạng khỏe mạnh.

    Terminal window
    sudo ./install.sh

    Để ép một hồ sơ cụ thể, hoặc để cài thêm dịch vụ tự khởi động khi boot:

    Terminal window
    sudo ./install.sh --profile amd64-cpu # force the profile
    sudo ./install.sh --with-systemd # also start on boot

    Bên dưới, install.sh chạy các bước này theo thứ tự:

    1. Preflight — kiểm tra Docker, GPU toolkit (GPU/Jetson), và dung lượng đĩa.
    2. Xác minh checksum của kho lưu trữ image (phát hiện media hỏng hoặc bị giả mạo).
    3. Nạp imagesdocker load từ kho lưu trữ đi kèm (không pull, không build).
    4. Sinh secret — tạo secret ký JWT và mật khẩu admin trên box và ghi chúng vào một .env được bảo vệ (mode 600). Không có secret nào đi kèm bên trong gói.
    5. Khởi chạy stackdocker compose up -d.
    6. Cổng tình trạng — chờ cả ba dịch vụ báo cáo khỏe mạnh.
    7. Tạo mầm adminin URL bảng điều khiển + mật khẩu admin một lần.
  3. Trình cài đặt sinh secret ký JWT tự động. Bạn thường không bao giờ động đến nó, nhưng có thể xác nhận .env được bảo vệ tồn tại:

    Terminal window
    ls -l .env # expect mode -rw------- (600)

    Nếu bạn cần cung cấp giá trị của riêng mình (ví dụ một chính sách quản lý secret của doanh nghiệp), hãy chỉnh sửa .env trước lần up đầu tiên và đặt một giá trị ngẫu nhiên mạnh:

    # .env (placeholder — generate a strong random value, do not reuse)
    AIBOARD_JWT_SECRET=your-strong-random-jwt-secret
  4. Gói đi kèm một mô hình demo với trọng số ngẫu nhiên. Thay nó bằng 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 đặt đầu tiên: ghi đè models/predictive_maintenance.onnx trong gói, rồi chạy install.sh.
    • Sau khi cài đặt: thả mô hình của bạn vào volume model-data tại /data/models và khởi động lại dịch vụ suy luận.

    Bạn cũng có thể tải lên mô hình sau từ bảng điều khiển — xem Triển khai mô hình.

  5. Xác nhận cả ba dịch vụ đều khỏe mạnh:

    Terminal window
    docker compose -f compose/docker-compose.release.yml ps

    Mong đợi 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.

Triển khai một gói mới hơn. Quá trình cập nhật chụp nhanh cơ sở dữ liệu trước để bạn có đường rollback.

Terminal window
sudo ./update.sh

Ảnh chụp nhanh trước cập nhật chỉ bao gồm cơ sở dữ liệu (không bao gồm mô hình đã tải lên hoặc cache TensorRT). Hãy sao lưu các volume đó riêng nếu bạn cần rollback mô hình.

(v1.22.1) TLS phía datasource — CA / chứng chỉ client / khóa mà một datasource MQTT hoặc OPC UA dùng để tới một broker hoặc server đã bảo mật, tách biệt với chứng chỉ HTTPS của chính box — mặc định tắt trên đường dẫn gói offline. Đây là một cờ .env dựa trên tệp, đối xứng với AIBOARD_TLS_ENABLED:

.env
AIBOARD_CERTS_ENABLED=1

Khi cờ này bật, install.sh ghi lại một đường dẫn tuyệt đối AIBOARD_CERTS_DIR=<bundle>/certs và lớp overlay docker-compose.certs.yml đi kèm lên trên stack phát hành cơ bản. Hãy thả các tệp CA và chứng chỉ/khóa client MQTT/OPC UA của bạn vào thư mục certs/ của gói trước khi bật cờ.

Triệu chứngNó có nghĩa gì
Bundle manifest missingBạn đã chạy trình cài đặt từ một thư mục nguồn, không phải một gói đã lắp ráp. Dùng thư mục gói bạn đã sao chép từ USB.
Architecture mismatchSai hồ sơ gói cho CPU của box này. Dùng hồ sơ khớp.
NVIDIA toolkit not wired inGói GPU/Jetson trên một box không có container toolkit. Dùng gói amd64-cpu, hoặc sửa stack GPU trên OS image.
Suy luận kẹt ở unhealthyBiên dịch TensorRT lần chạy đầu (GPU) mất 2–3 phút — hãy chờ. Nếu không, hãy kiểm tra nhật ký suy luận.
Checksum kho lưu trữ không khớpThiết bị USB bị 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 đủ để có các cách sửa theo từng triệu chứng.