추론 런타임 gRPC 대상. 내부 컨테이너 네트워크로 연결됩니다. 포트 50051은 기본적으로 박스의 루프백 주소에만 바인딩되며(AIBOARD_INFERENCE_BIND) 네트워크에서는 접근할 수 없습니다.
Database__ConnectionString
Data Source=/data/aiboard.db
SQLite 데이터베이스 위치(영속 볼륨).
AIBOARD_JWT_SECRET
.env에서
JWT 서명 키 폴백. 개발 외 환경에서는 필수.
CORS_ORIGINS
localhost 개발 오리진
쉼표 구분 허용 브라우저 오리진 — 기본이 아닌 호스트에서 UI를 제공할 때 재정의.
AIBOARD_CERTS_ROOT
/certs
데이터소스 TLS 인증서 경로의 감옥(jail) 루트(임의 파일 읽기 차단).
AIBOARD_CSV_ROOT
/data/csv
CSV 재생/출력 파일 경로의 감옥 루트.
더 깊은 백엔드 튜닝(토큰 수명, 속도 제한, 모델 검증 상한, 보존 윈도우)은 appsettings 키에
있습니다. 이 중 어느 것이든 표준 .NET 이중 밑줄 관례로 재정의할 수 있습니다. 예:
Auth__Jwt__ExpiryHours=12 또는 LoginRateLimit__PermitLimit=10.
appsettings 키
기본값
효과
Auth:Jwt:ExpiryHours
8
로그인 토큰 수명(리프레시 토큰 없음).
LoginRateLimit:*
on, 60초당 5회
IP당 실패 로그인 게이트.
ExternalApi:Enabled + ExternalApi:RateLimit:*
on, 60초당 100회
외부 API 키 표면과 그 속도 제한.
ModelManagement:MaxVersionsToKeep
5
정리 시 버전 가지치기.
ModelManagement:Validation:MaxModelSizeMb
500
업로드 크기 상한.
InferenceObservability:RetentionDays
1
추론 감사 로그 보존(SQLite).
InferenceObservability:PayloadRetentionHours
6
저장된 요청 및 응답 페이로드의 보존 기간.
LoggingService:Retention:MaxEntries
10000
LogViewer 저장소 상한.
Swagger:Enabled
true (Development 전용)
http://<box>:5000/swagger의 Swagger UI. Development 외 환경에서는 무시됨 — 출하 장비는 ASPNETCORE_ENVIRONMENT=Production으로 실행되며 API 문서를 전혀 제공하지 않음. 로컬 개발 중에 숨기려면 false로 설정.