Introduction

Despite the push toward paperless offices, printing remains an essential service in most organizations. Whether you’re running a small office, a school, or a home lab, a reliable print server infrastructure ensures that users can print from any device without manually installing drivers or managing direct USB connections.

In this guide, we compare four self-hosted print server solutions: CUPS (the industry-standard Unix printing system), IPP Everywhere (driverless printing via standard protocols), Samba Print Sharing (Windows network integration), and PaperCut NG (print management and accounting). Each serves a distinct role in a complete print infrastructure stack.

FeatureCUPSIPP EverywhereSamba PrintingPaperCut NG
Primary RolePrint spooler & schedulerDriverless printing protocolWindows print sharingPrint management & quotas
LicenseApache 2.0Open standard (IETF)GPLv3AGPLv3
Driver Support1000+ printer driversDriverless (PDF/JPEG)Pass-through to CUPSCUPS integration
Web InterfaceBuilt-in (port 631)Via CUPS web UINone (CLI-based)Full web dashboard
User AuthenticationBasic/LDAP/PAMVia CUPSKerberos/NTLMLDAP/AD/OAuth
Print QuotasVia quota backendNoNoFull quota system
AirPrint SupportVia avahi-daemonNativeVia CUPS + AvahiYes
Docker SupportYes (linuxserver/cups)Built into CUPS 2.2+Via Samba containerOfficial Docker images

CUPS: The Print Spooler Foundation

CUPS (Common Unix Printing System) is the de facto standard for print serving on Linux and Unix systems. Originally developed by Apple, CUPS handles print job queuing, scheduling, filtering, and communication with printer hardware.

CUPS Docker Deployment

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
version: "3.8"
services:
  cups:
    image: cupsd/cupsd:latest
    container_name: cups-server
    ports:
      - "631:631"
    volumes:
      - cups-config:/etc/cups
      - cups-spool:/var/spool/cups
      - /var/run/dbus:/var/run/dbus
    environment:
      - CUPSADMIN=admin
      - CUPSPASSWORD=changeme
    restart: unless-stopped

volumes:
  cups-config:
  cups-spool:

CUPS Installation and Configuration

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
# Install CUPS on Debian/Ubuntu
sudo apt update && sudo apt install cups cups-client cups-bsd -y

# Enable and start the service
sudo systemctl enable --now cups

# Allow remote administration
sudo cupsctl --remote-admin --remote-any --share-printers

# Add allowed users to lpadmin group
sudo usermod -aG lpadmin $USER

The CUPS web interface at https://server:631 provides printer discovery, configuration, and job management. CUPS supports over 1,000 printer models through its PPD (PostScript Printer Description) driver system, making it compatible with virtually any printer on the market.

CUPS also includes Bonjour/mDNS support via Avahi for automatic printer discovery on local networks. When combined with cups-browsed, CUPS can automatically discover and configure network printers without manual intervention, dramatically reducing setup time in environments with dozens of printers.

IPP Everywhere: Driverless Printing Standard

IPP Everywhere is an IETF standard (RFC 8011) that enables driverless printing using the Internet Printing Protocol. Modern printers that support AirPrint, Mopria, or Wi-Fi Direct typically support IPP Everywhere out of the box.

1
2
3
4
5
6
7
8
# Enable IPP Everywhere support in CUPS (CUPS 2.2+)
sudo apt install cups-ipp-utils -y

# Check if a printer supports IPP Everywhere
ipptool -tv ipp://printer-ip:631/ipp/print get-printer-attributes.test

# Add an IPP Everywhere printer
lpadmin -p OfficePrinter -E -v ipp://192.168.1.100/ipp/print -m everywhere

The key advantage of IPP Everywhere is zero driver management. Clients send PDF, JPEG, or PWG Raster documents directly to the printer, which handles rendering internally. This eliminates the need for vendor-specific drivers and ensures consistent output across different client operating systems — a document printed from Linux, macOS, and Windows will look identical.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
# IPP Everywhere printer with CUPS + Avahi for AirPrint
version: "3.8"
services:
  airprint:
    image: chrisdaish/airprint-bridge:latest
    container_name: airprint-bridge
    network_mode: host
    environment:
      - CUPS_SERVER=cups-server:631
      - AIRPRINT_NAME=Office AirPrint
    restart: unless-stopped

Samba Print Sharing: Windows Integration

For environments with Windows clients, Samba provides seamless print sharing by exposing CUPS printers as Windows network shares. Samba handles authentication via Active Directory, NT LAN Manager (NTLM), or local credentials, providing a native Windows printing experience.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
version: "3.8"
services:
  samba-print:
    image: dperson/samba:latest
    container_name: samba-print
    network_mode: host
    cap_add:
      - NET_ADMIN
    volumes:
      - /var/run/cups/cups.sock:/var/run/cups/cups.sock
    environment:
      - USERID=1000
      - GROUPID=1000
      - TZ=America/Chicago
    command: >
      -s "PrintServer;/shared;yes;no;no;all;none"
      -p
    restart: unless-stopped
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
# Samba configuration for CUPS integration (/etc/samba/smb.conf)
[global]
  printing = cups
  printcap name = cups
  load printers = yes

[printers]
  comment = All Printers
  path = /var/spool/samba
  printable = yes
  guest ok = yes
  browseable = yes

Samba’s print sharing uses the Point and Print mechanism to automatically download printer drivers to Windows clients. Administrators upload drivers once to the Samba server, and Windows workstations automatically install them when connecting to the shared printer. This eliminates manual driver installation for each workstation.

PaperCut NG: Print Management and Accounting

PaperCut NG adds enterprise-grade print management features: user quotas, cost tracking, secure release printing, and environmental reporting. The free community edition supports up to 5 users while the full version scales to thousands.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
version: "3.8"
services:
  papercut:
    image: papercut/papercut-ng:latest
    container_name: papercut
    ports:
      - "9191:9191"
      - "9192:9192"
    volumes:
      - papercut-data:/home/papercut/server/data
    environment:
      - PAPERCUT_ADMIN_PASSWORD=changeme
    restart: unless-stopped

volumes:
  papercut-data:

PaperCut’s integration with CUPS allows it to intercept print jobs, apply policies (duplex enforcement, grayscale-only for certain users), and track usage per department or cost center. The web-based admin dashboard provides real-time print analytics and environmental impact reports showing trees saved and CO2 reduced.

Building a Complete Print Infrastructure

A production-ready print infrastructure typically combines all four components in layers:

  1. Layer 1 — CUPS: Handles print spooling, queuing, and printer hardware communication
  2. Layer 2 — IPP Everywhere: Enables driverless printing for modern printers and mobile devices (iOS/macOS AirPrint)
  3. Layer 3 — Samba: Exposes printers to Windows clients via native SMB/CIFS protocols
  4. Layer 4 — PaperCut NG: Adds management, quotas, cost accounting, and reporting
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
# Verify the complete stack is operational
# Check CUPS printer list
lpstat -p -d

# Check IPP Everywhere support
ippfind

# Check Samba printer shares
smbclient -L localhost -N

# Verify PaperCut web interface
curl -sI http://localhost:9191/app | head -1

Why Self-Host Your Print Server Infrastructure?

Running your own print server infrastructure gives you complete control over your printing environment. Unlike cloud-based printing services that route your documents through third-party servers, self-hosted print servers keep all documents within your local network. This is critical for organizations handling sensitive documents, legal contracts, or medical records subject to compliance regulations like HIPAA or GDPR. Every print job stays on your hardware, under your encryption policies.

Cost savings are another significant advantage. Cloud printing services typically charge per-page fees that add up quickly in high-volume environments. A self-hosted CUPS server with PaperCut’s free community edition provides enterprise-grade print management at zero recurring cost. For organizations with 50 or more employees printing hundreds of pages daily, self-hosting can save thousands of dollars annually compared to managed print services or cloud solutions.

Self-hosted print servers also eliminate vendor lock-in entirely. With CUPS and IPP Everywhere, you are not tied to any specific printer manufacturer’s cloud platform. You can mix and match printers from different vendors — HP, Brother, Canon, Xerox — without changing your infrastructure. When a manufacturer discontinues their cloud printing service (as several have in recent years), your printers continue working normally because they are managed locally through open protocols.

For document management integration, see our self-hosted document management guide. If you are building a complete office infrastructure, our Samba vs NFS vs WebDAV comparison covers network file sharing options that complement print serving. For storage infrastructure planning, our ZFS management web UIs guide is also relevant.

FAQ

Can I run a print server on a Raspberry Pi?

Yes — CUPS runs excellently on a Raspberry Pi. A Raspberry Pi 3 or newer can handle a small office of 10 to 20 users without performance issues. Install Raspberry Pi OS Lite, add CUPS, and connect the printer via USB or network. For larger deployments with 50 or more users, consider a dedicated x86 server with more RAM and CPU cores.

How do I enable AirPrint for iOS devices?

AirPrint requires three components working together: a CUPS server sharing an IPP Everywhere printer, Avahi (Bonjour/mDNS) advertising the printer on the local network, and the printer supporting PDF or image/urf raster format. The avahi-daemon package enables automatic discovery. For printers without native AirPrint support, use the airprint-bridge Docker container to proxy the connection and translate between AirPrint and CUPS.

What is the difference between CUPS and IPP Everywhere?

CUPS is the print server software that manages queues, scheduling, and drivers. IPP Everywhere is a protocol standard that CUPS implements starting from version 2.2. Think of CUPS as the engine that runs the show, and IPP Everywhere as one of the fuel types it supports. You use CUPS to manage all your printers, and you configure IPP Everywhere support within CUPS for driverless printing on compatible printers.

Can PaperCut NG handle multiple printers with different quota policies?

Yes. PaperCut NG supports per-printer cost settings, per-user quotas, and group-based policies. You can set different page costs for color versus monochrome printers, enforce duplex (double-sided) printing on specific printers to save paper, and restrict high-cost color printers to certain user groups or departments.

Does Samba print sharing work with Windows 11?

Yes — Samba 4.x fully supports Windows 10 and Windows 11 clients using the SMB3 protocol. For Windows 11 24H2 and later versions, ensure SMB signing requirements are compatible with your Samba configuration, as Microsoft has tightened default security settings in recent updates. Test with smbclient from the server side to verify connectivity.

How do I secure the CUPS web interface for production use?

By default, CUPS listens on all network interfaces, which is a security risk. For production deployments: restrict the Listen directive to localhost:631 in /etc/cups/cupsd.conf and use a reverse proxy like Nginx or Caddy for remote access, enable HTTPS with a valid TLS certificate, configure PAM or LDAP authentication instead of basic auth, and use firewall rules (iptables/nftables) to limit access to trusted subnets only.


Test your market judgment with Polymarket — the world’s largest prediction market platform. From election results to technology regulation timelines, you can bet on anything. Unlike gambling, this is a true information market: the more you know, the higher your win rate. I have made substantial gains predicting technology-related events. Sign up with my referral link: Polymarket.com