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.
(initial version) |
(updated repo links) |
||
(12 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
= Octoprint = | |||
An application to control (usb) 3d-printers over the network. | 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 3D 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 == | |||
'''Hardware''' | |||
* Debian/Ubuntu based host (RPi, Laptop, ...) | |||
* one USB port per 3d printer | |||
* Recommended: network connectivity to host (if not, only control over localhost is possible) | |||
* Optionally: one webcam per 3d-printer (needs additional USB ports) | |||
'''Software''' | |||
* Recommended: ssh enabled on host (required for ansible deployment >> <code>sudo apt install openssh-server -y</code>) | |||
* Docker installed https://docs.docker.com/engine/install/ubuntu/ / https://github.com/stefannyffenegger/automation/blob/main/ansible/pb_prompt_install-docker.yml | |||
* Recommended: Portainer installed https://docs.portainer.io/start/install-ce/server/docker/linux / https://github.com/stefannyffenegger/automation/blob/main/ansible/pb_prompt_install-portainer.yml | |||
== Deploy Octoprint with 2 printers == | |||
* Reference: https://github.com/OctoPrint/octoprint-docker | |||
=== General === | |||
* modify the docker-compose.yml according to your printer and webcam devices (e.g. /dev/ttyACM0 /dev/video0) | |||
* make sure each instance uses it's own port (default port 81 and 82) | |||
=== Manual deployment with Portainer === | |||
* deploy the compose file on the hosts Portainer as a stack | |||
* access and configure at [http://localhost:81 http://<HOST_IP>:81/] [http://localhost:82 http://<HOST_IP>:82] | |||
=== Plain Docker Compose without Portainer === | |||
* copy the compose file to /srv/docker/octoprint/docker-compose.yml on the host | |||
* <code>cd /srv/docker/octoprint</code> | |||
* start the containers with <code>sudo docker compose up -d</code> | |||
* check if containers are running <code>sudo docker ps</code> | |||
* check for any errors with <code>sudo docker compose logs -f</code> | |||
* access and configure at [http://localhost:81 http://<HOST_IP>:81/] [http://localhost:82 http://<HOST_IP>:82] | |||
=== Compose file === | |||
* https://github.com/stefannyffenegger/automation/tree/main/docker/octoprint | |||
</code> | |||
Latest revision as of 18:54, 10 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 3D 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
Hardware
- Debian/Ubuntu based host (RPi, Laptop, ...)
- one USB port per 3d printer
- Recommended: network connectivity to host (if not, only control over localhost is possible)
- Optionally: one webcam per 3d-printer (needs additional USB ports)
Software
- Recommended: ssh enabled on host (required for ansible deployment >>
sudo apt install openssh-server -y
) - Docker installed https://docs.docker.com/engine/install/ubuntu/ / https://github.com/stefannyffenegger/automation/blob/main/ansible/pb_prompt_install-docker.yml
- Recommended: Portainer installed https://docs.portainer.io/start/install-ce/server/docker/linux / https://github.com/stefannyffenegger/automation/blob/main/ansible/pb_prompt_install-portainer.yml
Deploy Octoprint with 2 printers
General
- modify the docker-compose.yml according to your printer and webcam devices (e.g. /dev/ttyACM0 /dev/video0)
- make sure each instance uses it's own port (default port 81 and 82)
Manual deployment with Portainer
- deploy the compose file on the hosts Portainer as a stack
- access and configure at http://<HOST_IP>:81/ http://<HOST_IP>:82
Plain Docker Compose 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
- access and configure at http://<HOST_IP>:81/ http://<HOST_IP>:82
Compose file