| Printer | Bluetooth name | Firmware | Battery | Usage | Job |
|---|
Finds Zebra printers on the network (Ethernet or Wi-Fi) with Zebra's own discovery, which only Zebra printers answer, then talks to them on port 9100. They're listed with the USB printers; Set up, Read and the rest work the same.
Never contact these addresses
Zebra printers that must not be programmed. One per line: an address, a range or a network, optionally with a note after #. They get no discovery packet and no connection at all. A printer already in the list is dropped from it.
Networks to search
Leave empty to search each bench's own network. At most 4,096 addresses, e.g. 192.168.4.0/22 or 192.168.4.100-199.
Also connect to these printers
Zebra printers that don't answer the discovery, or are on another network: one address per line. Only enter Zebra printers here, since they are sent printer commands directly.
Found
Activity
| Programmed | Name | Model | Serial | Firmware | MFi | Bluetooth | Times | Code | Notes |
|---|
Pick a model or code on the left.
| Serial | Model | Name | Firmware | MFi | Bluetooth | Exceptions | Configured | Readings | Last seen |
|---|
Loading…
| Name | Printer | Model · firmware | Read | Marked | Notes |
|---|
Files
Parameters every SGD variable
Ignored variables
Variables that are different on any two printers, or from minute to minute: serial number, names, addresses, counters, battery and sensor readings, the clock. Differences in them are counted separately and shown with Include ignored. One name per line; * matches anything, e.g. odometer.*.
| Bench | Computer | Agent | Last seen | Printers |
|---|
| User | Role | Status | Last sign-in |
|---|
Loading…
Loading…
Help: running PrinterConfig in the cloud
PrinterConfig runs in one of two ways. The website, printers and code are the same in both.
- On one PC (how it starts out): start-windows.cmd runs everything on this PC, at http://127.0.0.1:8080, without sign-in. Only this PC can open it.
- In the cloud: the website, database, code, firmware and name counters live on a small cloud server (e.g. https://printers.manyfastscan.com), with sign-in. Each place with printers plugged in is a bench: a Windows PC or a small Linux box running the bench agent. Benches connect out to the server, so nothing at a bench needs opening to the internet, and every bench shares one set of numbers, one Programmed list and one history.
1. The server
- Create a small Linux VM with Docker, e.g. Ubuntu at DigitalOcean, Hetzner or AWS Lightsail (1-2 GB RAM is enough, about $6-12/month).
- Create a DNS A record for the website's name, e.g. printers.manyfastscan.com, pointing at the VM's IP address. Open ports 80 and 443 on the VM's firewall.
- Copy the whole PrinterConfig folder to the VM. Its config/ folder (models, code,
exceptions, labels, snippets) becomes the server's starting config. Then:
cd PrinterConfig/deploy/server cp .env.example .env # edit it: DOMAIN=printers.manyfastscan.com docker compose up -d --build # the HTTPS certificate is fetched automatically docker compose exec server python -m app.admin create-user evan # the first admin; asks for a password
- Open https://printers.manyfastscan.com and sign in.
- Firmware: Models & code → Firmware files → Upload each file from the firmware/ folder.
- History (optional): bring over this PC's history. On this PC:
wsl -d Ubuntu-24.04 -u root -- docker cp zebra-printerconfig:/data/server.db ./server.db
Copy server.db to the VM, into PrinterConfig/deploy/server, then there:docker compose cp server.db server:/data/old.db docker compose exec server python -m app.admin import-v1 /data/old.db --bench "Bench 1"
- Check the name counters in the header (edit) before programming anything.
2. Benches
- On the website: Benches → + Add bench. Copy its token, which is shown only once.
- At the bench:
- Windows PC (WSL + Docker, as on this PC): run start-windows.cmd -Bench, then paste the server address and the token. They're kept in %LOCALAPPDATA%\PrinterConfig\agent.env, not on Google Drive. After that, start-windows.cmd -Bench is all it takes. -Setup changes the address or token.
- Linux box / Raspberry Pi: copy the PrinterConfig folder over, run sudo ./deploy/agent/install-linux.sh and paste the address and token. It installs Docker if needed, and the agent starts again by itself after a reboot.
- The bench shows as connected on the Benches page, and its printers appear on the Printers page under its name.
A bench downloads the code and firmware it needs and sends every reading and event to the server. If the internet drops, its printers are still detected and read, and the history is sent once it's back online. Programming waits for the server, because the names come from its shared counters. New token on the Benches page replaces a bench's token (the old one stops working at once).
3. People
Users (admins only): add people as Operator or Admin. Operators can set up, read and label printers, run snippets and edit notes. Admins can also change models & code, exceptions, firmware, counters, benches and users. Everyone can change their own password (top right). Five wrong passwords make that user name wait before trying again.
4. Looking after it
- Backups: the server copies its database every night and keeps 14 days of copies, in the server-data Docker volume (/data/backups), along with the config and firmware.
- Updating: copy the newer PrinterConfig folder over, then docker compose up -d --build in deploy/server. Then update each bench the same way: start-windows.cmd -Bench again, or sudo ./deploy/agent/install-linux.sh again. The config edited on the website is kept.
- A bench shows offline: check it's running (start-windows.cmd -Bench on Windows, docker ps on Linux) and has internet. A replaced token needs -Setup on Windows, or deleting /etc/printerconfig/agent.env and running the installer again on Linux.
- Going back to one PC: start-windows.cmd without -Bench runs everything on the PC again. It uses the PC's own database, not the cloud's.
The same steps, in more detail, are in README.md in the PrinterConfig folder (“Cloud server + benches”).