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.
.env của bundle (cài đặt release)
Phần tiêu đề “.env của bundle (cài đặt release)”| Biến | Mặc định | Tác dụng |
|---|---|---|
AIBOARD_JWT_SECRET | sinh lúc cài | Khóa ký JWT (≥ 32 byte). Bắt buộc — release compose từ chối khởi động nếu thiếu. |
AIBOARD_HTTP_PORT | 80 | Cổng HTTP của bảng điều khiển. |
AIBOARD_ALT_PORT | 3000 | Cổng bảng điều khiển phụ. |
AIBOARD_HTTPS_PORT | 443 | Cổng HTTPS (chỉ với lớp phủ TLS). |
AIBOARD_TLS_ENABLED | 0 | 1 = 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 | <bundle>/tls | Nơi cert.pem / key.pem nằm (đường dẫn tuyệt đối được ghi lúc cài). |
AIBOARD_CERTS_ENABLED | 0 | 1 = mount các chứng chỉ client datasource do operator cấp. |
AIBOARD_CERTS_DIR | <bundle>/certs | CA + chứng chỉ client cho MQTT / OPC UA có bảo mật, mount chỉ-đọc. |
AIBOARD_MODEL_SEED_DIR | <bundle>/models | Thư mục mô hình seed (được update.sh trỏ lại). |
BACKEND_IMAGE · FRONTEND_IMAGE · INFERENCE_IMAGE | từ manifest của bundle | Các tag image để chạy — do install.sh / update.sh quản lý; không chỉnh tay. |
Container backend
Phần tiêu đề “Container backend”| Biến | Mặc định (release) | Tác dụng |
|---|---|---|
ASPNETCORE_ENVIRONMENT | Production | Chọn lớp phủ cấu hình. |
Grpc__InferenceService__Address | http://inference:50051 | Đích gRPC của runtime suy luận. |
Database__ConnectionString | Data Source=/data/aiboard.db | Vị trí cơ sở dữ liệu SQLite (volume bền vững). |
AIBOARD_JWT_SECRET | từ .env | Khóa ký JWT dự phòng; bắt buộc ngoài môi trường development. |
CORS_ORIGINS | các origin dev localhost | Danh 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 | /certs | Thư 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/csv | Thư 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 appsettings | Mặc định | Tác dụng |
|---|---|---|
Auth:Jwt:ExpiryHours | 8 | Thời gian sống của token đăng nhập (không có refresh token). |
LoginRateLimit:* | bật, 5 / 60 giây | Cổng chặn đăng nhập thất bại theo từng IP. |
ExternalApi:Enabled + ExternalApi:RateLimit:* | bật, 100 / 60 giây | Bề mặt External API-key và giới hạn tốc độ của nó. |
ModelManagement:MaxVersionsToKeep | 5 | Cắt tỉa phiên bản khi cleanup. |
ModelManagement:Validation:MaxModelSizeMb | 500 | Mức trần kích thước upload. |
InferenceObservability:RetentionDays | 3 | Lưu giữ audit-log suy luận (SQLite). |
LoggingService:Retention:MaxEntries | 10000 | Mức trần kho LogViewer. |
Swagger:Enabled | true | Swagger UI tại http://<box>:5000/. Đặt false để ẩn tài liệu API ở các site bị khóa chặt. |
Container suy luận
Phần tiêu đề “Container suy luận”| Biến | Mặc định | Tác dụng |
|---|---|---|
EXECUTION_MODE | auto | auto (TensorRT → CUDA → CPU), tensorrt, cuda, hoặc cpu. |
STRICT_EP | tắt | 1 = 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.onnx | Mô 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/models | Cá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_INFERENCE | true | Phải giữ true — chế độ mock đã bị bỏ; nếu không dịch vụ sẽ hỏng ngay. |
INFERENCE_STUB | 0 | Đường tắt debug trả về dự đoán bằng 0. Không bao giờ bật ở production. |
FORCE_CPU | tắt | Bí 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.
Container frontend
Phần tiêu đề “Container frontend”| Biến | Mặc định | Tác dụng |
|---|---|---|
AIBOARD_TLS_ENABLED | 0 | Bậ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.
Bước tiếp theo
Phần tiêu đề “Bước tiếp theo” Cài đặt từ gói offline File .env đến từ đâu và secret được sinh ra như thế nào.
Kiến trúc hệ thống Dịch vụ nào đọc thiết lập nào.
Bảo mật Danh sách kiểm tra tăng cường cho cổng và secret bị phơi bày.