User Tools

Site Tools


octoprint

We've set up a fairly intricate Octoprint installation to handle sending to our 3(so far) configured printers. Each Octoprint instance lives in a Docker container on a Linux server. There's some special plumbing in place to allow access to each printer (and camera?) via USB uniquely.

The printers in the shelving unit are hooked up to 192.168.20.35 (aka octoprint.local), whereas the MakerMade (and eventually Delta) are hooked up to 192.168.20.139 (no good hostname yet, sorry). The Creality Ender 3 is a special case, as it is running Klipper, and has a separate Mainsail interface at http://ender3.local

(add full details of how this is set up and administered….)

Links to the instances (only usable on MakerNet):

Adding a new printer: The easiest way is probably to duplicate an existing printer's Docker setup (they're all in /root/) and edit the docker-compose.yml to taste:

  • Set your port to map to port 80
  • under devices, map your serial port
  • (and webcam, if you have one)
  • set your volumes, so the instance has persistent storage - we're keeping them all in /fs1
  • docker-compose up -d

Using udev to map the serial port to a persistent name:

  • edit 99-usb.rules
  • udevadm control –reload-rules && udevadm trigger or udevadm control -R && udevadm trigger if the first one gives you grief.
  • unplug & replug the printer USB cable

On PopOS, you'll also have to nuke brltty before the above instructions for udev mapping:

  • systemctl stop brltty-udev.service
  • sudo systemctl mask brltty-udev.service
  • systemctl stop brltty.service
  • systemctl disable brltty.service

Using mjpeg-streamer for webcam monitoring:

  • check out /root/docker/mjpeg-streamer on either machine for a somewhat working docker-compose file
  • I tried getting udev to assign /dev/video* to a constant symlink, but had lots of issues. /dev/video0 is *probably* fine for now.
octoprint.txt · Last modified: by sdh7