YJK

独立世界

Independent World
twitter
telegram

自建 Umami | 一個開源網站分析工具

Umami 是一種開源的網站分析工具,旨在為用戶提供隱私保護的 Google Analytics 替代方案。使用 Umami,網站管理員可以追踪訪客行為並獲得有關網站性能的見解,而不會侵犯用戶的隱私。Umami 提供實時追踪、可自定義的儀表板和詳細的報告等功能。由於是自托管的,用戶可以完全控制自己的數據,並確保不與第三方公司共享。

這裡簡單介紹一下在 Vercel 部署 Umami 的方法:

0/ 準備工作#

  1. 一個 Github 帳號
  2. 一個 Vercel 帳號(可以通過 Github 登錄)
  3. 一個 Supabase 帳號(可以通過 Github 登錄)

1/ Fork Umami#

登錄 Github,訪問以下 Umami 倉庫,並 Fork 至您的 Github 帳號

進入您 Fork 後的 Umami 倉庫,點擊 Add file - Create new file

image

名稱填 vercel.json,內容填:

{
  "rewrites": [
    {
      "source": "/index.js",
      "destination": "/umami.js"
    }
  ]
}

image

2/ 創建數據庫#

登錄 Supabase,點擊 New project 創建項目,輸入項目名稱、數據庫密碼(十分重要,記錄備用),推薦區域選擇 East US,點擊創建稍等片刻即可。

image

進入項目,點擊設置 - Database - Connection string - URI,複製數據庫連接信息,保存備用(將創建項目時設置的密碼替換其中的 [YOUR-PASSWORD]

image

3/ 在 Vercel 上搭建 Umami#

使用 Github 登錄 Vercel,點擊 Add New... - Project 選擇您 Fork 後的 Umami 倉庫,點擊 Import

image

展開 Environment Variables,輸入以下內容:

  • name HASH_SALT - value 隨機字符串
  • name DATABASE_URL - value 上一步記錄的數據庫連接信息

特別提醒:需要在數據連接信息後面加上 ?pgbouncer=true,例如:

postgresql://postgres:密碼@db.隨機字符.supabase.co:5432/postgres?pgbouncer=true

image

點擊 Deploy 稍等一會即可看見部署成功,由於 Vercel 默認域名 vercel.app 已經被強,推薦進入設置 - Domains 綁定您自己的域名。

先將您的子域名 CNAMEcname-china.vercel-dns.com 再點擊 Add

訪問您的域名,使用用戶名 admin、密碼 umami 進行登錄,登陸後記得修改密碼。

4/ 引用至您的網站#

在 Umami 後台,進入設置頁面,新建網站,複製引用代碼,將代碼粘貼至您網站 </body> 前即可。

image

特別的,由於 Umami 默認的鏈接會被 Adblock 插件屏蔽,導致無法收集網站信息,根據我們第一步的設置,可以將代碼中的 umami.js 替換為 index.js,這樣就不會被 Adblock 屏蔽了,例如:

原代碼:

<script async defer data-website-id="xxxxxx" src="https://tongji.domain.com/umami.js"></script>

修改後:

<script async defer data-website-id="xxxxxx" src="https://tongji.domain.com/index.js"></script>
載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。