Print Daemon 0.1.0

License

Print Daemon is licensed per installation with a license key: one line of text (PD2.<payload>.<signature>) that says who it is licensed to, until when, and for how many installations. It is checked offline with a digital signature: nothing is sent anywhere, so it works in networks without internet access.

The license covers printing: the queue consumers, test prints and dead-letter re-sends.

Licenses at a glance#

Production license Evaluation (trial) license
Comes with the key you receive when you buy the download (bundled), or a trial key from us
Expiry always has an expiry date the bundled one expires; a trial key from us may have an end date
Printed output unchanged unchanged: printed output is never marked
Shown as Licensed TRIAL banner in the admin UI; Trial on the Status page and in print-daemon license
After expiry printing is paused (no grace period) the same

Your key also states the number of installations it covers. Each daemon shows its installation id on the Status page and in print-daemon license; keep the number of daemons you run within your license (it is part of the license terms, not a technical limit). Set PRINT_DAEMON_INSTANCE_ID if you want a fixed id.

How to get a license#

Email support@insanelab.dev with:

We reply with your license key: one line of text that starts with PD2., valid through its expiry date. Install it as described in Install your license.

Renewals#

Ask for a renewed key before your license expires; the Status page shows the expiry date and the days left. Install the new key the same way: nothing else changes. There is no grace period, so renew in time (see Without a valid license).

Changes#

More installations or a new company name need a new key. Email us with your license id (shown on the Status page) and the change, and install the new key.

Lost key#

Email us your company name and, if you have it, the license id from the Status page. We keep a record of every key we issue.

The evaluation license#

A release includes an evaluation (trial) license, so the daemon prints right away. The evaluation license expires. While a trial license is in use, the admin UI shows a TRIAL banner, and the Status page and print-daemon license say Trial. Labels and documents print exactly as they would with a production license.

Install your license#

Install the key in one of these ways. The daemon checks its license sources every minute, so a key installed in the home directory takes effect without a restart: printing resumes on its own within a minute.

The daemon uses the first one that is set, in this order:

  1. LICENSE_KEY
  2. LICENSE_FILE
  3. <home>/license (written by license install and the License tab)
  4. the release's bundled evaluation license

As soon as one of the first three is set, that license decides, and the evaluation license is no longer used, also when the configured key is expired or not valid. If LICENSE_KEY or LICENSE_FILE is set, it takes precedence over a key installed in the home directory (license install warns about this).

The Status page (and GET /v1/info) shows the license in use: where it comes from (bundled evaluation license or configured license), whether it is a trial, the licensee, license id, expiry date and days left, the number of installations, and this installation's id. The daemon also logs one line about the license when it starts, and one whenever its status changes.

Without a valid license#

A license works through the end of its expiry date (UTC). There is no grace period: from the next day on, printing is paused until you install a renewed key. The same happens at once when no key is installed or the configured key is not valid (mistyped, truncated, or a LICENSE_FILE that cannot be read).

While printing is paused:

code When
license_required No license key is installed, or the configured key is not valid (the reason is in the daemon log)
license_expired The license expired (after the end of its expiry day, UTC)
product_not_licensed The license does not include print-daemon

Example 402 body:

json
{"error":"The license of this print daemon expired on 2027-10-31, so printing (the print queues, test prints and dead-letter re-sends) is paused. Install a renewed license key with `print-daemon license install <file>` (or LICENSE_KEY / LICENSE_FILE and a restart); printing resumes on its own.","code":"license_expired"}

When you install a valid key, printing resumes on its own within a minute (after a restart if you use LICENSE_KEY or LICENSE_FILE).

Before the expiry date there are no warnings in the printed output: check the Status page or GET /v1/info (license.daysLeft) in your monitoring, and renew in time.

Questions#