← Blog

How to connect PrintStash to multiple Klipper printers

Connect several Moonraker/Klipper printers, check their individual capabilities and file inventories, and send a known G-code revision to the right machine.

guideklippermoonrakermulti-printer

Managing files across several Klipper machines comes down to one decision: per-machine uploads through Mainsail or Fluidd, which work fine up to about two printers, or a central library with a fleet queue that routes work for you. This guide covers the connection side of the second approach. Managing printer files across multiple Klipper machines compares the two workflows and says where the line sits.

PrintStash can keep several Moonraker printers on one dashboard. Each printer has its own URL, credentials, status, diagnostics, remote file inventory, and controls.

This is useful for a workshop or small farm. A direct send still targets one machine you pick, while the fleet queue added in v0.11.0 can place queued jobs for you with default-printer or least-busy routing. Sending G-code to multiple printers from one app explains how that routing behaves.

Add your first printer

Open Printers -> Add printer, choose Moonraker/Klipper, and enter a name plus the LAN URL, usually on port 7125. Use names that remain clear in alerts and history, such as Voron-250-ABS rather than Printer 2.

No printer plugin is required. The PrintStash server must be able to reach the Moonraker address. A URL that works from your laptop may still fail from inside the API container because Docker has a different network view.

Run Diagnostics and verify live state before adding the next printer.

What the connection gives you

For each connected Moonraker printer, PrintStash can show state and temperatures, list remote files, upload a library revision, start a job, and pause, resume, or cancel it.

Completed jobs record measured duration and filament use. A selected Spoolman spool can receive consumption write-back, and a successful revision can become known good when that setting is enabled.

Add more printers

Add the remaining printers one at a time. Test upload without start on each machine. Similar printers can still differ in nozzle, build plate, macros, or usable volume, and PrintStash does not make an unsafe G-code file compatible with the selected hardware.

Provider diagnostics separate missing configuration from reachability problems and show which actions the provider exposes. Use that page before changing firewall rules or credentials at random.

Mix printer providers on one dashboard

The same dashboard can include beta OctoPrint, PrusaLink, Bambu LAN, and Elegoo Centauri providers. Their columns are not identical.

Bambu LAN supports local upload and opt-in start but not remote file inventory. OctoPrint and PrusaLink support inventory. Elegoo Centauri exposes status and controls, carries beta upload, and exposes no remote file inventory. Measured filament consumption remains Moonraker-only. Use the compatibility matrix when the fleet mixes providers.

A multi-printer workflow

  1. Let the OrcaSlicer hook add the new G-code revision.
  2. Check its parsed printer profile, material, and nozzle settings.
  3. Look for an idle printer that actually matches those requirements.
  4. Send without auto-start when the machine or file is unfamiliar.
  5. Use Mainsail or Fluidd for the final physical check and live intervention.
  6. Keep the result on the model record after completion.

Collections should describe the library, not transient machine availability. Use revision notes and printer-profile metadata to record which machine setup worked. Keep the controller interfaces bookmarked, because a shared dashboard does not replace watching the first layer or maintaining the hardware.