Paperless-ngx无法启用消费文件夹递归扫描及定期轮询问题
解决Paperless-ngx在Windows Docker下的消费文件夹问题
以下是针对你的两个问题的排查和解决步骤:
1. 确认环境变量是否正确加载
- 检查
docker-compose.env文件中的变量拼写,确保是PAPERLESS_CONSUMER_RECURSIVE=true和PAPERLESS_CONSUMER_POLLING=600,注意变量名大小写完全匹配,且等号前后无多余空格。 - 进入容器验证变量是否生效:
如果输出里看不到这两个变量,说明.env文件没有被正确加载。docker exec -it paperless-ngx printenv | grep CONSUMER
2. 确保docker-compose.yml正确引用.env文件
检查你的docker-compose.yml中是否包含以下配置:
env_file: - docker-compose.env
如果没有,要么添加这段配置,要么直接在services.paperless.environment下手动声明变量:
services: paperless: # 其他配置... environment: # 其他已有变量... PAPERLESS_CONSUMER_RECURSIVE: "true" PAPERLESS_CONSUMER_POLLING: 600
修改后重启容器:
docker-compose down && docker-compose up -d
3. 检查消费文件夹的挂载与权限
- 确认
docker-compose.yml中consume文件夹的挂载路径正确,比如:
末尾的volumes: - ./consume:/usr/src/paperless/consume:rw:rw确保容器有读写权限。 - 进入容器查看consume目录的权限:
同时在Windows端确认文件夹允许Docker访问(Docker设置→Resources→File Sharing中勾选对应盘符)。docker exec -it paperless-ngx ls -l /usr/src/paperless/consume
4. 查看日志定位问题
查看Paperless的运行日志,确认配置是否被加载:
docker logs paperless-ngx
搜索关键词recursive和polling,如果看到类似Consumer will watch directories recursively和Polling interval set to 600 seconds的日志,说明配置已生效;如果没有,说明变量未被正确读取,需回到步骤1-2排查。
5. 测试polling机制
如果配置已生效但仍不扫描,可以临时将PAPERLESS_CONSUMER_POLLING改为300(5分钟),放入测试文件到子文件夹,等待5分钟后检查是否被消费,同时查看日志是否有扫描记录。
内容的提问来源于stack exchange,提问作者CavemanNewbie
相关产品推荐
相关产品推荐

