快速开始
手把手安装步骤详解
简体中文
0. 安装
git clone https://github.com/oiov/wr.do
进入项目文件夹并安装依赖项:
cd wrdo
pnpm install
创建 .env
文件
将 .env.example
的内容复制粘贴到 .env
文件中。
1. 配置数据库
创建服务器数据库实例并获取连接 URL
在部署前,请确保你已准备好一个 Postgres 数据库实例。你可以选择以下方式之一:
- A. 使用 Vercel / Neon 等 Serverless Postgres 实例;
- B. 使用 Docker 等方式自建 Postgres 实例。
这两种方式的配置稍有不同,我们将在下一步中进行区分。
在 Vercel 中添加环境变量
在 Vercel 的部署环境变量中,添加 DATABASE_URL
以及其他环境变量,
并填写上一步中准备好的 Postgres 数据库连接 URL。
数据库连接 URL 的典型格式如下:
postgres://username:password@host:port/database
DATABASE_URL=
部署 Postgres
pnpm postinstall
pnpm db:push
或者手动初始化
通过 migration.sql, 将 SQL 代码复制到数据库中以初始化数据库结构。
添加 AUTH_SECRET 环境变量
AUTH_SECRET
环境变量用于加密 token 和邮件验证哈希(NextAuth.js)。
你可以通过 https://generate-secret.vercel.app/32 生成
AUTH_URL
是用于 NextAuth.js 的回调 URL,如果使用docker部署,需要设置为你的站点域名;如果使用vercel部署,可不填。
注意,AUTH_URL
与 NEXT_PUBLIC_APP_URL
需要保持一致
AUTH_SECRET=10000032bsfasfafk4lkkfsa
AUTH_URL=http://localhost:3000
NEXT_PUBLIC_APP_URL=http://localhost:3000
2. 配置认证服务
服务器端数据库需要配合用户认证服务才能正常运行, 因此需要配置相应的认证服务。
提供以下认证方式:
- Github
- LinuxDo
- Resend 邮件验证
Google 配置
在本部分中,你需要更新以下变量:
GOOGLE_CLIENT_ID = your_secret_client_id.apps.googleusercontent.com;
GOOGLE_CLIENT_SECRET = your_secret_client;
参见配置教程:Authjs - Google OAuth
Github 配置
在本部分中,你需要更新以下变量:
GITHUB_ID = your_secret_client_id;
GITHUB_SECRET = your_secret_client;
参见配置教程:Authjs - Github OAuth
LinuxDo 配置
LinuxDo_CLIENT_ID=
LinuxDo_CLIENT_SECRET=
参见配置教程:Connect LinuxDo
注意在配置Connect LinuxDo时,参考以下配置:
Resend 邮件验证配置
创建账号
如果你还没有 Resend 账号,请按照 这里 的注册流程操作。
创建 API 密钥
登录 Resend 后,它会提示你创建第一个 API 密钥。
将其复制并粘贴到你的 .env
文件中:
RESEND_API_KEY=re_your_resend_api_key;
RESEND_FROM_EMAIL="you <[email protected]>"
其中 your-domain 与Resend绑定的域名一致(与 NEXT_PUBLIC_APP_URL
一致)。
3. 邮件 Worker 配置(接收邮件)
详见:Cloudflare Email Worker 配置教程
完成上述步骤后,你需要为 r2 存储添加一个公共域名。
通过以下地址:
https://dash.cloudflare.com/[account_id]/r2/default/buckets/[bucket]/settings
NEXT_PUBLIC_EMAIL_R2_DOMAIN=https://email-attachment.wr.do
4. 添加 SCREENSHOTONE_BASE_URL 环境变量
这是 screenshotone API 的基础地址。
你可以通过部署 jasonraimondi/url-to-png 自建服务。 部署说明见:这里
SCREENSHOTONE_BASE_URL=https://api.screenshotone.com
5. 添加 GITHUB_TOKEN 环境变量
通过 https://github.com/settings/tokens 获取你的 token:
GITHUB_TOKEN=
6. 启动开发服务器
pnpm dev
通过浏览器访问:http://localhost:3000
- 默认账号(管理员):
[email protected]
- 默认密码:
123456
登录后请及时修改密码
7. 部署教程
详见:部署指南
Q & A
Worker 错误 - 重定向过多
请访问:
https://dash.cloudflare.com/[account_id]/[zone_name]/ssl-tls/configuration
将 SSL/TLS 加密模式
更改为 Full
模式。