一、前期准备
本次部署使用Windows系统原生WSL2(Linux子系统)+ Docker,无需购买云服务器,普通家用电脑即可稳定运行。以下是必须准备的工具和资源:
- Windows 10 2004及以上/Windows 11(已启用WSL2功能)
- WSL2中已安装Ubuntu 22.04 LTS(可直接在微软商店搜索安装)
- Docker Desktop for Windows(已切换到WSL2后端)下载地址:https://www.docker.com/products/docker-desktop/
- 一台性能尚可的路由器(后续内网穿透或云同步需用)
二、WSL2基础环境配置
打开已安装的Ubuntu 22.04 LTS终端,依次执行以下命令:
1. 更新Ubuntu源
```bash
备份原源
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
替换为阿里云镜像源
sudo sed -i 's/archive.ubuntu.com/mirrors.aliyun.com/g' /etc/apt/sources.list
sudo sed -i 's/security.ubuntu.com/mirrors.aliyun.com/g' /etc/apt/sources.list
更新源索引
sudo apt update && sudo apt upgrade -y
```
2. 安装Docker Compose(可选,Docker Desktop自带但需确认)
打开Docker Desktop设置→General,确保Use Docker Compose V2已勾选,即可直接使用docker compose命令。
三、Paperless-ngx快速部署
使用官方推荐的Docker Compose方案,配置最少、部署最快。
1. 创建工作目录
```bash
在WSL2用户主目录下创建paperless文件夹
mkdir -p ~/paperless/{consume,media,data,export}
进入该目录
cd ~/paperless
```
2. 下载并修改官方配置文件
```bash
下载官方示例docker-compose.yml和.env文件
wget https://github.com/paperless-ngx/paperless-ngx/releases/latest/download/docker-compose.yml
wget https://github.com/paperless-ngx/paperless-ngx/releases/latest/download/docker-compose.env
重命名.env为.env(官方示例下载后有时后缀名会变,可忽略直接修改)
mv docker-compose.env .env
```
用WSL2内置的nano编辑器打开.env文件:
```bash
nano .env
```
修改以下必填参数,其他保持默认:
- PAPERLESS_TIME_ZONE=Asia/Shanghai 设置为中国时区
- PAPERLESS_OCR_LANGUAGES=chi_sim+eng 安装简体中文和英文OCR语言包
- PAPERLESS_SECRET_KEY=your_secure_random_key_32_characters_or_more 生成一个至少32位的随机密钥(可用https://www.random.org/strings/生成,长度选32,字符类型选字母数字符号)
- PAPERLESS_ADMIN_USER=admin 自定义管理员用户名
- PAPERLESS_ADMIN_PASSWORD=your_secure_admin_password 自定义管理员密码
- PAPERLESS_ADMIN_MAIL=your_email@example.com 自定义管理员邮箱(随便填)
修改完成后按Ctrl+O保存,按Enter确认文件名,按Ctrl+X退出编辑器。
3. 启动Paperless-ngx
```bash
后台启动所有服务(包括PostgreSQL数据库、Redis缓存、OCR等)
docker compose up -d
查看服务启动状态(约2-5分钟,所有服务显示Up或healthy则成功)
docker compose ps
```
四、Paperless-ngx基础使用
1. 登录系统
打开浏览器,访问http://localhost:8000,输入之前设置的管理员用户名和密码即可登录。
2. 上传并归档文书
- 自动上传:将文书(支持PDF、JPG、PNG、TIFF、Word、Excel等格式)放入WSL2的~/paperless/consume目录,系统会自动识别、OCR识别文字、归档分类。
- 手动上传:登录系统后点击右上角“Upload”按钮,选择本地文件上传。
3. 配置标签和分类
登录系统后点击左侧“Settings”→“Tags/Correspondents/Document Types”,可创建自定义标签(如“合同”“发票”)、对应单位(如“税务局”“腾讯”)、文档类型(如“电子发票”“劳动合同”),后续系统OCR识别到关键词会自动打标签。
五、内网穿透与外网访问

使用免费的frp内网穿透工具,让你在手机、公司电脑上也能访问本地的Paperless-ngx。
1. 准备一台带公网IP的服务器?不,本次用国内免费SakuraFrp(无需购买服务器)
注册地址:https://www.natfrp.com/,注册后实名认证(免费),创建一条“TCP”隧道:
- 隧道名称:paperless-ngx
- 本地端口:8000
- 远程端口:随机分配(保存分配的地址和端口,如cn-suzhou-1.natfrp.cloud:12345)
2. WSL2中配置frp客户端
在WSL2中创建frp工作目录并下载客户端:
```bash
mkdir -p ~/frp
cd ~/frp
下载最新版Linux x86_64客户端(根据WSL2架构选择,Ubuntu默认是x86_64)
wget https://github.com/fatedier/frp/releases/latest/download/frp_0.54.0_linux_amd64.tar.gz
解压
tar -zxvf frp_0.54.0_linux_amd64.tar.gz
进入解压后的目录
cd frp_0.54.0_linux_amd64
```
复制frpc.ini模板并修改:
```bash
cp frpc.ini frpc_paperless.ini
nano frpc_paperless.ini
```
删除所有内容,粘贴以下配置,替换为你自己的隧道信息:
```ini
[common]
serverAddr = cn-suzhou-1.natfrp.cloud SakuraFrp分配的服务器地址
serverPort = 7000 SakuraFrp的通用服务器端口
token = your_sakurafrp_token SakuraFrp账号的访问令牌(在个人中心→安全设置查看)
[paperless-ngx]
type = tcp
localIP = 127.0.0.1
localPort = 8000
remotePort = 12345 SakuraFrp分配的远程端口
```
保存退出后后台启动frpc客户端:
```bash
./frpc -c frpc_paperless.ini &
```
3. 外网访问
打开手机或公司电脑的浏览器,访问分配的远程地址(如http://cn-suzhou-1.natfrp.cloud:12345),输入管理员用户名和密码即可。
六、OwnCloud本地云同步配置(可选但推荐)
OwnCloud可将本地电脑的某个文件夹实时同步到Paperless-ngx的consume目录,无需手动移动文件。
1. 安装OwnCloud客户端
下载地址:https://owncloud.com/download/,选择Windows版本安装。
2. OwnCloud连接WSL2的WebDAV
Paperless-ngx自带WebDAV功能,无需额外部署OwnCloud服务器。
- 打开OwnCloud客户端,点击“添加服务器”。
- 服务器地址填写:http://localhost:8000/dav/(注意末尾的斜杠)。
- 用户名和密码填写之前设置的Paperless-ngx管理员用户名和密码。
- 点击“下一步”,选择“同步现有文件夹”,本地文件夹选你电脑上专门放待归档文书的文件夹,远程文件夹选“consume”。
- 点击“完成”,OwnCloud会自动将本地待归档文书同步到Paperless-ngx的consume目录,系统自动归档。