[port] free /dev/video4 by stopping Unitree video_hub_pc4 from container

Mount mscli + master_service.sock into the container and stop
video_hub_pc4 at startup (and every 10s) so the RealSense pipeline
can open the D435i V4L2 node without EBUSY.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
henrytherobotandClaude Opus 4.7 committed 2026-05-25 12:24:16 +02:00
1 parent ede70a21b3
commit 08977ac6f6
1 file changed
+13
+13
View File
@@ -34,6 +34,19 @@ services:
volumes: volumes:
- ./images:/app/images - ./images:/app/images
- ./models:/app/models:ro - ./models:/app/models:ro
# mscli + master_service socket so the container can stop the
# Unitree video_hub_pc4 service (it holds /dev/video4 — the D435i
# V4L2 node — and would otherwise make Open() fail with EBUSY).
- /unitree/sbin/mscli:/unitree/sbin/mscli:ro
- /unitree/var/run/master_service.sock:/unitree/var/run/master_service.sock
entrypoint:
- bash
- -c
- |
/unitree/sbin/mscli stopservice video_hub_pc4 >/dev/null 2>&1 || true
sleep 2
( while sleep 10; do /unitree/sbin/mscli stopservice video_hub_pc4 >/dev/null 2>&1 || true; done ) &
exec /app/entrypoint.sh
env_file: .env env_file: .env
depends_on: depends_on:
nats: nats: