简约的文档管理和归档平台Papra

简介

什么是 Papra ?

Papra 是一个简约的文档管理和归档平台,旨在提供用户友好的文档存储和管理功能。Papra 是一个用于长期文档存储和管理的平台,就像是您文档的数字档案馆。

主要特点

  • 自托管和云服务:用户可以选择自托管 Papra,使用轻量级的 Docker 镜像,或使用官方的云服务。
  • 文档管理:支持上传、存储和管理文档。
  • 组织功能:允许创建组织,以便与家人、朋友或同事共同管理文档。
  • 搜索功能:提供全文搜索,便于快速查找文档。
  • 用户认证:支持用户账户和身份验证。
  • 响应式设计:适用于各种设备,从桌面到移动端。
  • 开源项目Papra 是一个开源项目,免费供用户使用,遵循 AGPL3 许可证。

Papra 旨在帮助用户高效、安全地管理个人文件和重要业务记录,提升生产力。

安装

在群晖上以 Docker 方式安装。

镜像发布在 ghcr.io,目前最新的版本是 0.2.1

docker cli 安装

如果你熟悉命令行,可能用 docker cli 更快捷

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 新建文件夹 papra 和 子目录
mkdir -p /volume1/docker/papra/data/{db,documents}

# 进入 papra 目录
cd /volume1/docker/papra

# 修改目录权限
chmod a+rw ./data/{db,documents}

# 运行容器
docker run -d \
--restart unless-stopped \
--name papra \
-p 1221:1221 \
-v $(pwd)/data:/app/app-data \
-e SERVER_BASE_URL="http://192.168.0.197:1221" \
ghcr.io/papra-hq/papra:latest

关于环境变量的简单说明

环境变量 说明 默认值
CLIENT_BASE_URL 客户端的 URL http://localhost:3000
CLIENT_OAUTH_REDIRECT_URL OAuth 后的重定向 URL http://localhost:3000/confirm
SERVER_BASE_URL 服务器的基本 URL http://localhost:1221
TRUSTED_ORIGINS 允许请求的来源列表(逗号分隔) undefined
PORT Node 服务器监听的端口 1221
SERVER_API_ROUTES_TIMEOUT_MS 路由完成的最大时间(毫秒) 20000
SERVER_CORS_ORIGINS API 服务器的 CORS 来源 http://localhost:3000
SERVER_SERVE_PUBLIC_DIR 是否服务公共目录 false
DATABASE_URL 数据库的 URL file:./db.sqlite
DATABASE_AUTH_TOKEN 数据库的身份验证令牌 undefined
DATABASE_ENCRYPTION_KEY 数据库加密密钥(缺失则不加密) undefined
DOCUMENTS_DELETED_DOCUMENTS_RETENTION_DAYS 删除文档的保留期限(天) 30
DOCUMENT_STORAGE_MAX_UPLOAD_SIZE 上传文件的最大大小(字节) 10485760
DOCUMENT_STORAGE_DRIVER 文档存储驱动(可选值:filesystems3in-memory filesystem
DOCUMENT_STORAGE_FILESYSTEM_ROOT 存储文档的根目录 ./local-documents
AUTH_SECRET 身份验证秘密 change-me-for-god-sake
AUTH_IS_REGISTRATION_ENABLED 是否启用注册 true
AUTH_IS_PASSWORD_RESET_ENABLED 是否启用密码重置 true
AUTH_IS_EMAIL_VERIFICATION_REQUIRED 是否需要电子邮件验证 false
INTAKE_EMAILS_IS_ENABLED 是否启用文档接收电子邮件 false
INTAKE_EMAILS_DRIVER 接收电子邮件时生成电子邮件地址的驱动 random-username
RESEND_API_KEY 用于发送电子邮件的 Resend API 密钥 set-me
EMAILS_FROM_ADDRESS 发送电子邮件的地址 Papra <[email protected]>
MAX_ORGANIZATION_COUNT_PER_USER 标准用户可以拥有的最大组织数 10
IS_FREE_PLAN_UNLIMITED 免费计划是否无限制 true
POSTHOG_ENABLED 是否启用 PostHog false
POSTHOG_API_KEY PostHog 的 API 密钥 set-me
POSTHOG_HOST PostHog 的主机 https://eu.i.posthog.com

老苏只使用了 SERVER_BASE_URL,因为不设置会导致注册账号失败

docker-compose 安装

也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

1
2
3
4
5
6
7
8
9
10
11
12
13
version: '3'

services:
papra:
image: ghcr.io/papra-hq/papra:latest
container_name: papra
restart: unless-stopped
ports:
- 1221:1221
volumes:
- ./data:/app/app-data
environment:
- SERVER_BASE_URL=http://192.168.0.197:1221

然后执行下面的命令

1
2
3
4
5
6
7
8
9
10
11
# 新建文件夹 papra 和 子目录
mkdir -p /volume1/docker/papra/data/{db,documents}

# 进入 papra 目录
cd /volume1/docker/papra

# 修改目录权限
chmod a+rw ./data/{db,documents}

# 一键启动
docker-compose up -d

运行

在浏览器中输入 http://群晖IP:1221 就能看到登录界面

第一次需要注册账号

创建自己的组织

登录成功后的主界面

接下来就可以上传电子文档了

支持 Download,但是 Open in new tab 是空白的

不确定是 Bug ,还是哪里设置不正确。目前只是粗略看了一下,也许还存其他未发现的问题

参考文档

papra-hq/papra: The minimalistic document archiving platform.
地址:https://github.com/papra-hq/papra

Installing Papra using Docker | Papra Docs
地址:https://docs.papra.app/self-hosting/using-docker/