mirror of
https://github.com/nikdoof/cups-avahi-airprint.git
synced 2025-12-11 22:52:21 +00:00
2556fee1f3338136f63008a700d1425d36b16eaa
chuckcharlie/cups-airprint-brother
Fork from quadportnick/docker-cups-airprint
This Ubuntu-based Docker image runs a CUPS instance that is meant as an AirPrint relay for printers that are already on the network but not AirPrint capable. I am running this on CentOS. I forked the original to add support for my Brother MFC-7840w printer, and use the latest Ubuntu base.
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 createdCUPSPASSWORD: the password for the CUPS admin user
Ports:
631: the TCP port for CUPS must be exposed
Example run command:
docker run --name cups -p 631:631 --restart unless-stopped \
-v <your services dir>:/services \
-v <your config dir>:/config \
-v /var/run/dbus:/var/run/dbus \
-e CUPSADMIN="<username>" \
-e CUPSPASSWORD="<password>" \
chuckcharlie/cups-airprint-brother:latest
Add and set up printer:
CUPS will be configurable at http://[diskstation]:631 using the CUPSADMIN/CUPSPASSWORD.
Install avahi on local host:
yum install avahi
systemctl start avahi-daemon
systemctl enable avahi-daemon
This was the only way I was able to get /var/run/dbus to respond correctly in the container.
Notes
I had to run the airprint-generate.py script on the local host to get the avahi service file to generate.
python airprint-generate.py -H localhost -p 631 -u admin -d <your services dir>
Languages
Python
69.7%
Dockerfile
15.5%
Shell
14.8%