Giter Club home page Giter Club logo

docker-cups-epson's Introduction

CUPS-docker

Run a CUPS print server on a remote machine to share USB printers over WiFi. Built primarily to use with Raspberry Pis as a headless server, but there is no reason this wouldn't work on amd64 machines. Tested and confirmed working on a Raspberry Pi 3B+ (arm/v7) and Raspberry Pi 4 (arm64/v8).

Container packages available from Docker Hub and Github Container Registry (ghcr.io)

  • Docker Hub Image: anujdatar/cups
  • GHCR Image: ghcr.io/anujdatar/cups

Usage

Quick start with default parameters

docker run -d -p 631:631 --device /dev/bus/usb --name cups anujdatar/cups

Customizing your container

docker run -d --name cups \
    --restart unless-stopped \
    -p 631:631 \
    --device /dev/bus/usb \
    -e CUPSADMIN=batman \
    -e CUPSPASSWORD=batcave_password \
    -e TZ="America/Gotham" \
    -v <persistent-config-folder>:/etc/cups \
    anujdatar/cups

Note: :P make sure you use valid TZ string, this is just a joke. Also changing the default username and password is highly recommended.

Parameters and defaults

  • port -> default cups network port 631:631. Change not recommended unless you know what you're doing
  • device -> used to give docker access to USB printer. Default passes the whole USB bus /dev/bus/usb, in case you change the USB port on your device later. change to specific USB port if it will always be fixed, for eg. /dev/bus/usb/001/005.

Optional parameters

  • name -> whatever you want to call your docker image. using cups in the example above.
  • volume -> adds a persistent volume for CUPS config files if you need to migrate or start a new container with the same settings

Environment variables that can be changed to suit your needs, use the -e tag

# Parameter Default Type Description
1 TZ "America/New_York" string Time zone of your server
2 CUPSADMIN admin string Name of the admin user for server
3 CUPSPASSWORD password string Password for server admin

docker-compose

version: "3"
services:
    cups:
        image: anujdatar/cups
        container_name: cups
        restart: unless-stopped
        ports:
            - "631:631"
        devices:
            - /dev/bus/usb:/dev/bus/usb
        environment:
            - CUPSADMIN=batman
            - CUPSPASSWORD=batcave_password
            - TZ="America/Gotham"
        volumes:
            - <persistent-config-path>:/etc/cups

Server Administration

You should now be able to access CUPS admin server using the IP address of your headless computer/server http://192.168.xxx.xxx:631, or whatever. If your server has avahi-daemon/mdns running you can use the hostname, http://printer.local:631. (IP and hostname will vary, these are just examples)

If you are running this on your PC, i.e. not on a headless server, you should be able to log in on http://localhost:631

Thanks

Based on the work done by RagingTiger: https://github.com/RagingTiger/cups-airprint

docker-cups-epson's People

Contributors

anujdatar avatar help-14 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.