NS8 Print Server

Is print server functionality coming to NS8?

1 Like

I don’t know what the plans are regarding features, etc of the devs are. However, that’s a somewhat nebulous question. When you say printserver, do you mean for Macs, Linux & Other Unix, or Windows? or some combination of all of them?

Printservers for Mac, Linux, *BSD, and probably most of the modern Illumos groups just works. Use CUPS - it’s included in every modern Linux distribution.

For Windows, you’ll need to use a Samba Share to host printer drivers, and just use the Samba<->CUPS integration to provide printers to Windows the ‘old’ SMB way, or… if you are capable, provide windows the address to the CUPS server and just utilize it like that.

anyway, running a printserver today really is rather wrote. just get it done, the software is ready, and it’s now just a matter of configuration.

my understanding is that, NEthserver 8 should reach feature parity with nethserver 7.
In relation to addiitonal components like these ones, we will have to wait till final release, then the priority modules are implemented.

In my understand this should be a core module

If a serious printsolution is wanted, I would strongly recommend to look at SavaPage (again)

3 Likes

if you can follow these instructions, NS8-Generic Containers-: Install Uptime-kuma - Howto - NethServer Community
and modify them using the below command

using this command

docker run -d --name savapage -v /var/run/dbus:/var/run/dbus --privileged -v /sys/fs/cgroup:/sys/fs/cgroup:ro --net=host -p 8631:8631 -p 8632:8632 -p 9100:9100 -p 631:631 savapage amrhegazy/savapage

from here: amrhegazy/savapage - Docker Image | Docker Hub

i guess you should be able to install it on your server. the image is old, but so is the official repo

SavaPage / savapage-server · GitLab

A more complex angle would be to use this implementation by @mrmarkuz to implement an NS8 module

nethserver-savapage/nethserver-savapage.spec at master · mrmarkuz/nethserver-savapage (github.com)

2 Likes

to each their own. I’ll use CUPS since it’s also a serious printserver. I’m not going to put down your choice as inferior because I’ve never used it. That said the implication that CUPS is somehow not as good as the serious solution of savapage, that’s incorrect. CUPS is used in fortune 100 companies all the way down to households with single printer and just a couple PCs. Moreover, it’s been a savior for me in a 96 bed hospital with 2k+ employees, 500 different printers, etc. Clustered CUPS, authenticated from Active Direcotry. Yes, it’s a solid and serious solution. This was back in 2007. It’s got some history and been doing a good job for quite some time.

CUPS ==> Common UNIX Printing System.

It’s an excellent choice.

2 Likes

A bit off-topic, but SavaPage is a management module on top of CUPS. It makes it possible to add several management options for the printers in your network.

4 Likes

After 3 years from this topic and NS8 still without any print server official solution.

Anyone has successfully install and integrate a print server with NS8?

*UPDATE*: I've now done some prelimary tests and have setup a printer and printed a testpage.

A basic cups server

can be accomplished using the following method (please note that I haven’t thoroughly checked this is persistent but it did survive restarting the container atleast)

Create Scratchpad take note of the number at the end

on terminal issue the following commands (obviously edit for your requirements)

  1. runagent -m scratchpad1 bash -l

  2. podman run --replace --name cups --restart unless-stopped -p 2631:631 -v $(mktemp -d):/services:Z -v $(mktemp -d):/config:Z -e CUPSADMIN=admin -e CUPSPASSWORD=PASSWORD -e TZ="Australia/Brisbane" chuckcharlie/cups-avahi-airprint:latest
    podman run --replace --name cups --restart unless-stopped -p 2631:631 --device /dev/bus -v $(mktemp -d):/services:Z -v $(mktemp -d):/config:Z -e CUPSADMIN=admin -e CUPSPASSWORD=PASSWORD -e TZ="Country/City" docker.io/chuckcharlie/cups-avahi-airprint:latest

Then configure the http routes in NS8 Settings to point
[http://127.0.0.1:2631/][cups.domain.tld]
also enable both the [Request Let's Encrypt certificate] and [HTTP to HTTPS] options.

Now you should be able to go to https://cups.domain.tld in your web browser and go to administration.

[Login Details]

User: admin 
Password: password
2 Likes

HEllo sir, thank you for the validation fo the case.

These instructions, for most users as provided by you, assume several things.

could you begin from the beginning kindly.

Your completely right in saying that I’ll try to come up with a small how to that explains it in more detail but for now this should setup cups with https using the docker image chuckcharlie/cups-avahi-airprint which has a lot of drivers (unfortunately not my printer) and sets up AirPrint I didn’t have much time to play with it but let’s say it’s a start for now

1 Like

This Mini How-to taken from GitHub - chuckcharlie/cups-avahi-airprint: Docker image for CUPS intended as an AirPrint relay and modified for purpose

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
TZ is your timezone
Use the latest or version# tags to auto choose the right architecture.

Ports/Network:

2631:631
or
--net=host

Example run commands

Without Airprint functionality (tested)

podman run --replace --name cups --restart unless-stopped -p 2631:631 --device /dev/bus -v $(mktemp -d):/services:Z -v $(mktemp -d):/config:Z -e CUPSADMIN=admin -e CUPSPASSWORD=PASSWORD -e TZ="Country/City" docker.io/chuckcharlie/cups-avahi-airprint:latest

With Airprint functionality (Untested) *Please Note: Must be run on host network to support multicasting which is needed for Airprint.

podman run --replace --name cups --restart unless-stopped --net=host --device /dev/bus -v $(mktemp -d):/services:Z -v $(mktemp -d):/config:Z -e CUPSADMIN=admin -e CUPSPASSWORD=PASSWORD -e TZ="Country/City" docker.io/chuckcharlie/cups-avahi-airprint:latest

Add and set up printer:

CUPS will be configurable at https://cups.domain.tld 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.