The CUPS web UI is just for configuration. As long as the printer is shared, it should automatically show up in the printers list for any Linux PC on the same network.
Selfhosted
A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.
Rules:
-
Be civil.
-
No spam.
-
Posts are to be related to self-hosting.
-
Don't duplicate the full text of your blog or readme if you're providing a link.
-
Submission headline should match the article title.
-
No trolling.
-
Promotion posts require active participation, with an account that is at least 30 days old. F/LOSS without a paywall has exceptions, with requirements. See the rules link for details. Tags [CBH] or [AIP] are required, see the links in Rule 8 for details.
-
AI-related discussions and AI-involved promotional posts have additional requirements for tagging, as noted in Rule 7 and the AI & Promotional Post Expanded Rules post, and find example disclosures here.
Resources:
- selfh.st Newsletter and index of selfhosted software and apps
- awesome-selfhosted software
- awesome-sysadmin resources
- Self-Hosted Podcast from Jupiter Broadcasting
Any issues on the community? Report it using the report flag.
Questions? DM the mods!
The CUPS server should just work out of the box (not including printer setup) for Windows and Android as well. If the server you use is based on a recent-ish version from OpenPrinting (as it was on Debian 12, so about three years old), it should also work out of the box for iOS.
So, I'd just use Samba or whatever to share it too. It'll do a number of things better, like letting software render for an appropriate page size in the printer automatically.
However, OP is specifically trying to avoid using this route, because he's concerned about people having trouble with setting it up on their client devices, so he just wants to bypass all that and to have a Web UI where one uploads the document after it's been rendered to a PDF or similar.
Printing should be relatively easy nowadays
Hahahahahahahahahaha
I mean if you're making a statement that after decades of maturation this should be true, I wholeheartedly agree.
If the statement is of an observation of conditions today, oh, my sweet summer child.
Even commercial, enterprise-targeted stuff is junk today (looking at you Sharp, with your supposed LDAP-capable crap that just decides to lose it's fucking mind for no reason).
Neat idea you've put together though!
CUPS didn’t work for me as I can’t see an upload option on the web UI.
And you won't. For the purpose of printing, CUPS is a print server, not a web front-end. It facilitates communication between client devices and downstream printers through a unified open protocol that isn't manufacturer-dependent.
Printing is implemented through IPP, which is an HTTP-based protocol. You have to add the URL of the printer as it appears on the web UI (e.g. https://print.mydomain.net/printers/PRINTER_NAME) as a printer in the client device's printer manager. It's plug-and-play on Linux and Mac, and needs a driver (even if it's the generic PostScript driver) on Windows.
I have always used cups and never had problems with what you are talking about, however using the web ui is relatively new to me. SANE I have always had issues with no matter the UI I use.
Op want to upload a file to a web GUI and print it from there, not share printers with other computer/ devices.
Also, scanservejs is the the sane web GUI to actually do the same with scanner.
For scanning it make sense as there are no shared scanning solutions across platforms. For printing, it's of little use as other pointed out you can print to cups from anything basically.
But o get the need for a web printing page, as uploading a file and hit print button is a zero setup, and while simple even remote cups printing is not 0% extra setup, you have at the very least to select a printer or hit "share as" and select a print service (android). YMMV
Attach document to an email and send it to a dedicated mailbox, and set such to automatically send the attachments for printing. No need to setup any UI other that your email client.
CUPS didn't work for me as I can't see an upload option on the web UI.
CUPS is really intended as the backend. Whatever software you run will talk to CUPS.
I've never used it, but Savapage appears to be such a frontend.
EDIT: It may be more elaborate than what you want. It looks like this thing is capable of being set up to run a commercial printing service. It can probably also do what you want, but it's going to have a lot of functionality that you wouldn't use if you're just running an unauthenticated, anyone-can-use-it system.
I've tried it. The UI is quite convoluted. With a fair bit of effort it does the job though, but it's far behind SANE in usability.
I use SANE for scanning.
- install
sane-utils - configure
/etc/sane.d/saned.conf, list the IP adresses or network allowed to connect - start
saned.socket
on your client (linux desktop)
- add the SANE server IP to to the config
echo "192.168.xx.xx" > /etc/sane.d/net.conf - list the scanners
scanimage -L
The scanner is also automatically listed in scanning utilities like simple-scan etc. Don't know about phones or other devices, I assume there are scanner auto-discovery utilities; phones also have cameras so thy can scan on their own. I don't know about Web UIs, why not just use native printing/scanning features of guest devices?
This won't work for Android windows and such devices. And it's a pain to setup, won't work 100% and some scanners are ven worse .
Scanservejs is the final solution for all platforms.
This. The goal is to have guests and family able to scan from whatever device, not from my huge linux gaming rig 😂. This one works already. And as said, point is covered, now I need the same for printing.
For document scanning I use this https://f-droid.org/en/packages/org.fairscan.app/ directly on the phone, works well even with a shitty camera.
I never had the need to print from android but I found this https://f-droid.org/en/packages/io.github.benoitduffez.cupsprint/, it might work.
Scanservejs looks nice but one more service to maintain and secure. I guess I'm a minimalist.
No cups does not print from web UI, it's only for management. Cups is used to install a d manage the printer, all your computers can then print over the network using cups, but they still need to configure the (remote cups) printer locally.
I've put my printer on the guest network.
I use scanservejs since at least one year and can confirm it's the best.
As for printing, I went down the same rabbit hole and had zero luck. Seems such a stupid thing yet nobody created such a service, except for a couple of commercial ones.
So yeah, if you find something ...
By the way, probably creating a simple web interface that accepts uploads and pipe to lpr is pretty easy to do, but I didn't got around to do it. Printing feels.... Outdated. And printing from computer or android is so easy anyway that probably useless.