Installing the bridge with Docker (Windows, Mac, Linux)

Step by step: install Docker, download your bridge from Laberty (key already inside), start it, and check it connected.

Before you start

  • Your account is on Home or Business.
  • You have a computer that stays on and is on the same network as your printers.
  • Your network printers have fixed IP addresses. Brother QL printers by IP shows how.

1. Install Docker

  • Windows or Mac: install Docker Desktop and open it once. Wait until it says Docker is running.
  • Linux, including Raspberry Pi OS: install Docker from your package manager (on Debian and Ubuntu, sudo apt install docker.io), or follow Docker's own guide.

2. Download your bridge

  1. In Laberty, go to Admin → Print bridge. On the Docker: NAS, Mac or Linux tab, press Download the Docker bridge (.zip).
  2. Unzip it somewhere permanent, such as your home folder. It makes a folder called laberty-bridge-docker.

The download is made for your workspace. It has your Laberty address and a new bridge key already inside (in a file called bridge.env), so there's nothing to copy or paste. The key can only pick up print jobs and list printers. Every download makes another key, named like Bridge download 2026-09-26 (Docker), so you can switch one off without touching the others.

Treat the ZIP and bridge.env like a password. Anyone who has the key can pick up your print jobs, which contain names and addresses. Don't email the ZIP. Delete it once the bridge is running. If it ever goes astray, revoke that key on Admin → API keys.

3. Start the bridge

Open a terminal in the unzipped folder and run:

docker compose up -d --build

Docker builds the bridge on your own computer from the files in the folder, so there's no image to pull and no account to sign in to. The first build takes a few minutes. The bridge restarts after a reboot, as long as Docker itself starts when the computer does. In Docker Desktop, turn on the setting that starts Docker when you sign in.

4. Check it connected

docker compose logs -f

You want to see:

Laberty print bridge starting — polling every 5s
connected to https://laberty.app — waiting for print jobs

Press Ctrl+C to stop watching. The bridge keeps running. If you see LABERTY_TOKEN was rejected (401) or Laberty refused this key (403), see The bridge shows 401 or 403.

5. Add printer addresses, then test

  1. On Admin → Printers & stock, press Add a printer (or Edit on a printer you already have), choose On my network, and type the printer's IP address. Leave the port empty to use the usual one.
  2. Press Send a test page to the print agent. It should print within a few seconds.
  3. Reload Admin → Print bridge. The status should say "Bridge is running".

To check the bridge machine can reach a printer at all:

nc -vz 192.168.1.50 9100

Updating the bridge

Most of the time you don't need to: the bridge takes its settings from Laberty, so an older one keeps working. When Laberty says a job is waiting for a newer bridge, update it.

  1. Download your bridge again from Admin → Print bridge and unzip it over the old folder.
  2. Run docker compose up -d --build in that folder.
  3. The new download has a new key. On Admin → API keys, revoke the old one.

Printing through the computer's own drivers (CUPS)

Most people don't need this. Printers reached by IP address need no driver at all. CUPS is only for a printer that can't be reached by IP and needs a driver on a Mac or Linux bridge machine.

  • In Printers & stock, such a printer asks for a print queue name instead of an IP address. lpstat -p on the bridge machine lists the names.
  • On Linux, if the container can't reach CUPS, run it with --network host instead of --add-host.
  • Windows has no CUPS. For a printer plugged into a Windows PC, use Laberty Bridge for Windows instead of Docker.

Without Docker

The bridge is a single Node.js program. With Node 20 or newer, from the unzipped folder:

LABERTY_URL=https://laberty.app LABERTY_TOKEN=lbk_your-bridge-key node agent.mjs

Brother QL printing by IP also needs poppler and brother_ql installed on that machine. The Docker image already includes both, which is why Docker is the easier route.

Still stuck?

Contact support and tell us what you tried. We reply by email, usually within 1–2 business days.