Merge branch 'dev' into stage
Build & push images / images (push) Successful in 2m48s

This commit is contained in:
2026-07-05 10:41:04 +02:00
+11 -4
View File
@@ -68,9 +68,10 @@ WS_ALLOWED_ORIGINS=
# # (multi-NIC hosts; usually auto-detected fine) # # (multi-NIC hosts; usually auto-detected fine)
# WEB_DIST_DIR= # where the built SPA lives (the image sets it) # WEB_DIST_DIR= # where the built SPA lives (the image sets it)
# --- logging --- # --- logging ---
# LOG_LEVEL=info # debug|info|warn|error # LOG_LEVEL=info # trace|debug|info|warn|error|fatal (pino)
# LOG_RETENTION_DAYS=30 # app_logs auto-purge age # LOG_RETENTION_DAYS=60 # app_logs auto-purge age (~2 months, matches the
# LOG_RETENTION_MAX_ROWS=50000 # app_logs row cap # # container-log rotation caps in compose.prod)
# LOG_RETENTION_MAX_ROWS=50000 # app_logs row cap (burst guard regardless of age)
# RECYCLE_BIN_RETENTION_DAYS=30 # soft-deleted items auto-purge age (0 = keep forever) # RECYCLE_BIN_RETENTION_DAYS=30 # soft-deleted items auto-purge age (0 = keep forever)
# --- snapshots (camera evidence; stored re-encoded, then pruned under disk pressure) --- # --- snapshots (camera evidence; stored re-encoded, then pruned under disk pressure) ---
# SNAPSHOT_MAX_EDGE=1280 # downscale long edge (px) before storing # SNAPSHOT_MAX_EDGE=1280 # downscale long edge (px) before storing
@@ -84,7 +85,11 @@ WS_ALLOWED_ORIGINS=
# DEVICE_POLL_MS=8000 # device health poll interval # DEVICE_POLL_MS=8000 # device health poll interval
# PRINTER_POLL_MS=5000 # printer status poll interval # PRINTER_POLL_MS=5000 # printer status poll interval
# LANE_BUSY_TTL_MS=30000 # how long a lane stays "busy" after a vehicle push # LANE_BUSY_TTL_MS=30000 # how long a lane stays "busy" after a vehicle push
# CAPTURE_TTL_MS=30000 # snapshot evidence cache TTL # CAPTURE_TTL_MS=30000 # credential-enrollment arm window (card capture form)
# --- readers (DT-008 channel tagging — must MATCH the vendor tool's output prefixes;
# see wiki/entities/dingtian-dt008-reader.md) ---
# READER_QR_PREFIX=Q: # optical-decode marker the reader prepends
# READER_CARD_PREFIX=K: # RF-read marker the reader prepends
# --- ANPR / vision (server side) --- # --- ANPR / vision (server side) ---
# VISION_URL is compose-set (above). These are the knobs you may tweak per booth: # VISION_URL is compose-set (above). These are the knobs you may tweak per booth:
# VISION_TIMEOUT_MS=1500 # per /analyze call timeout # VISION_TIMEOUT_MS=1500 # per /analyze call timeout
@@ -98,6 +103,8 @@ WS_ALLOWED_ORIGINS=
# # barrier means the car waits >8s before reading clean. # # barrier means the car waits >8s before reading clean.
# ANPR_POLL_MAX_MS=30000 # hard ceiling on one loop from start (so a continuously # ANPR_POLL_MAX_MS=30000 # hard ceiling on one loop from start (so a continuously
# # busy lane can't slide the window forever) # # busy lane can't slide the window forever)
# ENTRY_DUP_PLATE_WINDOW_MIN=15 # entry ANPR duplicate-plate lookback (same plate already
# # OPEN under another session → signed anomaly)
# ════════════════════════════════════════════════════════════════════════════ # ════════════════════════════════════════════════════════════════════════════
# VISION CONTAINER env (the Python ANPR service — its OWN process, prefix VISION_) # VISION CONTAINER env (the Python ANPR service — its OWN process, prefix VISION_)