orrn-spool is the piece of ORRN that touches paper. It sits on a machine inside the plant and drives TSC thermal label printers.
How it works
- Talks to printers over raw TCP on port 9100 and polls their status.
- Turns a JSON label schema, with variables, into TSPL2.
- Lets you describe a label in plain English. Gemini drafts the layout, and the spool compiles it to TSPL2.
- Runs jobs from a priority queue with retries, fires webhooks on success or failure, and archives finished jobs encrypted with a passphrase.
- Has an HTMX web UI for printers, templates, and test prints.
It's written in Go with Gin and SQLite, and it ships as a Docker image.
Why it exists
Browsers can't print to a thermal printer reliably, and a plant floor won't wait for a driver dialog. A small, boring local service that owns the printer is easier to trust.