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.
(this should look better) |
(updated repo links) |
||
(5 intermediate revisions by the same user not shown) | |||
Line 6: | Line 6: | ||
* monitor the progress of ongoing prints (optionally, webcams can be added to see the visual state) | * monitor the progress of ongoing prints (optionally, webcams can be added to see the visual state) | ||
=== Multi printer support === | === Multi 3D printer support === | ||
* Octoprint only supports one printer per instance | * Octoprint only supports one printer per instance | ||
* in order to support multiple printers, we can deploy multiple docker containers | * in order to support multiple printers, we can deploy multiple docker containers | ||
Line 13: | Line 13: | ||
== Requirements == | == Requirements == | ||
'''Hardware''' | |||
* Debian/Ubuntu based host (RPi, Laptop, ...) | * Debian/Ubuntu based host (RPi, Laptop, ...) | ||
* one USB port per 3d printer | * one USB port per 3d printer | ||
* Recommended: network connectivity to host (if not, only | * Recommended: network connectivity to host (if not, only control over localhost is possible) | ||
* Optionally: one webcam per 3d-printer (needs additional USB ports) | * Optionally: one webcam per 3d-printer (needs additional USB ports) | ||
* Recommended: ssh enabled on host ( | '''Software''' | ||
* Docker installed | * 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 == | == Deploy Octoprint with 2 printers == | ||
Line 25: | Line 27: | ||
* Reference: https://github.com/OctoPrint/octoprint-docker | * 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 === | === 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] | |||
* deploy the compose file on the hosts Portainer | |||
=== | === Plain Docker Compose without Portainer === | ||
* copy the compose file to /srv/docker/octoprint/docker-compose.yml on the host | * copy the compose file to /srv/docker/octoprint/docker-compose.yml on the host | ||
Line 44: | Line 44: | ||
* check if containers are running <code>sudo docker ps</code> | * check if containers are running <code>sudo docker ps</code> | ||
* check for any errors with <code>sudo docker compose logs -f</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> | </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