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

  1. Windows-based machine (PC, laptop, or server) with enough resources (CPU/RAM).

  2. OctoPrint Installer or Python-based setup that you can replicate for each instance.

  3. Separate USB cables for each printer, each recognized as a different COM port on your machine.

  4. (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

  1. 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:

C:\OctoPrint

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

  1. Create or Copy a Second Folder

    • Make a second directory, for example:

C:\OctoPrint2

Copy only the necessary files/scripts (or install OctoPrint again into this new directory). You want a fully separate instance to keep configurations apart.

  1. 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.:

"C:\OctoPrint2\venv\Scripts\octoprint.exe" serve --basedir "C:\OctoPrint2\OctoPrintSettings" --port=5001
  • 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 default 5000.

Step 3: Configure Ports and COM Ports

  1. 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.

  2. 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

  1. 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.

  2. 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)

  1. 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:

C:\Users\YourUserName\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
  • 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

  1. 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.

  2. Permission Issues

    • Make sure your user account has sufficient privileges to run the scripts and access the COM ports.

  3. 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.

  4. 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.

Next
Next

“Pro” Filament: Is It Actually Any Different Than “Normal” Filament?