Author: mcnult1
Email: [email protected]
Date: Last modified on 06/26/2024
Keywords: OctoPrint, Linux, 3D Printing, Setup, Tutorial, OctoPrint Deploy, Networking, Server
This tutorial's motivation is to help users set up multiple instances of OctoPrint on a Linux system using the OctoPrint Deploy script. Readers of this tutorial assume the following background and interests:
This tutorial is based on the original work by paukstelis OctoPrint Deploy GitHub Repository. For there setups, other operating systems, or to support the developer, please refer to the original documentation.
octoprint_deploy is a script that makes installing multiple instances of OctoPrint easy. You do not have to edit any files as the entire script is guided to let you set up multiple instances exactly how you want them, just following simple prompts.
octoprint_deploy only works on Linux systems. The only additional requirement is that the Linux system must use systemd (most of them do).
Note: For more details on supported Linux distributions, see the section Useful Information below.
sudo apt install git
git clone https://github.com/paukstelis/octoprint_deploy cd octoprint_deploy
sudo ./octoprint_deploy.sh
paukstelis Wiki with Quick Start Guide
sudo apt install git
git clone https://github.com/paukstelis/octoprint_deploy.git cd octoprint_deploy
sudo ./octoprint_deploy.sh
General Linux (Ubuntu/Mint/RPiOS/Debian/Fedora/Arch/etc.)
sudo apt install git # or sudo dnf install git # or sudo pacman -S git # or sudo zypper in git
git clone https://github.com/paukstelis/octoprint_deploy
sudo octoprint_deploy/octoprint_deploy.sh
Other features from commandline arguments:
sudo octoprint_deploy/octoprint_deploy.sh remove
sudo octoprint_deploy/octoprint_deploy.sh backup
sudo octoprint_deploy/octoprint_deploy.sh restart_all
- Port Sensitivity: During udev detection, if your printer does not have a serial number (e.g., most Creality printers), it will be detected by the USB port you plugged it into. This makes the setup port-sensitive, meaning if you move the printer to a different USB port, you will need to set up a new instance. Printers with serial numbers do not have this issue. For more details, visit the Original GitHub Repository.
These files provide a bash script for quickly deploying multiple octoprint instances on a single computer. For Linux systems (Ubuntu, Fedora, etc.) it will also install OctoPrint and a video streamer (ustreamer). No need for lots of file editing or complicated Docker compose scripts! A background video on how it generally works from my ERRF2022 talk can be found here: ERRF2022 talk video.
Note: Unfortunately, octoprint_deploy > 1.0.0 is not directly compatible with older versions, as so much has changed. If you want to use the new version of octoprint_deploy with an older setup, create backups (either with OctoPrint UI or with octoprint_deploy), then use the `remove` command line argument before updating octoprint_deploy. Re-make your instances using the same instance names, then recover your backups.
This tutorial's objective was to provide a comprehensive guide for setting up multiple instances of OctoPrint on Linux using OctoPrint Deploy. Complete setup instructions. Once the concepts were conveyed, the reader could efficiently set up and manage multiple 3D printers.
Speculating future work derived from this tutorial includes enhancing the setup with additional plugins, exploring automation scripts for maintenance, and integrating advanced monitoring tools. In the big picture, the problem of managing multiple 3D printers from a single server can be solved with this tutorial.
For questions, clarifications, etc., Email: [email protected]