IT/Software/Octoprint: Difference between revisions
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.
m (see last commit... :() |
No edit summary |
||
Line 1: | Line 1: | ||
= Octoprint = | = Octoprint = | ||
An application to control (usb) 3d | An application to control (usb) 3d*printers over the network. | ||
* send .stl over the network (no sd cards needed) | * send .stl over the network (no sd cards needed) | ||
Line 7: | Line 7: | ||
=== Multi printer support === | === 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 == | == Requirements == | ||
* Debian/Ubuntu based host (RPi, Laptop, ...) | |||
* one USB port per 3d printer | |||
* Recommended: network connectivity to host (if not, only local control possible) | |||
* Optionally: one webcam per 3d-printer (needs additional USB ports) | |||
* Recommended: ssh enabled on host (needed for ansible deployment) | |||
* Docker installed [manual install](https://docs.docker.com/engine/install/ubuntu/) / (ansible playbook) | |||
* Optionally: Portainer installed [manual install](https://docs.portainer.io/start/install*ce/server/docker/linux) / (ansible playbook) | |||
Deploy Octoprint with 2 printers | == Deploy Octoprint with 2 printers == | ||
* Reference: https://github.com/OctoPrint/octoprint*docker | |||
Deploy with Ansible | === Deploy with Ansible === | ||
* local install of ansible required (ansible) | |||
* copy this Ansible Playbook to your local device (pb_docker-octoprint.yml) | |||
* | |||
Manual deployment | === 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 | === 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` | |||
``` | ``` |
Revision as of 20:30, 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
- Debian/Ubuntu based host (RPi, Laptop, ...)
- one USB port per 3d printer
- Recommended: network connectivity to host (if not, only local control possible)
- Optionally: one webcam per 3d-printer (needs additional USB ports)
- Recommended: ssh enabled on host (needed for ansible deployment)
- Docker installed [manual install](https://docs.docker.com/engine/install/ubuntu/) / (ansible playbook)
- Optionally: Portainer installed [manual install](https://docs.portainer.io/start/install*ce/server/docker/linux) / (ansible playbook)
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:
```