快速开始
快速开始
您可以使用多种方式部署 PicImpact
Vercel
我们推荐当新版本发布时您再进行版本更新!
你可以点击下面的按钮来一键部署到 Vercel,然后将 Build Command
设置为 pnpm run build:vercel
,也可以 Fork 项目后手动部署到任何支持的平台。
Key | 备注 |
---|---|
DATABASE_URL | postgres://postgres.[your-supabase-project]:[password]@aws-0-[aws-region].pooler.supabase.com:6543/postgres?pgbouncer=true ,?pgbouncer=true 用于使用 supabase 的连接池。 |
DIRECT_URL | postgres://postgres.[your-supabase-project]:[password]@aws-0-[aws-region].pooler.supabase.com:5432/postgres ,用于 prisma migrate ,如果使用非 serverless 数据库,与 DATABASE_URL 保持一致即可。 |
BETTER_AUTH_SECRET | 权限机密,你可以执行 npx auth secret 生成一个,反正是随机的字符串就行 |
BETTER_AUTH_URL | 如果您使用 nginx 进行反向代理,需要填写访问地址,如:https://example.com |
BETTER_AUTH_PASSKEY_RP_ID | Passkey 依赖方标识符,通常填写您的域名,如:example.com 。本地开发可填写 localhost |
BETTER_AUTH_PASSKEY_RP_NAME | Passkey 依赖方名称,显示给用户的应用名称,如:PicImpact 或您的应用名称 |
非常重要
升级至 v2.6.0,以及新部署的用户,在部署完毕后,自行注册用户即可!
关于 Passkey 配置
BETTER_AUTH_PASSKEY_RP_ID
是 WebAuthn 依赖方标识符,必须与您的域名匹配BETTER_AUTH_PASSKEY_RP_NAME
是显示给用户的应用名称,会在 Passkey 注册时展示- Passkey 功能依赖 HTTPS 环境,本地开发除外(可使用 localhost)
- 如果不配置这两个环境变量,Passkey 功能将使用默认值但可能影响用户体验
注意事项
请根据您的数据库供应商来填写正确的数据库 connect url
,表格中的示例为 supabase
供应商。
如果是 Vercel 部署,直接将 Build Command
设置为 pnpm run build:vercel
即可。
如果您自行使用 node 部署,请使用 pnpm run build:node
命令来构建。
Docker
你可以使用 Docker 来部署 PicImpact,当然 containerd 和 k8s 也是可以的。
docker run -d --name picimpact \
-p 3000:3000 \
-e DATABASE_URL="postgresql://[用户名]:[密码]@[地址和端口]/[数据库]" \
-e DIRECT_URL="postgresql://[用户名]:[密码]@[地址和端口]/[数据库]" \
-e BETTER_AUTH_SECRET="自己运行npx auth secret或一串随机的字符串都行" \
besscroft/picimpact:latest
值得注意
如果您使用 Docker Compose
,存在无法访问数据库的问题,请尝试将环境变量的双引号去掉。即 DATABASE_URL="连接信息"
-> DATABASE_URL=连接信息
。
手动构建
您也可以手动构建,然后运行在自己服务器的 Node 上。
pnpm run build:node
CDN 配置
如果您使用 Cloudflare 来作为 CDN,您需要配置缓存规则 Cache Rules,添加 /_next/image*
,如图: