转载

本文前两部分转载于 在 Vercel 部署 umami 网站统计及报错解决 | Tony’s Blog (iamsjy.com),遵循 CC BY 4.0 协议.

原文作者:Tony

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

deploy-umami-analytics-on-vercel-1.png

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

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

准备

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

部署

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

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

deploy-umami-analytics-on-vercel-2.png

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

deploy-umami-analytics-on-vercel-3.png

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

deploy-umami-analytics-on-vercel-4.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 到本地,并进入仓库目录。|

    1
    1

    |

    1
    git clone https://github.com/[你的 GitHub 用户名]/umami && cd umami
  2. 在本地 umami 目录中创建一个 .env 文件,填入 DATABASE_URL= ,后面粘贴数据库连接地址(与 Vercel 环境变量中 DATABASE_URL 的值相同,可以直接复制过来)。

  3. 在本地 umami 目录中执行以下命令:|

    1
    2
    1
    2

    |

    1
    2
    yarn install
    yarn build
  4. 检查详细d报错信息,并根据不同的报错执行不同的修复命令
    如果是 02_add_event_data 错误则执行以下命令|

    1
    1

    |

    1
    yarn prisma migrate resolve --applied "02_add_event_data"

    如果是 03_remove_casade_delete 错误则执行以下命令|

    1
    1

    |

    1
    yarn prisma migrate resolve --applied "03_remove_casade_delete"

    等待命令执行完成,提示 Success! 则表示成功。