Docker kullanarak herhangi bir yazıcıya AirPrint ve Mopria (Android) desteği eklemeyi gösteriyorum.
Artık iPhone, iPad veya Android telefonunuzdan direkt olarak kablosuz yazdırma yapabilirsiniz!
Ben bu kurulumu Synology NAS üzerinde yaptım ama aynı adımlar Raspberry Pi, Ubuntu veya başka bir Linux sistemde de geçerli.

Benim evde kullandığım yazıcı Epson L3150, bir ağ yazıcısı USB kablosu ile bağlı değil. Eğer sizin yazıcınız USB kablo ile çalışıyor ise Synology NAS’a yada Raspberry Pi cihazına kablo ile bağlayıp da işlemleri yapabilirsiniz. Aşağıdaki adımları uygulayarak kuruluma başlayalım. Haydi şimdi Epson L3150 yazıcıya airprint ile kullanalım 🙂

Öncelikle Docker dizini altında cups dizini oluşturup içerisinde de config, logs ve services dizinlerini oluşturalım.

Container Maneger ile yeni bir proje oluşturalım ve aşağıdaki kodları kaynak bölümüne yapıştırın. siz kendinize göre PUID, PGID ve yarattığınız dizinlerin yollarını özelleştirip yapmayı unutmayın. cihazınız UID ve GID’i bulmak için ssh ile oturum açarak aşağıdaki komutu yazmanız yeterli.

BASH
id
YAML
version: "3.8"
services:
  cups-airprint:
    image: chuckcharlie/cups-avahi-airprint:latest
    container_name: cups-airprint
    hostname: cups-airprint
    restart: unless-stopped
    network_mode: "host"
    privileged: true
    environment:
      # Daha önce bulduğunuz PUID/PGID değerleriniz
      - PUID=1026 
      - PGID=100
      - TZ=Europe/Istanbul
      - CUPSADMIN=admin
      # Lütfen bu şifreyi değiştirin
      - CUPSPASSWORD=123
      - AIRPRINT_ENABLED=true
      - AVAHI_NAME=Epson-L3151-AirPrint
    volumes:
      # Synology'deki 'config' klasörünü, container'ın 'config' klasörüne bağlıyoruz.
      - /volume1/docker/cups/config:/config   
      # Logları saklamak için (Önce 'logs' klasörünü oluşturun)
      - /volume1/docker/cups/logs:/var/log/cups     
      # AirPrint'in çalışması için zorunlu Avahi paylaşımı
      - /volume1/docker/cups/services:/etc/avahi/services      
      # Sistem iletişimi için gerekli
      - /var/run/dbus:/var/run/dbus

Yukarıda ki kodları da kaynak kısmına yapıştırdıktan sonra ileri ve bitir ile deploy edelim. konteyner çalıştıktan sonra web tarayıcınızdan http://NASIP:631 adresine girin. üst menüden Admin linkine tıklayarak yazıcımızı eklemeye başlayalım.

şifre istediğinde compose kodlarında yer alan CUPSADMIN=admin CUPSPASSWORD=123 belirlediğiniz şifre ile giriş yapın.

Yazıcılar altında Find New Printer butonuna bastığında ağınızda yer alan yazıcıları bulmaya çalışacak. Listeden yazıcınızı seçip devam edebiliriniz.

Yazıcı ekle dedikten sonra en altta Share This Printer kutucuğu pasif gelir bu aktif hale getirin. diğer alanlarda herhangi bir değişiklik yapmanıza gerek yok. Continue ile devam edelim.

yazıcınızın driveri yüklemek için marka modeli seçin. yada elinizde linux driveri PPD formatında mevcut ise onu ekleyin ve Add Printer ile devam edin.

Sizinde yazıcınız benimki gibi bir ağ yazıcısı ise eklediğiniz yazıcıda bir kaç değişiklik yapmalıyız. bunun için üst menüden Printers tıklayın ve açılan sayfadan az önce eklediğiniz yazıcıya girin.

Administration altında modify printer tıklayayın.

Açılan menuden AppSocket/HP JetDirect seçip contiune ile devam edin.

Yazıcınızın ip adresini socket://PRINTER-IP-ADRES şeklinde yazıp continue ile son noktayı koyalım.

artık bilgisayar, tablet, android ve ios cihazlarınızdan hiç bir ek uygulamaya gerek kalmadan yazdırma işlemi yapabileceksiniz.