Description
from https://discordapp.com/channels/704958479194128507/753995646218010674/792045233600856066
I have this problem where I can't restart the octoprint docker if my printer is not on. Anyone else struggled with this?
In a nutshell: If my printer is OFF, the /dev/ttyACM0 is not available > octoprint container fails to mount it during startup > octoprint container fails to start.
I currently have to turn the printer ON via smart socket and only then start/restart the octoprint container.
It's fairly small annoyance, but I'd prefer octoprint to always be on and printer itself to be controlled via smart socket. Is this possible?
Powering off the printer octoprint controls during idle time is a common requirement of OctoPrint users. Docker will fail to start if you try to pass it a usb serial device if that device does not yet exist, and in addition, the device could be assigned a different binding depending on what usb port its plugged into or what order that usb device is booted.
The solution here will be to create a custom cgroup-rule, mount that, and create a udev rule which adds the device to the container when it is added. see: Dealing with dynamically created devices (--device-cgroup-rule)
The issue here of course is that the user may not be using a static name for the octoprint container, so this may only work in circumstances where you're using docker run
or docker-compose
with an container_name