Skip to content

axolotlcloud/cups-avahi-airprint

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

146 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AirPrint Relay w/ CUPS and Avahi

Supports ARM64 and AMD64 and has support for foo2zjs!

Configuration

Volumes:

  • /config: where the persistent printer configs will be stored
  • /services: where the Avahi service files will be generated

Variables:

  • CUPSADMIN: the CUPS admin user you want created - default is CUPSADMIN if unspecified
  • CUPSPASSWORD: the password for the CUPS admin user - default is the same value as CUPSADMIN if unspecified

Ports/Network:

  • Must be run on host network. This is required to support multicasting which is needed for Airprint.

Example run command:

docker run --name cups --restart unless-stopped  --net host\
  -v <your services dir>:/services \
  -v <your config dir>:/config \
  -e CUPSADMIN="<username>" \
  -e CUPSPASSWORD="<password>" \
  ghcr.io/axolotlcloud/cups-avahi-airprint:latest

Example docker compose config:

services:
  airprint:
    image: ghcr.io/axolotlcloud/cups-avahi-airprint:latest
    container_name: cups
    network_mode: host
    volumes:
      - </your/services/dir>:/services
      - </your/config/dir>:/config
    environment:
      CUPSADMIN: "<YourAdminUsername>"
      CUPSPASSWORD: "<YourPassword>"
    restart: unless-stopped

Add and set up printer:

  • CUPS will be configurable at http://[host ip]:631 using the CUPSADMIN/CUPSPASSWORD.
  • Make sure you select Share This Printer when configuring the printer in CUPS.
  • After configuring your printer, you need to close the web browser for at least 60 seconds. CUPS will not write the config files until it detects the connection is closed for as long as a minute.

About

Container image for CUPS and Avahi for AirPrint relay

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • Python 59.0%
  • Shell 30.7%
  • Dockerfile 8.4%
  • HCL 1.9%