Paperless-ngx:开源界的「数字档案室」——告别纸质,拥抱智能

发布时间:2026/5/27 21:27:49

Paperless-ngx:开源界的「数字档案室」——告别纸质,拥抱智能 一套自托管文档管理系统让 OCR 技术赋予你的扫描件「灵魂」实现全文检索与智能分类。 项目概览Paperless-ngx是一个开源的文档管理系统DMS通过OCR光学字符识别技术将物理文档转化为可搜索的数字档案。它由社区维护是已停止更新的 Paperless-ng 项目的官方继承者。项目属性详情开源协议MIT LicenseGitHub Stars~25,000Docker Hub 拉取量10M维护状态活跃社区驱动官方网站https://paperless-ngx.com✨ 核心价值为什么选择 Paperless-ngx传统痛点Paperless-ngx 解决方案 纸质文档堆积成山 数字化归档释放物理空间 手翻查找效率低下⚡ 全文 OCR 检索秒级定位️ 人工分类耗时耗力 ML 智能标签自动归类 商业 DMS 价格昂贵 完全免费自托管无订阅费 云存储隐私担忧️ 本地部署数据完全自主 核心功能文档处理能力功能模块技术实现说明OCR 文字提取Tesseract OCRmyPDF支持 100 语言从 PDF/图片中提取可搜索文本层智能分类机器学习模型根据文档内容自动建议标签、联系人、文档类型双文件消费原始文件 搜索 PDF保留原件同时生成带 OCR 层的可搜索 PDF组织管理体系元数据维度用途Tags标签灵活的层级标签系统如「财务/税务/发票」Correspondents联系人记录文档来源如「税务局」「电力公司」Document Types文档类型分类归档如「合同」「发票」「凭证」Custom Fields自定义字段扩展元数据满足特定业务需求Storage Paths存储路径自定义文件存储规则输入方式入口适用场景监控文件夹Consume Directory扫描仪自动投递、批量导入邮件采集自动导入指定邮箱的邮件附件Web 界面上传手动拖拽上传即时处理REST API程序化集成自动化流水线用户界面深色模式护眼主题仪表盘统计文档分布可视化✏️批量编辑多文档属性同时修改分享链接生成临时分享 URL响应式设计移动端友好️ 技术架构技术栈一览层级技术选型后端语言Python 3.10Web 框架Django Django REST Framework前端框架Angular 15TypeScriptUI 样式Bootstrap 5 Angular Material SCSS任务队列Celery Redis数据库SQLite开发/ PostgreSQL生产推荐搜索引擎Whoosh内嵌 Python 库OCR 引擎OCRmyPDF TesseractDocker 服务架构┌─────────────────────────────────────────────────────────────┐ │ Paperless-ngx 容器架构 │ ├─────────────────────────────────────────────────────────────┤ │ │ │ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │ │ │ Webserver │ │ Broker │ │ DB │ │ │ │ (Django │ │ (Redis) │ │ (PostgreSQL) │ │ │ │ Gunicorn) │ │ │ │ │ │ │ └──────┬───────┘ └──────┬───────┘ └──────┬───────┘ │ │ │ │ │ │ │ └──────────────────┼──────────────────┘ │ │ │ │ │ ┌──────────────┐ ┌──────────────┐ │ │ │ Gotenberg │ │ Tika │ ← 文档转换服务 │ │ │ (Office→PDF) │ │ (文本提取) │ │ │ └──────────────┘ └──────────────┘ │ │ │ │ ┌──────────────────────────────────────────────────────┐ │ │ │ Celery Workers │ │ │ │ (OCR 处理 | 缩略图生成 | 搜索索引 | 定时任务) │ │ │ └──────────────────────────────────────────────────────┘ │ │ │ └─────────────────────────────────────────────────────────────┘OCR 处理流水线文档上传 ↓ 预处理图像清洁、倾斜校正 ↓ OCRmyPDF Tesseract ↓ 添加文本层到 PDF ↓ Whoosh 全文索引 ↓ 可搜索文档入库API 设计特性实现API 类型RESTful API文档规范OpenAPI Schema交互式文档Swagger UI/swagger/认证方式API Token用户配置页生成核心端点/api/documents/— 文档 CRUD/api/tags/— 标签管理/api/search/— 全文检索/api/tasks/— 后台任务状态 安装部署部署方式Docker Compose 是官方推荐的部署方式。快速启动# 1. 创建目录结构mkdir-p./paperless-ngx/{data,media,export,consume}# 2. 下载官方 compose 配置wgethttps://raw.githubusercontent.com/paperless-ngx/paperless-ngx/main/docker/compose/docker-compose.yml# 3. 配置环境变量cpdocker-compose.env .env# 编辑 .env 文件设置关键参数# 4. 启动服务dockercompose up-d# 5. 创建管理员账户如未在 env 中设置dockercomposeexec--userpaperless webserver createsuperuser完整 Docker Compose 示例version:3.8services:broker:image:redis:7restart:unless-stoppedvolumes:-redisdata:/datadb:image:postgres:15restart:unless-stoppedvolumes:-pgdata:/var/lib/postgresql/dataenvironment:POSTGRES_DB:paperlessPOSTGRES_USER:paperlessPOSTGRES_PASSWORD:paperlesswebserver:image:ghcr.io/paperless-ngx/paperless-ngx:latestrestart:unless-stoppeddepends_on:-db-broker-gotenberg-tikaports:-8010:8000volumes:-data:/usr/src/paperless/data-media:/usr/src/paperless/media-./export:/usr/src/paperless/export-./consume:/usr/src/paperless/consumeenvironment:PAPERLESS_REDIS:redis://broker:6379PAPERLESS_DBHOST:dbPAPERLESS_TIKA_ENABLED:1PAPERLESS_TIKA_GOTENBERG_ENDPOINT:http://gotenberg:3000PAPERLESS_TIKA_ENDPOINT:http://tika:9998gotenberg:image:gotenberg/gotenberg:7.8restart:unless-stoppedcommand:-gotenberg---chromium-disable-javascripttrue---chromium-allow-listfile:///tmp/.*tika:image:ghcr.io/paperless-ngx/tika:latestrestart:unless-stoppedvolumes:data:media:pgdata:redisdata:关键环境变量变量用途示例PAPERLESS_URL公网访问地址https://paperless.yourdomain.comPAPERLESS_SECRET_KEYDjango 密钥python -c import secrets; print(secrets.token_urlsafe(50))PAPERLESS_ADMIN_USER初始管理员用户名adminPAPERLESS_ADMIN_PASSWORD初始管理员密码your-secure-passwordPAPERLESS_OCR_LANGUAGEOCR 语言eng英语/chi_sim简体中文PAPERLESS_TIME_ZONE时区设置Asia/Shanghai硬件需求项目最低配置推荐配置内存2GB4GBOCR 资源密集CPU单核多核并行处理加速存储10GBSSDIO 性能提升数据库SQLitePostgreSQL1000 文档或多用户支持平台平台说明Ubuntu / Debian服务器首选Raspberry PiPi 4/54GB RAMSynology DSM / QNAP QTSNAS 内置 DockermacOS / WindowsWSL2本地开发测试 集成生态认证集成提供商类型LDAP / Active Directory目录服务Keycloak / Authentik / AutheliaOIDC/OAuth存储后端后端用途本地文件系统默认存储AWS S3 / MinIO云端/私有对象存储Azure Blob / GCS云厂商对象存储自动化集成平台集成方式Home Assistant官方集成组件n8n / Zapier / Node-REDWebhook/APITelegram / Slack / Gotify通知推送AI 增强paperless-ai接入 OpenAI/Anthropic/Ollama实现 AI 驱动的智能标签 社区生态项目演进历程Paperless原始项目已停止维护 ↓ Paperless-ng增强版已停止维护 ↓ Paperless-ngx社区继承者活跃维护 ← 2022年1月 forkfork 背景Paperless-ng 项目停滞社区成员无权限合并 PR遂创建 Paperless-ngx 继续开发。社区渠道渠道地址官方文档https://docs.paperless-ngx.comGitHub Discussionshttps://github.com/paperless-ngx/paperless-ngx/discussionsGitHub Wikihttps://github.com/paperless-ngx/paperless-ngx/wikiRedditr/selfhosted 社区活跃讨论安全响应CVE类型修复版本CVE-2023-46492SSRF中危1.17.0CVE-2023-45543认证绕过高危1.16.3CVE-2023-42046XSS中危1.15.1 适用场景个人家庭场景示例账单管理水电燃气、信用卡账单自动归类税务文档工资单、完税证明集中归档医疗记录家庭健康档案统一管理家庭资产房产证、保险单、保修卡小微企业场景示例发票处理自动识别发票类型关联供应商合同管理客户合同归档到期提醒合规文档审计材料、资质证书留档人事档案员工入职资料、证书认证 参考资源资源链接GitHub 仓库https://github.com/paperless-ngx/paperless-ngx官方文档https://docs.paperless-ngx.comDocker Hubhttps://hub.docker.com/r/paperless-ngx/paperless-ngxAPI 文档https://docs.paperless-ngx.com/api/Swagger Demohttps://demo.paperless-ngx.com/swagger/安装指南https://docs.paperless-ngx.com/setup/配置参考https://docs.paperless-ngx.com/configuration/结语Paperless-ngx 是自托管文档管理的标杆项目功能完整、架构清晰、社区活跃。对于追求隐私控制、成本节约、定制自由的技术用户而言它是替代商业 DMS 的理想选择。一句话总结扫描即索引检索秒级响应分类自动化——纸质文档的「数字涅槃」。

相关新闻