
前言
最近逛木木佬的博客看到前端调用 Umami API 这篇文章,看封面图像是网站访问统计啥的,一搜发现是类似 51la 统计的玩意,还开源,支持 Serverless 自部署,有东西折腾,搞!
准备工作
- Github 账号
- Vercel 账号
- 数据库
- 自己的域名(可选)
部署完成之后默认会给你的项目分配一个 vercel.app 的三级域名,但是在 2021 年 vercel.app 域名被墙,大陆地区无法访问,因此强烈建议自己准备域名
一、开搞
(一)Fork 官方 GitHub 仓库Fork

(二)打开 Vercel 然后通过 GitHub 快捷登录通过 GitHub 快捷登录

(三)打开 Storage 选项卡创建 Postgre出现以下界面表示创建成功sql

(四)打开 Dashboard,点击 Add new – ProjectAdd new – Project

(五)Import Git Repository 选择 Continue With GitHub
(六)此时会跳转到 GitHub 批准 Vercel 访问,建议选择允许访问全部仓库,当然你也可以设置仅可访问部分仓库。
选择你复刻的仓库
(七)设置部署参数和环境变量
变量名:HASH_SALT 值:自定义字符串
变量名:DATABASE_URL 值:数据库链接
例:
postgresql://username:mypassword@localhost:5432/mydb mysql://username:mypassword@localhost:3306/mydb
变量名:TRACKER_SCRIPT_NAME 值:自定义统计脚本名
最后点击 Deploy 部署

部署成功后会显示 Congratulation 页面(部署时长两分钟左右)success

(八)添加自定义域名
如果你有域名,直接从此界面右边 “Add Domain” 进入添加域名,Vercel 会自动生成 SSL 证书(开启 https)。没有的话直接右上角 “Go to Dashboard” 就可以看到 Vercel 为你准备的域名
(九)登录Umami
打开 Umami,初次登录输入默认用户名 admin
与默认密码 umami
,login

(十)Enjoy~
二、报错及注意事项
新版本界面有所变化,请注意DATABASE_URL ,大部分部署失败都是这里没有填写正确。以下解决办法来自 Tony’s Blog:
你需要准备一台 Linux x86 VPS(不能是 arm64)。如果没有,建议使用 GitHub Codespaces 来操作。
以下是详细步骤:
数据库连接失败(Unable to connect to the database)
请检查 Vercel 环境变量中 DATABASE_URL
的值是否填写正确,有没有多加 DATABASE_URL
。修改后重新部署即可。
数据库连接失败(A migration failed to apply.)
- 将你 fork 的 umami 仓库 clone 到本地,并进入仓库目录。git clone https://github.com/[你的 GitHub 用户名]/umami && cd umami
- 在本地 umami 目录中创建一个
.env
文件,填入DATABASE_URL=
,后面粘贴数据库连接地址(与 Vercel 环境变量中DATABASE_URL
的值相同,可以直接复制过来)。 - 在本地 umami 目录中执行以下命令:yarn install
yarn build - 检查详细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!
则表示成功。