Docker部署Cups-Web网页打印机
始
- 很难遇到的一个不错的打印机项目,毕竟cups单用的话太丑了,配合web端完美正解。
- 有需要可以自部署。
项目地址:hanxi/cups-web
功能特点:
核心功能
- 远程打印:随时随地通过网页上传文件进行打印
多格式支持:
- PDF 文档
- 图片文件(JPG、PNG、GIF)
- Office 文档(docx、xlsx、pptx 等)自动转换为 PDF(基于 LibreOffice)
- 文本文件(txt)自动转换为 PDF
用户管理
- 多用户系统:支持管理员和普通用户两种角色
打印记录:完整的打印历史记录
管理后台
- 用户管理:创建、编辑、删除用户账号
- 打印记录查询:按用户、时间范围查询打印记录
系统设置:配置数据保留天数等
安全特性
- Session 认证:安全的会话管理机制
- CSRF 保护:防止跨站请求伪造攻击
密码加密:使用 bcrypt 加密存储用户密码
部署优势
- Docker 一键部署:使用 Docker Compose 快速启动
- 数据持久化:数据库和上传文件独立存储
- 易于维护:简洁的配置和管理界面
Docker部署:
services:
cups:
image: docker.1ms.run/hanxi/cups:latest
user: root
environment:
- CUPSADMIN=${CUPSADMIN}
- CUPSPASSWORD=${CUPSPASSWORD}
ports:
- "631:631"
devices:
- /dev/bus/usb:/dev/bus/usb
volumes:
- ./.etc:/etc/cups
restart: unless-stopped
web:
image: docker.1ms.run/hanxi/cups-web:latest
user: root
environment:
- SESSION_HASH_KEY=${SESSION_HASH_KEY}
- SESSION_BLOCK_KEY=${SESSION_BLOCK_KEY}
- SESSION_SECURE=${SESSION_SECURE}
- CUPS_HOST=cups:631
volumes:
- ./.data:/data
- ./.uploads:/uploads
ports:
- "1180:8080"
depends_on:
- cups
restart: unless-stopped
环境配置
- CUPS 管理员账号(用于管理打印机)
CUPSADMIN=admin
CUPSPASSWORD=your_cups_password - 如果使用 HTTPS,设置为 true
SESSION_SECURE=false
必要配置
- SESSION_HASH_KEY=your_hash_key_here
- SESSION_BLOCK_KEY=your_block_key_here
- 这里需要生成安全的密钥,可以发给AI让帮忙生成,这里必须生成密钥,否者web服务无法登录:
- 生成 SESSION_HASH_KEY
openssl rand -base64 32 | tr -d '\n'
- 生成 SESSION_BLOCK_KEY
openssl rand -base64 32 | tr -d '\n'
- 上一篇: 松声|廿六年·三月末·花满城
- 下一篇: 松声|廿六年·四月中·桐花开


我孩子还没上学,估计后面也会买一个
哈哈 大概是需要的。
现在都搞docker了,都没什么好php程序了。
其实主要是方便
打印小孩子作业确实方便,赞!
确实很不错。
又学习到知识了。。我家的打印机是之前公司搬回来的,孩子的作业几乎每天都要用到,还是必备的,家里没打印机的只能去打印店去打印。。
可以尝试部署
曾经:PHP是这个世界上最伟大的语言!
现在:Docker是这个世界上最简单的程序!
长江后浪推前浪,前浪死在沙滩上/-\
的确简单
局域网使用,有扫描功能吗,现在局域网共享,可以打印,但是不能扫描
应该没有的。
这种的是需要打印机支持吧,我这里的打印发票的一台针式打印机一般的都不支持,还得安装驱动。我搞了太j180024小时开机来订单自动打印的
不清楚哈,可以试试驱动