services:
yolo-drt-api:
image: shhh9991/yolo-drt-api:V0.7
container_name: yolo-drt-api
restart: unless-stopped
runtime: nvidia
ports:
- "8087:8080"
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: 1
capabilities: [gpu]
environment:
NVIDIA_VISIBLE_DEVICES: all
YOLO_DRT_CONTAINER_NAME: yolo-drt-api
# Skip staging-copy for files larger than this (GiB). 5h videos decode in place.
YOLO_DRT_STAGE_MAX_COPY_GB: "2"
YOLO_DRT_VIDEOS_DIR: /data/videos
# Sync job wait (seconds). 5h video needs many hours of wall time.
YOLO_DRT_SYNC_TIMEOUT_SEC: "86400"
YOLO_DRT_DETECT_MODEL: /data/models/YOLO/yolo26x.pt
YOLO_DRT_CROSS_MODEL: /data/models/YOLO/Helmet/helmet-26m.pt
YOLO_DRT_REID_BACKEND: solider
YOLO_DRT_REID_MODEL: /data/models/RD/solider_swin_small_msmt17.pth
YOLO_DRT_OUTPUT_DIR: /data/output
# Named volume (Linux VM disk) — fast decode vs Windows bind-mount.
YOLO_DRT_WORK_DIR: /data/work
YOLO_DRT_UPLOAD_DIR: /data/work/uploads
YOLO_DRT_MODELS_DIR: /data/models
# --- baked UI fast profile ---
YOLO_DRT_USE_SEG: "false"
YOLO_DRT_USE_SAM_IDENTITY: "true"
YOLO_DRT_USE_REID: "false"
YOLO_DRT_SAM_IDENTITY_BACKEND: memory
YOLO_DRT_SAM_MATCH_IOU: "0.30"
YOLO_DRT_SAM_OSNET_REENTRY: "true"
YOLO_DRT_SAM_OSNET_REENTRY_THRESH: "0.65"
YOLO_DRT_SAM_OSNET_REENTRY_MIN_MISS: "15"
YOLO_DRT_USE_OFFLINE_TRACKLET_LINK: "true"
YOLO_DRT_TRACKLET_LINK_USE_REID: "true"
YOLO_DRT_TRACKLET_LINK_MAX_GAP_FRAMES: "0"
YOLO_DRT_TRACKLET_LINK_MIN_SIM: "0.65"
YOLO_DRT_TRACKLET_LINK_SAMPLES_PER_TRACKLET: "8"
YOLO_DRT_TRACK_BUFFER: "900"
YOLO_DRT_IDENTITY_GALLERY: "true"
YOLO_DRT_IDENTITY_GALLERY_MIN_SIM: "0.65"
YOLO_DRT_IDENTITY_GALLERY_SPILL: "true"
YOLO_DRT_USE_TENSORRT: "true"
YOLO_DRT_CROSS_CHECK_ENABLED: "true"
YOLO_DRT_CROSS_CHECK_OBJECT_PROMPT: helmet
YOLO_DRT_CROSS_CHECK_WARNING_TEXT: "NO HELMET"
YOLO_DRT_CROSS_CHECK_CONF: "0.35"
YOLO_DRT_CROSS_CHECK_MIN_INTERSECTION_PX: "20.0"
YOLO_DRT_CROSS_CHECK_MIN_IOU: "0.03"
YOLO_DRT_CROSS_CHECK_HELMET_MIN_CONF: "0.30"
YOLO_DRT_CROSS_CHECK_MIN_VIOLATION_STREAK: "2"
YOLO_DRT_CROSS_CHECK_VERDICT_HISTORY: "5"
YOLO_DRT_CROSS_CHECK_DRAW_HEAD_BOX: "true"
YOLO_DRT_CROSS_CHECK_DRAW_BOXES: "true"
YOLO_DRT_ENCODE_MODE: manual
YOLO_DRT_DEFAULT_PROMPT: person
YOLO_DRT_REALTIME_MODE: "true"
YOLO_DRT_GPU_FULL_BATCH: "false"
YOLO_DRT_PRELOAD_VIDEO: "false"
YOLO_DRT_FRAME_SOURCE_MODE: windowed
YOLO_DRT_FRAME_STRIDE: "0"
YOLO_DRT_INFER_BATCH_SIZE: "64"
YOLO_DRT_GPU_QUEUE_DEPTH: "4"
YOLO_DRT_DECODE_PREFETCH: "4"
YOLO_DRT_DETECT_CONF: "0.20"
YOLO_DRT_APPEARANCE_THRESH: "0.55"
YOLO_DRT_POSE_KPT_CONF: "0.25"
YOLO_DRT_SMART_RAM_BUDGET: "true"
YOLO_DRT_MAX_PROCESS_RAM_GB: "10.0"
YOLO_DRT_MAX_WINDOW_RAM_GB: "4.0"
YOLO_DRT_MAX_PRELOAD_RAM_GB: "12.0"
YOLO_DRT_TRT_ENGINE_STRATEGY: central
YOLO_DRT_TRT_REBUILD_POLICY: missing_only
YOLO_DRT_TRT_MANIFEST_DIR: /data/models/TRT
YOLO_DRT_TRT_IMGSZ: "640"
YOLO_DRT_TRT_MAX_BATCH: "32"
YOLO_DRT_TRT_FP16: "true"
YOLO_DRT_TRT_WORKSPACE_GB: "2.0"
YOLO_DRT_TRT_AUTOCAST_FAST: "true"
YOLO_DRT_INFERENCE_DEVICE: cuda
volumes:
# Do not change without user ask — running containers keep old mounts.
- ../output:/data/output
# Named volume lives in the Linux VM: fast random read for video decode.
# Uploads + staged path-job copies go here (not to ../output).
- yolo_work:/data/work
# TRT engines persist across rebuilds (Linux engines ≠ Windows host .engine files).
- yolo_trt:/data/models/TRT
# Pre-place long videos here; path jobs decode in place (no multi‑GB copy).
- ./videos:/data/videos:ro
# Allow POST /v1/admin/restart to restart THIS container via Docker Engine.
- /var/run/docker.sock:/var/run/docker.sock
volumes:
yolo_work:
yolo_trt:
Content type
Image
Digest
sha256:70737f838…
Size
15.3 GB
Last updated
about 2 months ago
docker pull shhh9991/yolo-drt-api:V0.7