在 Vercel 部署 umami 网站统计及报错解决

教程

Umami 是一种简单、快速的网站分析替代品,可替代 Google Analytics。

注:本文前两部分转载于 Lemonawa’s Blog,遵循 CC BY 4.0 协议,报错解决部分为原创。

准备

  • 一个GitHub账号
  • 一个Vercel账号(可直接由GitHub登录)
  • 一个supabase账号(可直接由GitHub登录)

部署

访问umami的代码仓库,将其Fork至自己的账户中。

登录supabase,单击New Project来新建一个数据库,根据提示设置数据库名称和密码。

5627ac372417e2febc0edacf205d3298.png

进入刚刚新建的Project,点击左边的SQL Editor(命令图标)- New query来新建查询,并将此处的命令全部复制到框中,随后点击RUN,看见Success即可。

c43151ab47a9455f44a9b710ae6757fc.png

然后打开Vercel,登录,点击New Project,在左侧选中Fork的项目,点击Environment Variables来设置环境变量:

c43c6cea3c9bbafc2f01c80e51216450.png

DATABASE_URL: postgresql://postgres:[YOUR-PASSWORD]@[Your-URI]:5432/postgres(在supabase project-左侧设置-Database-Connection string-URI获得)

HASH_SALT: 随机英文字符串(滚键盘)

然后点击部署,部署完成后会给一个域名,点击即可进入

用户名:admin

默认密码:umami

报错解决

你需要准备一台 Linux x86 VPS(不能是 arm64)。如果没有,建议使用 GitHub Codespaces 来操作。

以下是详细步骤:

数据库连接失败(Unable to connect to the database)

请检查 Vercel 环境变量中 DATABASE_URL 的值是否填写正确,有没有多加 DATABASE_URL。修改后重新部署即可。

数据库连接失败(A migration failed to apply.)

  1. 将你 fork 的 umami 仓库 clone 到本地,并进入仓库目录。
    git clone https://github.com/[你的 GitHub 用户名]/umami && cd umami
  2. 在本地 umami 目录中创建一个 .env 文件,填入 DATABASE_URL= ,后面粘贴数据库连接地址(与 Vercel 环境变量中 DATABASE_URL 的值相同,可以直接复制过来)。
  3. 在本地 umami 目录中执行以下命令:
    yarn install
    yarn build
  4. 检查详细d报错信息,并根据不同的报错执行不同的修复命令
    如果是 02_add_event_data 错误则执行以下命令
    yarn prisma migrate resolve --applied "02_add_event_data"
    如果是 03_remove_casade_delete 错误则执行以下命令
    yarn prisma migrate resolve --applied "03_remove_casade_delete"
    等待命令执行完成,提示 Success! 则表示成功。

本文作者:Tony

本文链接: https://blog.iamsjy.com/2022/10/04/deploy-umami-analytics-on-vercel/

文章默认使用 CC BY-NC-SA 4.0 协议进行许可,使用时请注意遵守协议。

评论