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

Biến môi trường

Cấu hình đi vào stack ở hai mức: file .env của bundle (được Docker Compose đọc trong một bản cài offline) và các biến môi trường theo từng container (được chính các file compose đặt). Trang này liệt kê cả hai.

BiếnMặc địnhTác dụng
AIBOARD_JWT_SECRETsinh lúc càiKhóa ký JWT (≥ 32 byte). Bắt buộc — release compose từ chối khởi động nếu thiếu.
AIBOARD_HTTP_PORT80Cổng HTTP của bảng điều khiển.
AIBOARD_ALT_PORT3000Cổng bảng điều khiển phụ.
AIBOARD_HTTPS_PORT443Cổng HTTPS (chỉ với lớp phủ TLS).
AIBOARD_TLS_ENABLED01 = phục vụ HTTPS bằng chứng chỉ tự ký được sinh ra và chuyển hướng 80 → 443.
AIBOARD_TLS_HOST—Các IP/hostname phân tách bằng dấu cách/phẩy được nướng vào SAN của chứng chỉ.
AIBOARD_TLS_DIR/opt/aiboard/tlsNơi cert.pem / key.pem nằm (đường dẫn tuyệt đối được ghi lúc cài).
AIBOARD_CERTS_ENABLED01 = mount các chứng chỉ client datasource do operator cấp.
AIBOARD_CERTS_DIR/opt/aiboard/certsCA + chứng chỉ client cho MQTT / OPC UA có bảo mật, mount chỉ-đọc.
AIBOARD_MODEL_SEED_DIR/opt/aiboard/modelsThư mục mô hình seed.
AIBOARD_BACKUP_KEEP3Số bản sao lưu cơ sở dữ liệu mà một lần cập nhật giữ lại trong thư mục backups của thư mục cài đặt, mới nhất trước. Các bản cũ hơn bị xóa sau khi cập nhật thành công. 0 giữ mọi bản sao lưu. Giá trị không phải số nguyên sẽ được coi là 3.
BACKEND_IMAGE · FRONTEND_IMAGE · INFERENCE_IMAGEtừ manifest của bundleCác tag image để chạy — do install.sh / update.sh quản lý; không chỉnh tay.
BiếnMặc định (release)Tác dụng
ASPNETCORE_ENVIRONMENTProductionChọn lớp phủ cấu hình.
Grpc__InferenceService__Addresshttp://inference:50051Đích gRPC của runtime suy luận, kết nối qua mạng container nội bộ. Cổng 50051 mặc định chỉ được bind vào địa chỉ loopback của box (AIBOARD_INFERENCE_BIND) và không thể truy cập từ mạng của bạn.
Database__ConnectionStringData Source=/data/aiboard.dbVị trí cơ sở dữ liệu SQLite (volume bền vững).
AIBOARD_JWT_SECRETtừ .envKhóa ký JWT dự phòng; bắt buộc ngoài môi trường development.
CORS_ORIGINScác origin dev localhostDanh sách origin trình duyệt được phép, phân tách bằng dấu phẩy — ghi đè khi phục vụ UI từ một host không mặc định.
AIBOARD_CERTS_ROOT/certsThư mục gốc jail cho đường dẫn chứng chỉ TLS của datasource (chặn đọc file tùy tiện).
AIBOARD_CSV_ROOT/data/csvThư mục gốc jail cho đường dẫn file phát lại/xuất CSV.

Tinh chỉnh backend sâu hơn (thời gian sống của token, giới hạn tốc độ, mức trần xác thực mô hình, cửa sổ lưu giữ) nằm trong các key appsettings; bất kỳ key nào cũng có thể ghi đè bằng quy ước gạch dưới đôi chuẩn của .NET, ví dụ Auth__Jwt__ExpiryHours=12 hoặc LoginRateLimit__PermitLimit=10.

Key appsettingsMặc địnhTác dụng
Auth:Jwt:ExpiryHours8Thời gian sống của token đăng nhập (không có refresh token).
LoginRateLimit:*bật, 5 / 60 giâyCổng chặn đăng nhập thất bại theo từng IP.
ExternalApi:Enabled + ExternalApi:RateLimit:*bật, 100 / 60 giâyBề mặt External API-key và giới hạn tốc độ của nó.
ModelManagement:MaxVersionsToKeep5Cắt tỉa phiên bản khi cleanup.
ModelManagement:Validation:MaxModelSizeMb500Mức trần kích thước upload.
InferenceObservability:RetentionDays1Lưu giữ audit-log suy luận (SQLite).
InferenceObservability:PayloadRetentionHours6Thời gian lưu giữ payload yêu cầu và phản hồi đã lưu.
LoggingService:Retention:MaxEntries10000Mức trần kho LogViewer.
Swagger:Enabledtrue (chỉ Development)Swagger UI tại http://<box>:5000/swagger. Bị bỏ qua ngoài Development — thiết bị xuất xưởng chạy ASPNETCORE_ENVIRONMENT=Production và không phục vụ tài liệu API nào. Đặt false để ẩn khi phát triển cục bộ.
BiếnMặc địnhTác dụng
EXECUTION_MODEautoauto (CUDA, CPU làm dự phòng), cuda, hoặc cpu. TX2 không dùng TensorRT.
STRICT_EPtắt1 = từ chối khởi động thay vì âm thầm tụt một chế độ GPU đã ghim xuống CPU.
MODEL_PATH/app/models/predictive_maintenance_op15.onnxMô hình seed nạp lúc khởi động (mount qua volume, không bao giờ nướng vào image).
MODEL_STORAGE_PATH/data/modelsCác phiên bản mô hình đã đăng ký (volume chung với backend).
LOG_DIR/data/logs (release)Bật file log điều tra xoay vòng mức Warning+; không đặt = chỉ console.
USE_REAL_INFERENCEtruePhải giữ true — chế độ mock đã bị bỏ; nếu không dịch vụ sẽ hỏng ngay.
INFERENCE_STUB0Đường tắt debug trả về dự đoán bằng 0. Không bao giờ bật ở production.
FORCE_CPUtắtBí danh legacy cho EXECUTION_MODE=cpu.

Các bundle Jetson bổ sung ghim OPENBLAS_CORETYPE và chạy với runtime: nvidia — xem Triển khai trên Jetson.

BiếnMặc địnhTác dụng
AIBOARD_TLS_ENABLED0Bật entrypoint nginx nhận biết TLS (chứng chỉ mount từ AIBOARD_TLS_DIR).

Các URL của API và hub được biên dịch vào frontend lúc build (cùng origin /api + /hub/realtime) — không có gì để cấu hình ở thời điểm chạy.