Open source print management with badge release. Users print to one shared queue, and their jobs wait on the server until they walk up to any printer and release them there. Nothing sits in the output tray for someone else to pick up.
Status: early development. Print → hold → release works end to end against a real printer, from the tray app or by tapping a badge at a release station. Expect breaking changes.
Windows 11 / Linux PC TapQueue server (Linux) At the printer
┌─────────────────────┐ IPP ┌─────────────────────────────┐ ┌──────────────────┐
│ "TapQueue Secure │ ───────▶ │ Holds jobs per user │ badge │ Release station │
│ Print" printer │ │ Users, sessions, printers │ ◀───── │ (card reader) │
│ (built-in driver) │ │ Releases to the printer │ │ │
│ TapQueue tray app │ ◀──────▶ │ │ IPP ┌──────────┐
└─────────────────────┘ REST └─────────────────────────────┘ ─────▶ │ Printer │
└──────────┘
| Component | Runs on | |
|---|---|---|
| tapqueue-server | Linux | IPP hold queue, REST API, releases jobs to printers |
| tapqueue-admin | Linux | Command-line admin tool |
| tapqueue-station | Linux | Release station: a USB badge reader next to a printer; a tap releases your jobs |
| TapQueue client | Windows 11, Linux desktops | Tray app (signs you in, shows held jobs) and a service that adds the printer and installs updates pushed from the server |
Download them from Releases: TapQueue_client_X.Y.Z.exe
for Windows PCs (client-v releases); the server, station and Linux client install with one command:
curl -fsSL https://raw.githubusercontent.com/jthy10/TapQueue/main/install.sh | sudo bash -s server # or: station, client- The server looks like an ordinary network printer. Windows 11 prints to it with its built-in IPP driver and Linux with CUPS's driverless IPP Everywhere support, so there's nothing to install on the PC but the TapQueue client.
- Jobs are held, not printed. The server keeps the document and the print options chosen.
- The job is matched to a person through the tray app, which is signed in on the PC the job came from. Each PC's printers carry a key, and the PC's TapQueue service vouches for which PC user runs each tray app, so this works on terminal servers and behind NAT too. The username inside a print job is easy to fake, so it isn't trusted on its own.
- The user releases it at a printer by tapping their badge at the release station next to it, or from the tray app.
- Unreleased jobs expire after 24 hours (configurable) and are deleted.
More in how TapQueue works, including how jobs are matched to people.
- Install the server, then add a queue, your printers and users.
- Install the client on each PC: Windows or Linux.
- Set up a release station next to each printer and enroll badges.
Reference: admin console · TLS · backups · reports · admin sign-in and roles · admin CLI · Active Directory sync · changelogs: server and station, clients · development · releasing
- IPP hold queue that Windows 11 can print to with no driver install
- Hold jobs per user; release to a physical printer over IPP, keeping print options
- Windows tray client configured by a file
- Admin CLI
- Release station: Linux service for a USB badge reader next to each printer
- Badge enrollment by an admin (tap, then
badges add --last-tap) - Queues and printers managed without restarting the server
- Versioned releases with prebuilt archives and an install script
- Windows installer; client updates pushed from the server
- One-command server and station installs from GitHub
- Web admin console
- Page counting and quotas
- Printer health monitoring (state, problems, toner levels)
- Admin sign-in and roles (SSO later)
- Active Directory sync (Entra ID later)
- TLS for client and IPP connections
- Per-job identity instead of IP-based ownership
- Feedback at the printer (screen or status light) for "nothing to print" and errors
- Reports: pages by person, group, printer and period, with CSV export
- Follow-me printing and cost accounting
- Self-service badge enrollment from the tray app
- Database backups and restore
- Email notifications for printer problems, offline stations and crashes (webhooks later)
- Signed Windows builds; .deb packages; ARM builds for small release devices
The full list, with what each item means, is in docs/roadmap.md.
GNU Affero General Public License v3.0. You're free to use, study, modify and share TapQueue. If you run a modified version for others, including as a hosted service, you must publish your changes under the same license.