Papermark 是一个开源的文档共享替代品,类似于 DocSend,具有内置分析和自定义域名功能。
特性
- 可分享链接: 通过发送自定义链接安全地分享您的文档
- 自定义品牌: 添加自定义域名和您自己的品牌
- 分析: 通过文档跟踪获取洞察,即将推出逐页分析
- 自托管,开源: 自行托管并进行定制
演示
技术栈
- Next.js – 框架
- Typescript – 语言
- Tailwind – CSS
- shadcn/ui - UI 组件
- Prisma - ORM
- PostgreSQL - 数据库
- NextAuth.js – 认证
- Tinybird – 分析
- Resend – 电子邮件
- Stripe – 支付
- Vercel – 托管
入门指南
前提条件
以下是运行 Papermark 所需的条件:
- Node.js(版本 >= 18)
- PostgreSQL 数据库
- Blob 存储(目前支持 AWS S3 或 Vercel Blob)
- Resend(用于发送电子邮件)
1. 克隆仓库
git clone https://github.com/mfts/papermark.git
cd papermark
2. 安装 npm 依赖
npm install
3. 将环境变量复制到 .env
并修改值
cp .env.example .env
4. 初始化数据库
npx prisma generate
npx prisma migrate deploy
5. 运行开发服务器
npm run dev
6. 在浏览器中打开应用
在浏览器中访问 http://localhost:3000。
Tinybird 使用说明
要准备 Tinybird 数据库,请按以下步骤操作:
- 我们使用
pipenv
管理 Python 依赖。如果您尚未安装,可以使用以下命令安装:pkgx pipenv
- 从这里下载 Tinybird CLI 并安装到您的系统中。
- 使用 Tinybird CLI 进行身份验证后,导航到
lib/tinybird
目录:cd lib/tinybird
- 使用以下命令推送必要的数据源:
tb push datasources/* tb push endpoints/get_*
- 不要忘记在
.env
文件中设置具有适当权限的TINYBIRD_TOKEN
。
更新 Tinybird
pipenv shell
## 开始:pkgx 特定
cd ..
cd papermark
## 结束:pkgx 特定
pipenv update tinybird-cli
贡献
Papermark 是一个开源项目,我们欢迎社区的贡献。
如果您想贡献,请 fork 仓库并按您的想法进行更改。我们非常欢迎拉取请求。