Files
devops/docker/paperless/docker-compose.yml
2025-11-03 16:34:46 +08:00

66 lines
2.9 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

version: "3.8"
services:
paperless:
image: ghcr.io/paperless-ngx/paperless-ngx:latest
container_name: paperless
restart: unless-stopped
ports:
- "8000:8000"
environment:
PAPERLESS_OCR_LANGUAGES: "" # 跳过OCR
PAPERLESS_OCR_SKIP_ARCHIVE_FILE: "always" # 跳过创建文档存档版本的时间
PAPERLESS_OCR_OUTPUT_TYPE: "pdf" # 尽量少修改PDF文档
PAPERLESS_CONSUMER_POLLING: "5" # 指定轮询间隔(以秒为单位),这将导致 paperless 定期检查消费目录中的更改
#PAPERLESS_CONSUMER_INOTIFY_DELAY: "2" # 设置消费者等待 inotify 发出的其他事件的时间(以秒为单位)
# 使用 SQLite 作为数据库(默认)
PAPERLESS_DBENGINE: sqlite3
PAPERLESS_DBNAME: /usr/src/paperless/db/paperless.sqlite3
PAPERLESS_REDIS: redis://redis:6379
# 语言和时区设置
PAPERLESS_TIME_ZONE: Asia/Shanghai
PAPERLESS_LANGUAGE: zh-cn
# PDF 处理的目录
PAPERLESS_CONSUMPTION_DIR: /usr/src/paperless/consume
PAPERLESS_DATA_DIR: /usr/src/paperless/data
PAPERLESS_MEDIA_ROOT: /usr/src/paperless/media
PAPERLESS_EXPORT_DIR: /usr/src/paperless/export
# 定义文件命名规则和存储路径
# 作用不大,主要还是用消费后脚本,以及工作流来指定存储路径。
# 工作流先于消费后脚本运行因此消费后脚本里解析的document_type在工作流里无效。所以使用了文件名关键词匹配
PAPERLESS_FILENAME_FORMAT: "{{created}}_{{document_type}}_{{correspondent}}_{{title}}"
# 解析文件里的关键信息并更新。但无法更新strorage path。这个字段要靠工作流才行。
PAPERLESS_POST_CONSUME_SCRIPT: "/usr/src/paperless/scripts/parse_filename.py"
# 使用mysql可以用下面这个连接 init_command=SET innodb_strict_mode=0关键配置在建立数据库连接时自动执行SET innodb_strict_mode=0关闭 InnoDB 严格模式,允许 MySQL 自动截断过长的索引(不再直接报错)。
PAPERLESS_DATABASE_URL: "mysql://root:root@mysql:3306/paperless?charset=utf8mb4&init_command=SET sql_mode='STRICT_TRANS_TABLES', innodb_strict_mode=0"
# 运行用户
USERMAP_UID: 1000
USERMAP_GID: 1000
volumes:
# 存储所有数据搜索索引、SQLite 数据库、分类模型等)的地方
- ~/dockers/paperless/data:/usr/src/paperless/data
# 挂载文件导入目录
- ~/dockers/paperless/consume:/usr/src/paperless/consume
# 挂载文件导出目录
- ~/dockers/paperless/export:/usr/src/paperless/export
# 存储您的文档和缩略图的地方
- ~/dockers/paperless/media:/usr/src/paperless/media
# 挂载脚本,比如 PAPERLESS_POST_CONSUME_SCRIPT
- ~/dockers/paperless/scripts:/usr/src/paperless/scripts
networks:
- devops
networks:
devops:
external: true