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_HOSTCá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<bundle>/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<bundle>/certsCA + chứng chỉ client cho MQTT / OPC UA có bảo mật, mount chỉ-đọc.
AIBOARD_MODEL_SEED_DIR<bundle>/modelsThư mục mô hình seed (được update.sh trỏ lại).
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.
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:RetentionDays3Lưu giữ audit-log suy luận (SQLite).
LoggingService:Retention:MaxEntries10000Mức trần kho LogViewer.
Swagger:EnabledtrueSwagger UI tại http://<box>:5000/. Đặt false để ẩn tài liệu API ở các site bị khóa chặt.
BiếnMặc địnhTác dụng
EXECUTION_MODEautoauto (TensorRT → CUDA → CPU), tensorrt, cuda, hoặc cpu.
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.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.