IT/Software/Octoprint: Difference between revisions

From msgwiki
< IT‎ | Software
Jump to navigation Jump to search
Access restrictions were established for this page. If you see this message, you have no access to this page.
(see last commit... :()
(this should look better)
Line 46: Line 46:




<code>version: '3.9'</code>
<code>
version: '3.9'


<code>services:</code>
services:
   <code>octoprint-1:
   octoprint-1:
     image: octoprint/octoprint
     image: octoprint/octoprint
     restart: unless-stopped
     restart: unless-stopped
Line 63: Line 64:
     # you add a video device
     # you add a video device
     #environment:
     #environment:
     #  - ENABLE_MJPG_STREAMER=true</code>
     #  - ENABLE_MJPG_STREAMER=true


   <code>octoprint-2:
   octoprint-2:
     image: octoprint/octoprint
     image: octoprint/octoprint
     restart: unless-stopped
     restart: unless-stopped
Line 79: Line 80:
     # you add a video device
     # you add a video device
     #environment:
     #environment:
     #  - ENABLE_MJPG_STREAMER=true</code>
     #  - ENABLE_MJPG_STREAMER=true


<code>volumes:</code>
volumes:
   <code>octoprint-1:
   octoprint-1:
   octoprint-2:</code>
   octoprint-2:
</code>

Revision as of 20:36, 2 May 2024

Octoprint

An application to control (usb) 3d-printers over the network.

  • send .stl over the network (no sd cards needed)
  • setup and control the print
  • monitor the progress of ongoing prints (optionally, webcams can be added to see the visual state)

Multi printer support

  • Octoprint only supports one printer per instance
  • in order to support multiple printers, we can deploy multiple docker containers
  • the different printers can then be assigned to their respective instance
  • this example sets up 2 instances for 2 priners, modify it to your needs

Requirements

Deploy Octoprint with 2 printers

Deploy with Ansible

  • local install of ansible required (ansible)
  • copy this Ansible Playbook to your local device (pb_docker-octoprint.yml)

Manual deployment

  • modify the docker-compose.yml according to your printers and webcams
  • make sure each instance uses it's own port
  • deploy the compose file on the hosts Portainer

Without Portainer

  • copy the compose file to /srv/docker/octoprint/docker-compose.yml on the host
  • cd /srv/docker/octoprint
  • start the containers with sudo docker compose up -d
  • check if containers are running sudo docker ps
  • check for any errors with sudo docker compose logs -f


version: '3.9'

services:

 octoprint-1:
   image: octoprint/octoprint
   restart: unless-stopped
   ports:
     - 81:80
   # devices:
   # use `python -m serial.tools.miniterm` to see what the name is of the printer, this requires pyserial
   #  - /dev/ttyACM0:/dev/ttyACM0
   #  - /dev/video0:/dev/video0
   volumes:
    - octoprint-1:/octoprint
   # uncomment the lines below to ensure camera streaming is enabled when
   # you add a video device
   #environment:
   #  - ENABLE_MJPG_STREAMER=true
 octoprint-2:
   image: octoprint/octoprint
   restart: unless-stopped
   ports:
     - 82:80
   # devices:
   # use `python -m serial.tools.miniterm` to see what the name is of the printer, this requires pyserial
   #  - /dev/ttyACM1:/dev/ttyACM0
   #  - /dev/video1:/dev/video0
   volumes:
    - octoprint-2:/octoprint
   # uncomment the lines below to ensure camera streaming is enabled when
   # you add a video device
   #environment:
   #  - ENABLE_MJPG_STREAMER=true

volumes:

 octoprint-1:
 octoprint-2: