linuxserver/paperless-ngLinuxServer.io团队提供的此容器具有以下特点:
Paperless-ng是由Daniel Quinn及其贡献者开发的应用,它可以索引您的扫描文档,允许您轻松搜索文档并在文档旁存储元数据。
我们利用docker manifest实现多平台支持。只需拉取lscr.io/linuxserver/paperless-ng:latest即可获取适合您架构的正确镜像,也可通过标签拉取特定架构镜像。
支持的架构:
| 架构 | 可用 | 标签 |
|---|---|---|
| x86-64 | ✅ | amd64-<版本标签> |
| arm64 | ✅ | arm64v8-<版本标签> |
| armhf | ✅ | arm32v7-<版本标签> |
默认登录信息为admin:admin,通过Web界面访问,地址为[***]
为方便使用,此容器提供别名以执行管理命令。上游文档中记录的可用管理命令在此,可通过以下方式访问容器命令:docker exec -it <容器名称> manage <命令>。例如:docker exec -it paperless manage document_retagger -tT。
以下是帮助您开始创建容器的示例代码片段。
yaml--- version: "2.1" services: paperless-ng: image: lscr.io/linuxserver/paperless-ng:latest container_name: paperless-ng environment: - PUID=1000 - PGID=1000 - TZ=America/New_York - REDIS_URL= #可选 volumes: - </本地路径/appdata/config>:/config - </本地路径/appdata/data>:/data ports: - 8000:8000 restart: unless-stopped
bashdocker run -d \ --name=paperless-ng \ -e PUID=1000 \ -e PGID=1000 \ -e TZ=America/New_York \ -e REDIS_URL= `#可选` \ -p 8000:8000 \ -v </本地路径/appdata/config>:/config \ -v </本地路径/appdata/data>:/data \ --restart unless-stopped \ lscr.io/linuxserver/paperless-ng:latest
容器镜像通过运行时传递的参数进行配置(如上所示)。这些参数以冒号分隔,表示<外部>:<内部>。例如,-p 8080:80将容器内的80端口暴露到主机IP的8080端口。
| 参数 | 功能 |
|---|---|
-p 8000 | http界面端口 |
-e PUID=1000 | 用户ID - 详见下文说明 |
-e PGID=1000 | 组ID - 详见下文说明 |
-e TZ=America/New_York | 指定时区,例如America/New_York |
-e REDIS_URL= | 指定外部Redis实例,可选。可包含端口(redis:6379)和/或数据库(redis/foo)。若留空,将使用内置Redis实例。初始设置后更改需手动修改/config/settings.py |
-v /config | 包含所有相关配置文件 |
-v /data | paperless-ng所有数据文件的存储位置 |
您可以使用特殊前缀FILE__从文件中设置任何环境变量。
例如:
bash-e FILE__PASSWORD=/run/secrets/mysecretpassword
将根据/run/secrets/mysecretpassword文件的内容设置PASSWORD环境变量。
我们的所有镜像都提供了使用可选-e UMASK=022设置覆盖容器内服务默认umask的能力。请注意,umask不是chmod,它基于其值减去权限,而不是添加。请在请求支持前此处了解更多。
使用卷(-v标志)时,主机操作系统和容器之间可能会出现权限问题。我们通过允许您指定用户PUID和组PGID来避免此问题。
确保主机上的任何卷目录都归您指定的同一用户所有,任何权限问题都将迎刃而解。
在此示例中PUID=1000和PGID=1000,通过以下命令查找您的ID:
bash$ id 用户名 uid=1000(dockeruser) gid=1000(dockergroup) groups=1000(dockergroup)
我们发布了各种Docker Mods以启用容器内的额外功能。可通过上方动态徽章访问此镜像可用的Mods列表(如有)以及可应用于我们任何镜像的通用Mods。
docker exec -it paperless-ng /bin/bashdocker logs -f paperless-ngdocker inspect -f '{{ index .Config.Labels "build_version" }}' paperless-ngdocker inspect -f '{{ index .Config.Labels "build_version" }}' lscr.io/linuxserver/paperless-ng:latest我们的大多数镜像是静态的、版本化的,需要更新镜像并重新创建容器才能更新内部应用。除某些例外(如nextcloud、plex),我们不建议或支持在容器内更新应用。请查阅上方应用设置部分,了解是否推荐对此镜像进行应用更新。
以下是更新容器的说明:
docker-compose pull
docker-compose pull paperless-ngdocker-compose up -d
docker-compose up -d paperless-ngdocker image prunedocker pull lscr.io/linuxserver/paperless-ng:latestdocker stop paperless-ngdocker rm paperless-ng/config文件夹和设置将被保留)docker image prune拉取其标签的最新镜像并在一次运行中替换具有相同环境变量的镜像:
bashdocker run --rm \ -v /var/run/docker.sock:/var/run/docker.sock \ containrrr/watchtower \ --run-once paperless-ng
您还可以删除旧的悬空镜像:docker image prune
注意: 我们不认可将Watchtower用作现有Docker容器自动更新的解决方案。事实上,我们通常不鼓励自动更新。但是,对于您忘记原始参数的容器的一次性手动更新,这是一个有用的工具。长期来看,我们强烈建议使用Docker Compose。
如果您想对这些镜像进行本地修改以用于开发目的或自定义逻辑:
bashgit clone [***] cd docker-paperless-ng docker build \ --no-cache \ --pull \ -t lscr.io/linuxserver/paperless-ng:latest .
可以使用multiarch/qemu-user-static在x86_64硬件上构建ARM变体:
bashdocker run --rm --privileged multiarch/qemu-user-static:register --reset
注册后,您可以使用-f Dockerfile.aarch64指定要使用的dockerfile。



manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务