
这是一个功能完善的网页版打印机管理工具。它允许你通过浏览器远程控制打印机,支持多用户管理、打印记录追踪等功能,轻松实现家庭或小型办公室的打印管理需求。
|
文件上传 |
打印机 |
|
预览 |
管理后台 |
你可以选择以下两种方式部署:
bashmkdir cups-web cd cups-web
创建 docker-compose.yml 文件,内容如下:
yamlservices: 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: - CUPS_HOST=cups:631 volumes: - ./.data:/data - ./.uploads:/uploads ports: - "1180:8080" depends_on: - cups restart: unless-stopped
或者直接下载:
bashwget https://raw.githubusercontent.com/hanxi/cups-web/main/docker-compose.yml
创建 .env 文件并配置以下环境变量:
bash# CUPS 管理员账号(用于管理打印机) CUPSADMIN=admin CUPSPASSWORD=your_cups_password
bashdocker-compose up -d
访问 CUPS 管理界面配置打印机:
http://localhost:631
使用 .env 中配置的 CUPSADMIN 和 CUPSPASSWORD 登录,然后添加你的打印机。
提示:建议根据打印机型号安装合适的驱动程序。
打开浏览器访问:
http://localhost:1180
默认管理员账号:
adminadmin⚠️ 重要:首次登录后请立即修改默认密码!
如果你已经有 CUPS 服务运行,可以直接下载二进制文件运行 Web 服务。
从 https://github.com/hanxi/cups-web/releases 下载适合你平台的二进制文件:
| 平台 | 架构 | 文件名 |
|---|---|---|
| Linux | amd64 | cups-web-linux-amd64 |
| Linux | arm64 | cups-web-linux-arm64 |
| macOS | amd64 | cups-web-darwin-amd64 |
| macOS | arm64 | cups-web-darwin-arm64 |
| Windows | amd64 | cups-web-windows-amd64.exe |
bash# 示例:下载 Linux amd64 版本 wget https://github.com/hanxi/cups-web/releases/download/master/cups-web-linux-amd64 chmod +x cups-web-linux-amd64
二进制文件不会自动加载 .env 文件,你需要手动设置环境变量:
bash# CUPS 服务地址(必填) export CUPS_HOST=localhost:631 # 数据目录(可选,默认当前目录) export DB_PATH=./data/cups-web.db export UPLOAD_DIR=./uploads # 监听地址(可选,默认 :8080) export LISTEN_ADDR=:8080
或者使用 env 命令临时设置:
bashCUPS_HOST=localhost:631 DB_PATH=./data/cups-web.db ./cups-web-linux-amd64
bash./cups-web-linux-amd64
打开浏览器访问:
http://localhost:8080
默认管理员账号:
adminadmin⚠️ 重要:首次登录后请立即修改默认密码!
管理员(Admin)
普通用户(User)
支持的文件格式
| 格式类型 | 支持的扩展名 | 说明 |
|---|---|---|
.pdf | 直接打印 | |
| 图片 | .jpg, .jpeg, .png, .gif | 自动转换为 PDF |
| Office | .docx, .xlsx, .pptx, .doc, .xls, .ppt | 通过 LibreOffice 转换为 PDF |
| 文本 | .txt | 自动转换为 PDF |
打印流程
打印记录
用户可以查看自己的打印历史,包括:
用户管理
创建用户:
编辑用户:
删除用户:
打印记录查询
管理员可以:
系统设置
数据保留天数:
Web 服务配置
| 变量名 | 说明 | 默认值 | 必填 |
|---|---|---|---|
LISTEN_ADDR | Web 服务监听地址 | :8080 | 否 |
DB_PATH | SQLite 数据库文件路径 | /data/cups-web.db | 否 |
UPLOAD_DIR | 上传文件存储目录 | /uploads | 否 |
CUPS_HOST | CUPS 服务地址 | localhost | 否 |
CUPS 服务配置
| 变量名 | 说明 | 默认值 | 必填 |
|---|---|---|---|
CUPSADMIN | CUPS 管理员用户名 | - | 是 |
CUPSPASSWORD | CUPS 管理员密码 | - | 是 |
默认的 docker-compose.yml 配置:
631(用于管理打印机)1180(用于访问 Web 界面)./.data:数据库文件./.uploads:上传的文件./.etc:CUPS 配置文件如需修改端口,编辑 docker-compose.yml:
yamlservices: web: ports: - "你的端口:8080" # 修改左侧端口号
配置反向代理(如 Nginx)处理 HTTPS:
nginxserver { listen 443 ssl; server_name your-domain.com; ssl_certificate /path/to/cert.pem; ssl_certificate_key /path/to/key.pem; location / { proxy_pass http://localhost:1180; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } }
定期备份以下目录:
bash# 备份数据库 cp ./.data/cups-web.db /backup/location/ # 备份上传文件 tar -czf uploads-backup.tar.gz ./.uploads/ # 备份 CUPS 配置 tar -czf cups-config-backup.tar.gz ./.etc/
对于大量用户场景,建议:
docker exec 进入 CUPS 容器安装驱动如果忘记管理员密码,可以通过以下方式重置:
bash# 停止服务 docker-compose down # 删除数据库(会清空所有数据) rm ./.data/cups-web.db # 重新启动服务(会创建新的 admin/admin 账号) docker-compose up -d
docker-compose restart cups可能的原因:
解决方法:
bash# 查看 Web 服务日志 docker-compose logs -f web # 查看 CUPS 服务日志 docker-compose logs -f cups
查看 https://github.com/hanxi/cups-web/releases 了解版本更新历史。
欢迎提交 Issue 和 Pull Request!
本项目采用 MIT 许可证。详见 LICENSE 文件。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 版本下载页面。






探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务