version: '3.8' services: forensic-viewer: build: . container_name: forensic-viewer-app # CRITICAL: Network mode 'host' is required for the container to access # the host's Bluetooth adapter (hci0) via BlueZ. network_mode: "host" # CRITICAL: Privileged mode is required to access raw USB devices and # low-level hardware interfaces from within the container. privileged: true volumes: - .:/app - /node_modules # Mount the host's dbus to allow communication with the host's BlueZ daemon - /var/run/dbus:/var/run/dbus # Mount dev to allow access to /dev/bus/usb for ADB/Serial connections - /dev:/dev environment: - NODE_ENV=development - CHOKIDAR_USEPOLLING=true restart: unless-stopped