Self-hosted, containerized label printing for Brother QL printers. A declarative YAML template and one HTTP call away from a printed, auto-dated label — in well under a second.
A label is data. Define it once in YAML, print it forever.
Safe defaults, honest errors, no phantom success.
On your hardware, your network, your terms. No cloud.
Does one thing well; refuses to sprawl.
name: freezer-icon label: "62" layout: - {type: icon, name: snowflake} - {type: title, text: "{{title}}"} - {type: line} - {type: text, text: "Frozen: {{date}}"}
POST /print
{
"template": "freezer-icon",
"fields": {
"title": "Bolognese"
}
}
/preview returns the exact PNG that would print — before you burn a label.
{{date+6m}} resolves at render time. Callers never pass dates.
SNMP reads the loaded roll and 409s a mismatch instead of a blank label.
Author templates in the browser and hot-reload — no restart.
Every job recorded; replay any print with its original date.
A single rest_command turns voice or automation into a printed label.