Run Multiple Instances of OctoPrint on Windows
Below is a concise walkthrough on how you can run multiple instances of OctoPrint on a single Windows PC or server. This approach is based on community-shared methods and personal experience. As with any DIY process, proceed at your own discretion and always back up important data before making significant changes to your system.
Why Run Multiple Instances of OctoPrint on Windows?
If you have more than one 3D printer and want to control them all from a single Windows machine (e.g., a mini PC or server), you can install multiple OctoPrint instances. Each instance can connect to a different printer via a unique COM port and run on a different network port.
Prerequisites
Windows-based machine (PC, laptop, or server) with enough resources (CPU/RAM).
OctoPrint Installer or Python-based setup that you can replicate for each instance.
Separate USB cables for each printer, each recognized as a different COM port on your machine.
(Optional) Cameras if you want to stream video for each instance—just note that video streaming can be CPU-intensive.
Step 1: Set Up Your First OctoPrint Instance
Download and Install OctoPrint
Either use the official Windows installer or install OctoPrint via Python (using pip).
For example, you might install into a folder called:
2. Verify the Instance
Make sure it runs on its default port (usually
5000
).Confirm that you can access OctoPrint by navigating to
http://localhost:5000
in your web browser.Connect your first printer via USB and set it up in OctoPrint. Under
Settings > Serial Connection
, pick the correct COM port (e.g.,COM3
).
Step 2: Create a Second OctoPrint Folder
Create or Copy a Second Folder
Make a second directory, for example:
Copy only the necessary files/scripts (or install OctoPrint again into this new directory). You want a fully separate instance to keep configurations apart.
Adjust Files for the Second Instance
Within the second folder, look for the script or batch file you use to start OctoPrint. Often this is something like
octoprint.bat
or a similar startup script.In that script, ensure references to the OctoPrint install location point to your new folder, e.g.:
Note the key changes:
--basedir "C:\OctoPrint2\OctoPrintSettings"
ensures settings go into a separate folder, preventing conflicts.--port=5001
sets a new port, different from the default5000
.
Step 3: Configure Ports and COM Ports
Network Port
Pick any unused port for the second instance (e.g.,
5001
,5002
, etc.).Confirm that port is open and not blocked by Windows Firewall or another service.
Serial (COM) Ports
Connect your second printer via a second USB port, which should map to a different COM port (e.g.,
COM4
).In the second OctoPrint instance, open
Settings > Serial Connection
and assign the correct COM port. Make sure this is not the same port used by the first instance.
Step 4: (Optional) Set Up Camera Streaming
Camera Software
If you plan to monitor prints, you can set up a camera streaming tool (e.g., Yawcam, iSpy, or the built-in webcam server in OctoPrint).
Each camera feed should be set to a different stream port to avoid conflicts.
Resource Considerations
Video encoding is CPU-intensive. If your mini PC or server has limited resources, you may want to run fewer or no camera streams to prevent print quality issues due to CPU spikes.
Step 5: Automate Startup (Optional)
Startup Folder
You can place shortcuts to each startup script (
*.bat
files) in the Windows Startup folder so they launch when you power on.The Windows Startup folder is typically located at:
This ensures both OctoPrint instances run automatically after reboot.
2. Service or Scheduled Task
For a more robust solution, you can set up each OctoPrint instance to run as a Windows Service or use Task Scheduler. This approach offers better control than the Startup folder method.
Common Troubleshooting Tips
Port Conflicts
If your second instance fails to start, check if another service or process (including your first OctoPrint instance) is already using the same port.
Permission Issues
Make sure your user account has sufficient privileges to run the scripts and access the COM ports.
High CPU Usage
Try disabling or limiting webcam streaming if CPU usage spikes too high. Video encoding is often more demanding than the actual G-code processing.
COM Port Changes
Windows may change COM port assignments if you plug into different USB ports. To avoid confusion, keep each printer in the same physical USB port, or manually set a static COM port in the Windows Device Manager if needed.
Conclusion
Running multiple instances of OctoPrint on a single Windows machine is absolutely doable with some basic folder and port configuration. The key is to ensure each instance has its own base directory, a unique network port, and each printer connects on a separate COM port. Keep an eye on resource usage—especially if you enable multiple camera streams.
By following the steps above, you can manage several 3D printers concurrently without needing multiple Raspberry Pis or separate computers. For more advanced tweaks, check out the OctoPrint Community Forum for user experiences and additional tips.
Happy printing! If you found this helpful or have other suggestions, feel free to comment, share your setup, or reach out in the OctoPrint community.