Skip to content

๐Ÿงฉ The local agent

The local agent is a small program that runs on a computer in your workshop. It talks to your printers over your own network and tells BolloPrint what it sees.

It's the only thing you have to install to connect printers over the local network, and one is enough for the whole fleet.


Do you need it?

Your situationDo you need the agent?
You have Bambu Lab machines and seeing them through the cloud is enoughNo, but with the agent you gain a camera. Not pause and cancel: Bambu doesn't accept commands from third-party programs, whichever route they take
You have Prusa machinesYes. It's the only way to connect them
You have Elegoo resin machines or a CentauriYes. There's no other route
You have QIDI, Sovol, Voron, RatRig, Two Trees, Artillery, a Creality K1 with Moonraker reachable or any machine with KlipperYes
You have a FlashForge Adventurer 5M, AD5X or Creator 5Yes
You don't want your printers going out to the internetYes. The agent talks to them inside your network

Installing it and keeping it up to date

Two separate pages, because they're two different moments:

  • ๐Ÿš€ Deploying the agent โ€” where to put it, how to create it in BolloPrint and how to start it on your computer with Docker Compose, Portainer or Kubernetes.
  • ๐Ÿ”„ Updating the agent โ€” what to do when BolloPrint tells you there's a new version. It's changing one number and deploying again.

How it connects

The agent calls BolloPrint, not the other way round. That's what makes it work without touching the router: there are no ports to open, no fixed IP to request, no firewall to configure. It works behind an ordinary home router, and even with fiber connections that don't give you a public IP.

Once connected, it:

  • asks which printers it has to look after,
  • connects to each one over its own protocol,
  • and sends on what it sees.

When you register a new printer from BolloPrint, the agent finds out on its own, within seconds. There's no need to restart it.


Authorizing installations

The installation from the manifest you copied goes straight in. Any other installation using that same code waits for your approval: you'll see a red notice above the tabs and, inside the agent, under Status, the installation listed in Installations awaiting authorisation, with the name of the computer it's connecting from.

With a current manifest this hardly ever happens: the identity is written into the manifest itself, so you can move the agent to another machine or reinstall it and it's still the same agent. It's normal for it to happen with an older agent, deployed with a manifest that had no identity, when:

  • you move it to another machine,
  • you delete its data volume and create it again,
  • you reinstall it from scratch.

Click Authorise if you recognise the computer. Authorising one revokes the previous one's access.

If a pending installation appears that you didn't set up, don't authorise it: it means somebody else has your code. Open the agent, use Regenerate keys under Deployment and deploy it again with the new manifest.


The status screen

The Local agent tab has two parts:

  • The agents, one per row, with their status and version. Each one's โ‹ฎ menu has Edit, which opens its window, and Delete.
  • Printers on the local network, below: all your agents' printers together, each one with the agent that drives it. At the top are Search now and Add by IP, and at the end what each agent has found on your network and the addresses it's still looking for.

An agent's window has two tabs:

  • Status โ€” what the agent itself reports (the table below), pending installations and the connection to each printer. This is also where you rename it.
  • Deployment โ€” the manifest with the current version and Regenerate keys.

What can appear under Status:

What you seeWhat it means
OnlineIt's connected and working.
No recent signalIt's been quiet for a while. Usually the computer is switched off or has no internet.
OfflineIt isn't there.
Safe modeIt has started up and connected, but it isn't managing printers. It tells you why.
BufferWhat it has stored while it couldn't send anything. If it says "messages dropped", the outage was so long that not everything fitted.
Update your agentThere's a more recent version. It's done on your computer, not from BolloPrint: change the image version in your file and deploy again. Step by step in Updating the agent.

Underneath, Link to each printer: machine by machine, whether the agent can reach it and, if not, why.

The agent looks for new printers on your network on its own every 15 minutes. If you've just switched one on and don't want to wait, click Search now under Printers on the local network.


Quirks worth knowing about

The agent remembers who it is. Its identity is written into the manifest (BP_AGENT_INSTANCE_ID), so the same manifest started on another machine is still the same agent. Don't change it or copy it into another installation: it's its password. Agents deployed with an older manifest keep their identity in their data volume; if you delete it, you'll have to authorise it again (nothing is lost).

One agent copes with a whole fleet. You don't need one per printer or one per room. That said, you can have several agents on the same account, and there are three reasons to do so:

  • Separate networks: one VLAN for production and another for the office, say. An agent on each discovers its own without you having to add anything by hand.
  • Different premises: two units, two workshops, two houses. Each site with its own, and it all shows up together in BolloPrint.
  • An overloaded agent: if the fleet grows a lot and you notice it's stretched, split the printers between two.

Each agent is created the same way, with its own name and its own code. In the Local agent tab you'll see them one below the other, and in Printers on the local network each machine says which agent it comes through. To move a printer from one agent to another, open it with Edit from its โ‹ฎ menu and change the agent in the dropdown. When you Add by IP with more than one agent, it asks you which one will drive it.

โš ๏ธ One code per computer

What you shouldn't do is use the same code on two machines: the second will sit waiting for authorisation, and if you authorise it, the first loses access. For two computers, two agents.

It survives outages. If your internet goes down, the agent keeps reading the printers and storing what happens. When the connection comes back, it sends everything. The hours of the outage aren't lost from the history.

Regenerating the keys cuts the agent off immediately. The previous code and identity stop working the moment you click the button, so the agent disconnects until you deploy it again with the new manifest. Use it when you think someone has your keys or if you've lost the manifest. You don't need it to update the agent: changing the image version is enough (Updating the agent).

Deleting an agent takes its printers with it. It's done from its row's โ‹ฎ menu. It stops connecting immediately, and the printers that were only reachable through it disappear from the list and stop counting towards your plan. The ones also reachable through Bambu Cloud stay. Nothing is lost: if you add one of those printers again โ€” with another agent, through discovery or by IP โ€” it comes back with its number and its whole history. The container running on your computer isn't removed from BolloPrint: stop and remove it yourself (docker compose down in its folder, or delete the stack in Portainer).


When something isn't working

When the agent doesn't show up or behaves oddly, the first thing to do is look at its log on the computer it runs on:

docker logs bolloprint_agent --tail 50
SymptomWhat to check
The agent never shows upWas the code pasted correctly, whole and with no spaces before or after? Can the computer reach the internet? Is a firewall blocking outbound traffic?
It asks for authorization on every restartThe manifest doesn't include BP_AGENT_INSTANCE_ID (it's an older one or was edited by hand). Regenerate the keys and deploy the new manifest as is.
It doesn't detect any printersAre the agent and the printers on the same network? If they aren't, or if you're using Docker Desktop, that's expected: add them by IP and they'll work just the same.
A printer shows as "connected but not sending data"Close the phone app or the slicer that has it open. Some machines only allow one connection at a time.
A printer "responds but refuses the connection"Wrong access code, or LAN mode disabled on the machine's screen. Careful: on Bambu, the code changes every time you enable or disable LAN mode.
All of an agent's printers suddenly disconnectedIt isn't the fleet, it's the agent. Open it with Edit and look at its Status.

Frequently asked questions

Can I pause or cancel a print from BolloPrint? Yes, on the machines connected through the agent that allow it (today, Klipper, PrusaLink and the Elegoo machines that go through SDCP: the resin ones and the Centauri Carbon). Not on Bambu machines, neither through the agent nor through the cloud: their firmware ignores commands that don't come from their own programs. What you can't do on any of them is send jobs: the file is still sent from your slicer.

What happens if the workshop's internet goes down? The agent keeps talking to your printers and stores what happens. When the connection comes back, it sends everything. If the outage is extremely long it may not have room for the full detail, and in that case it tells you.

Does it store anything on my disk? It doesn't store print data. In its volume it keeps its own activity log for the last few days, which deletes itself over time (and, in agents deployed with an older manifest, its identity file). That log only leaves your computer if BolloPrint support asks for it to investigate a problem.

How much does it use? Very little: between 10 and 20 MB of memory with several printers connected.

What if I switch the computer off? Nothing happens. When you switch it back on, the agent comes back on its own without asking you for anything.

Do I have to open ports on the router? No. No ports, no fixed IP, no firewall rules. The connection goes out from your network, just like opening a web page.