B03-PaperLess-ngx(文档无纸化)
当你写论文时,会发现她的好!
💡
弱水三千,我只取一瓢,真正好用的Dokcer项目推荐,特别适合于文档众多,却不知如何整理的您!
1-项目介绍
项目地址: Star:15.1K
- Paperless-ngx是一个社区支持的开源文档管理系统,它可以将你的物理文档转换成可搜索的在线存档,这样你就可以少用纸了
- 部署无纸化的最简单方法是 docker compose
- 使用标签、对应项、类型等组织扫描文档并为其编制索引
- 对您的文档执行OCR,添加可搜索和可选择的文本,甚至对仅扫描图像的文档也是如此
- 利用开源Tesseract引擎识别100多种语言
- 支持PDF文档、图像、纯文本文件、Office文档(Word、Excel、Powerpoint和LibreOffice等效文件) 1 等
- 全文搜索可以帮助您找到所需的内容
- 电子邮件处理 1 :从您的电子邮件帐户导入文档
- 针对多核系统优化:Paperless-ngx并行处理多个文档
- 支持移动的设备
1.1 项目效果
2-搭建环境
Docker环境:由于使用Docker-compose是最方便的模式,故在群晖7.1X的Docker环境下,
添加了Portainer容器,以使用Docker-compose模式部署,如果读者使用的是群晖7.2X,
则可以直接使用官方的Container Manager,如果是使用其他环境,各位请自行了解支持
Docker-compose部署的模式,此处不在赘述。
以下是我使用的环境,各位可自行参考:
3-搭建过程:
3.1 新建 paperless 文件夹
登录群晖->File station->docker->paperless,在此文件夹中新建6个空文件夹,并在空文件夹点击右键->查看属性,确定物理路径,比如“/volume1/docker/paperless/data”,如果你有多个存储卷,此处可能是volume2或volumeX,物理路径需要绝对正确,并确保与你的环境一致,有差异请修正docker-compose命令相应的语句。
redisdata
pgdata
data
media
export
consume
3.2 准备好docker-compose命令
version: "3.4"
services:
broker:
image: library/redis:7
restart: unless-stopped
volumes:
- /volume1/docker/paperless/redisdata:/data
db:
image: library/postgres:15
restart: unless-stopped
volumes:
- /volume1/docker/paperless/pgdata:/var/lib/postgresql/data
environment:
POSTGRES_DB: paperless
POSTGRES_USER: paperless
POSTGRES_PASSWORD: paperless
webserver:
image: paperlessngx/paperless-ngx:latest
restart: unless-stopped
depends_on:
- db
- broker
- gotenberg
- tika
ports:
- "38000:8000" # 任意端口号,确保与本地服务无冲突即可
healthcheck:
test: ["CMD", "curl", "-fs", "-S", "--max-time", "2", "http://localhost:8000"]
interval: 30s
timeout: 10s
retries: 5
volumes:
- /volume1/docker/paperless/data:/usr/src/paperless/data
- /volume1/docker/paperless/media:/usr/src/paperless/media
- /volume1/docker/paperless/export:/usr/src/paperless/export
- /volume1/docker/paperless/consume:/usr/src/paperless/consume
environment:
PAPERLESS_REDIS: redis://broker:6379
PAPERLESS_DBHOST: db
PAPERLESS_TIKA_ENABLED: 1
PAPERLESS_TIKA_GOTENBERG_ENDPOINT: http://gotenberg:3000
PAPERLESS_TIKA_ENDPOINT: http://tika:9998
PAPERLESS_OCR_LANGUAGES: chi-sim chi-tra # OCR语言,可在WEB界面修改
PAPERLESS_OCR_LANGUAGE: eng+chi_sim # OCR语言,后续可在WEB界面修改
USERMAP_UID: 0
USERMAP_GID: 0
PAPERLESS_TIME_ZONE: Asia/Shanghai # 时区设置
# PAPERLESS_OCR_USER_ARGS: {"invalidate_digital_signatures": true} #安装前无法使用,需安装后使用
dns:
- 8.8.8.8
- 8.8.4.4
gotenberg:
image: gotenberg/gotenberg:latest
restart: unless-stopped
command:
- "gotenberg"
- "--chromium-disable-javascript=true"
- "--chromium-allow-list=file:///tmp/.*"
- "--api-timeout=300s"
tika:
image: apache/tika:latest
restart: unless-stopped
3.3 通过Portainer 执行docker-compose语句
此处需要确保能科学上网并能从Docker拉取镜像,因为镜像很大,拉取的时间约0.5-1H。
拉取成功后出现以下5个容器
3.4 建立超管用户
选择webserver的容器,打开终端,输入命令:
python3 manage.py createsuperuser,依提示设置usr,email,password
3.5 登录并设置OCR支持语言
使用IP+端口方式登录,如192.168.41.7:38000,登录后至configration界面
可以看到docker-compose命令有设置但未带入,设置后可解决部分导入文件乱码的问题。