Docs
快速开始

快速开始

从 GitLab main 源码运行,再配置可选服务。

English

简体中文

0. 获取源码

git clone --branch main --single-branch https://gitlab.vetoedkkb.com/short-links/web.git wr.do
cd wr.do
cp .env.example .env

更新已有部署时保留原 .env。完整配置见 安装说明。

1. 启动应用和数据库

编辑 .env,为 POSTGRES_PASSWORD 与 AUTH_SECRET 填写独立随机值,可运行两次 openssl rand -hex 32 生成。默认端口为 3100:

APP_PORT=3100
POSTGRES_PASSWORD=replace-with-a-random-database-password
AUTH_SECRET=replace-with-another-random-secret
AUTH_URL=http://localhost:3100
NEXT_PUBLIC_APP_URL=http://localhost:3100
docker compose build
docker compose up -d
docker compose ps -a

Compose 使用官方 Node.js 基础镜像构建本地源码,并运行官方 PostgreSQL 数据库镜像,不使用 WR.DO 预构建镜像。数据库连接由 Compose 内部配置。

migrate 执行 prisma migrate deploy,显示 Exited (0) 是正常状态。迁移成功后 app 启动,访问 http://localhost:3100。

初始化管理员为 [email protected] / 123456,首次登录后修改密码。.env 不应公开。修改端口时同时修改 APP_PORT、AUTH_URL、NEXT_PUBLIC_APP_URL,然后重新构建。

2. 配置认证服务

账号密码登录可以直接使用。Google、GitHub、LinuxDO 等外部认证方式为可选服务,配置后再在后台启用。

提供以下认证方式:

  • Google
  • Github
  • LinuxDo
  • Resend 邮件验证(1.1.5版本后已移除)
  • 邮箱密码登陆

Google 配置

在本部分中,你需要更新以下变量:

.env
GOOGLE_CLIENT_ID = your_secret_client_id.apps.googleusercontent.com;
GOOGLE_CLIENT_SECRET = your_secret_client;

参见配置教程:Authjs - Google OAuth

Github 配置

在本部分中,你需要更新以下变量:

.env
GITHUB_ID = your_secret_client_id;
GITHUB_SECRET = your_secret_client;

参见配置教程:Authjs - Github OAuth

LinuxDo 配置

.env
LinuxDo_CLIENT_ID=
LinuxDo_CLIENT_SECRET=

参见配置教程:Connect LinuxDo

注意在配置Connect LinuxDo时,参考以下配置:

Resend 邮件验证配置

注意,此登陆方式已在 1.1.5 版本之后被移除,可忽略此配置,最新邮件相关配置请参考文档 邮件配置。

邮件部分与 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

.env
NEXT_PUBLIC_EMAIL_R2_DOMAIN=https://email-attachment.wr.do

4. 添加 SCREENSHOTONE_BASE_URL 环境变量

这是 screenshotone API 的基础地址。

你可以通过部署 jasonraimondi/url-to-png 自建服务。 部署说明见:这里

.env
SCREENSHOTONE_BASE_URL=https://api.screenshotone.com

5. 应用服务配置

修改 .env 或公开配置后重新构建:

docker compose up -d --build

未配置的登录方式可在后台关闭。

6. 部署与更新

详见 部署指南 和 GitLab main 更新指南。

Q & A

Worker 错误 - 重定向过多

请访问:

https://dash.cloudflare.com/[account_id]/[zone_name]/ssl-tls/configuration

将 SSL/TLS 加密模式 更改为 Full 模式。