一、前置准备(仅需3步,约10分钟)
本次使用Docker部署Paperless-ngx,无需配置复杂环境,覆盖Windows、Mac、Linux全平台。
1. 安装Docker Desktop(含Docker Compose)
- Windows/Mac:直接访问官网下载安装包:https://www.docker.com/get-started/,按默认点击“下一步”安装,安装完成后重启电脑并启动Docker Desktop,等待右下角/菜单栏图标稳定变绿
- Linux(以Ubuntu 22.04为例):依次执行以下命令:
```bash
更新软件源
sudo apt update
安装依赖
sudo apt install -y ca-certificates curl gnupg lsb-release
添加Docker官方GPG密钥
sudo mkdir -m 0755 -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
设置稳定版软件源
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
再次更新并安装Docker Desktop相关组件
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
启动Docker并设置开机自启
sudo systemctl start docker
sudo systemctl enable docker
```
2. 创建本地数据存储文件夹
在电脑上找一个剩余空间≥20GB的位置,新建3个文件夹:
- consume:用于存放待扫描/上传的档案文件
- media:用于存储处理后的档案实体、缩略图
- data:用于存储数据库、配置等核心数据
例如Windows下路径为D:\Paperless\consume、D:\Paperless\media、D:\Paperless\data;Mac下为/Users/你的用户名/Paperless/consume等,路径中不要有中文或空格,防止后续报错。
3. 准备Docker Compose配置文件
在刚才新建的Paperless根目录下,新建一个名为docker-compose.yml的纯文本文件(Windows用记事本另存为,编码选UTF-8;Mac用TextEdit先切换到纯文本模式),粘贴以下完整可复制的配置:
```yaml
version: "3.8"
services:
broker:
image: docker.io/library/redis:7
restart: unless-stopped
volumes:
- redisdata:/data
db:
image: docker.io/library/postgres:15
restart: unless-stopped
volumes:
- pgdata:/var/lib/postgresql/data
environment:
POSTGRES_DB: paperless
POSTGRES_USER: paperless
POSTGRES_PASSWORD: paperless 建议修改为复杂密码
POSTGRES_INITDB_ARGS: "--encoding=UTF8 --lc-collate=C.UTF-8 --lc-ctype=C.UTF-8"
webserver:
image: ghcr.io/paperless-ngx/paperless-ngx:latest
restart: unless-stopped
depends_on:
- db
- broker
ports:
- "8000:8000"
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8000"]
interval: 30s
timeout: 10s
retries: 5
volumes:
- D:\Paperless\data:/usr/src/paperless/data Windows替换为你自己的data路径
- D:\Paperless\media:/usr/src/paperless/media Windows替换为你自己的media路径
- D:\Paperless\consume:/usr/src/paperless/consume Windows替换为你自己的consume路径
environment:
PAPERLESS_REDIS: redis://broker:6379
PAPERLESS_DBHOST: db
PAPERLESS_DBUSER: paperless
PAPERLESS_DBPASS: paperless 需和POSTGRES_PASSWORD一致
PAPERLESS_DBNAME: paperless
PAPERLESS_URL: http://localhost:8000
PAPERLESS_TIME_ZONE: Asia/Shanghai
PAPERLESS_OCR_LANGUAGE: chi_sim+eng 支持简体中文+英文识别
PAPERLESS_CONSUMER_POLLING: 30 每30秒扫描一次consume文件夹
volumes:
pgdata:
redisdata:
```
注意:Windows/Mac/Linux的路径分隔符要统一(Windows用反斜杠\\?不对刚才用的是正斜杠也兼容Docker Desktop,没问题),严格替换三个volumes下的本地路径,且POSTGRES_PASSWORD和PAPERLESS_DBPASS必须保持一致,建议改为至少8位的字母数字组合密码。
二、启动系统(仅需2步,约5-10分钟)
1. 打开终端并进入Paperless根目录
- Windows:在Paperless根目录空白处按住Shift键+右键,选择“在此处打开PowerShell窗口”或“在终端中打开”
- Mac:打开终端,输入
cd /Users/你的用户名/Paperless(替换为你的实际路径)后回车
- Linux:打开终端,输入
cd /home/你的用户名/Paperless(替换为你的实际路径)后回车
2. 执行启动命令
在终端中粘贴以下命令并回车:
```bash
docker compose up -d
```
等待终端显示“Creating xxx ... done”或类似提示后,继续等待5-10分钟(首次启动需要下载镜像、初始化数据库和OCR语言包,具体时间取决于网络速度),期间可以打开Docker Desktop查看容器状态,当所有容器(broker、db、webserver)都显示为“Running”且healthcheck通过后,系统启动完成。
三、系统初始化(仅需3步,约2分钟)
1. 访问Web管理界面

打开任意浏览器,在地址栏输入http://localhost:8000(如果是在局域网内的其他设备访问,替换localhost为部署电脑的局域网IP地址,可在Windows PowerShell输入ipconfig、Mac/Linux终端输入ifconfig或ip a查看),即可看到Paperless-ngx的登录界面。
2. 创建管理员账号
回到刚才的终端窗口,粘贴以下命令并回车:
```bash
docker compose exec webserver createsuperuser
```
依次输入:
- Username:自定义管理员用户名(如admin)
- Email address:可以跳过直接回车
- Password:自定义登录密码(至少8位,输入时不会显示)
- Password (again):再次输入密码确认
当终端显示“Superuser created successfully.”时,管理员账号创建完成。
3. 登录并设置基础权限
返回Web管理界面,用刚才创建的管理员账号登录,登录后无需修改其他复杂配置,系统已默认开启简体中文界面和中英文OCR识别,可直接使用。如果需要添加普通用户,点击右上角头像→“管理”→“用户”→“添加用户”,按提示操作即可。
四、档案上传与管理(核心功能实操)
1. 批量/自动上传档案
- 自动上传:直接将待处理的PDF、图片(JPG/PNG/TIFF等)、Word/Excel/PowerPoint(需先安装LibreOffice扩展,默认未开启)放入之前创建的consume文件夹,系统每30秒会自动扫描并处理
- 手动上传:登录Web界面,点击左侧导航栏的“上传”按钮,支持拖拽或点击选择文件,上传后立即处理
2. 档案智能识别与标注
系统处理完成后,会自动识别档案的文字内容(支持搜索)、标题、日期,并生成缩略图。点击左侧导航栏的“文档”即可查看所有档案,可通过右侧的“标签”“对应方”“文档类型”“文件夹”进行筛选和分类,也可手动修改自动识别的信息。
3. 局域网内其他设备访问
如果部署电脑和其他设备在同一局域网内,其他设备打开浏览器输入http://部署电脑的局域网IP:8000即可访问,如需修改端口,只需修改docker-compose.yml中webserver的ports配置(如改为“9000:8000”),然后执行docker compose up -d重启系统即可。
五、常见问题快速解决
- 容器启动失败:检查本地路径是否有中文或空格,检查密码是否一致,检查Docker Desktop是否正常运行
- OCR识别不准确:可在docker-compose.yml中添加环境变量
PAPERLESS_OCR_MODE: redo(强制重新OCR),重启后再次上传文件,或上传更高分辨率的图片/PDF
- consume文件夹不自动扫描:检查docker-compose.yml中PAPERLESS_CONSUMER_POLLING的数值是否正确(单位为秒,建议不低于10),检查路径是否正确映射