1ea1aa4189c3c738640f3d2d0768c44c94f525d7
The USB ESC/POS printer is the host's /dev/usb/lpN (usblp char device, major 180), but the container has its own /dev — `docker exec server ls /dev/usb` → "No such file or directory", so probeUsb's open() ENOENTs and the printer is always offline regardless of the path set in setup. Containerization isolates host hardware (same root cause as the network fix); USB needs explicit passthrough: - volumes: /dev/usb:/dev/usb → the lpN NODES appear inside the container - device_cgroup_rules: 'c 180:* rmw' → permit the usblp char major (180), and the `:*` minor wildcard survives lp0/lp1/lp2 renumbering across replug/boot-order. Binding the /dev/usb DIR (not a single `devices:` node) is what survives renumber. Merge verified: parking-data ledger volume preserved (lists append), host net intact, config valid. Booth prereq: `usblp` loaded at boot + printer attached before start, else /dev/usb is absent. Claude-Session: https://claude.ai/code/session_01Xcm6ikLgGoCxxHrxtjkk5V
Description
No description provided