# apps/vision — the ANPR microservice's own env (copy to apps/vision/.env). # This is the PYTHON SERVICE's config only. The Node server has its OWN VISION_* vars # (in apps/server/.env) — keep the two .env files SEPARATE (they share the VISION_ # prefix but are different processes). See wiki/entities/opencv-anpr-service.md "Configuration". # Recognizer: "stub" (no models, recognizes nothing — boots anywhere, for dev/CI) or # "fast_alpr" (the real MIT YOLOv9+CCT/ONNX stack — needs `uv sync --extra alpr`). VISION_RECOGNIZER=fast_alpr # Bind. On the appliance prefer 127.0.0.1 — the Node backend is the only caller, so the # /analyze endpoint should NOT be reachable off-host. (0.0.0.0 only if you must.) VISION_HOST=127.0.0.1 VISION_PORT=8089 # fast-alpr models (only used when recognizer=fast_alpr). The defaults won the Albanian # benchmark; change the OCR to european-plates-mobile-vit-v2-model only to re-test. VISION_DETECTOR_MODEL=yolo-v9-t-384-license-plate-end2end VISION_OCR_MODEL=cct-xs-v2-global-model # Confidence floor — a best plate below this is flagged low_confidence so the Node side # treats it as advisory and falls back to the ticket path. Keep in sync with the server. VISION_MIN_CONFIDENCE=0.5