Umami dashboardUmami dashboard

Umami 是一款類似 Google Analytics 的網站訪客數據收集、統計與分析工具,只是它是開源的,而且強調對隱私的保護,不會收集你的個人資訊。

當初會知道它,主要基於這兩篇文章:

可以看出,兩位作者採用 Umami 的動機大致相同:主要考慮用戶的隱私權保護,其次則著眼工具本身對網站效能的影響。

我呢?既然知道了這個服務,顯然我也有我的需求。


我也不喜歡 GA4

我雖然不太喜歡 Google Analytics,但倒是沒有那般厭惡。然而!隨著舊版 GA 的停用與 GA4 的到來,必須說:「我真的很不喜歡 GA4!」

對於商業用戶,它可能是利多,畢竟對網站訪客的蒐集行為更細緻了——這也是它招人恨的理由。這意味著商家對「潛在客戶」的了解又增加了幾分。

但對於我這種不營利的普通部落客而言,則新增的功能主要偏向商業不說,舊的、有意義的指標也拿掉了不少。

後台網站的操作界面與和 Looker Studio(Google 自家的 dashboard 服務)的串接體驗都更糟了。

對我來說,GA4 就是個災難。

GA 替代品

如果你也是一個不靠網站盈利的站長,那就未必要選擇 GA 作為數據分析工具。

雖然我們不得不承認,GA 確實強大——而且免費。

免費這可是很大的誘因,而它之所以能夠免費,顯然是因為服務提供者——Google——能夠在別的地方賺到錢!

如果不想用 GA,可選擇的替代品也很多,但大部分需要你付費或有一定成本。這也是為何 GA 依舊是最常見的分析工具,哪怕你不靠網站賺錢。

因為它使用上簡單且免費。

我選擇 Umami 的理由

GA4 的界面讓我很不想用,至少不想常用。雖然我並沒有把它拔除,但我想找一個供平時使用,更簡單、好讀的網站流量儀表版服務。

Google 一下關鍵字「ga alternative」你可以找到一大堆,而我強力推薦 Umami——畢竟我自己也用了!類似的選項還有 FathomMatomoPlausible 等等。

我選擇 Umami 的主要理由只有一個:因為它簡潔且美觀。

Dashboard 這種東西,顏值肯定是第一指標。至於 Umami 的其它賣點,例如對隱私的保護,雖然我也認同,但不是考量上的重點。

總之,如果你不想用 GA,又不知道該選哪個作為替代,就先選 Umami 吧!


部署 Umami 的幾種方式

Umami 雖然是開源的,但和很多開源軟體的一樣,採用類似 WordPress 的 Freemium 模式。

意思是,你可以自行部署在自己的硬體上,比如本機電腦或租來的 VM。也可以直接申請一個付費帳戶,由 Umami 公司幫你託管,即 Umami Cloud 服務。

說真的,如果你稍為研究過,這些付費服務可不算便宜,像 Umami Cloud 一個月就要 9 美元起跳。一個月花 9 美元只為了看看網站數據,你願意?

反正我不願意。

所幸,除了直接付錢,自行部署才是開源的常態。此時你依舊有兩種選擇:

  1. 直接弄個自己的 VM 部署——當然租 VM 是要錢的。
  2. 使用 Railway 這種有一定免費額度的托管平台來進行部署。

從本文標題的可知,我選擇了第一種部署方式:我把 Umami 部署在 DigitalOcean 的 VM 上,並設定好了子域名與 SSL。

免費部署的常見隱憂

我認為,如果你只是打算「試用」一下 Umami,那麼選擇什麼方式都可以,甚至直接付費 Umami Cloud 一個月。

但是,如果用了覺得喜歡,想要長期部署,那我強烈建議不要選擇上述第二種方式。理由有下:

  1. 帶有免費額度的平台通常伴隨著各種限制,而且容易受到政策變更的影響,最有名的例子莫過於 Heroku
  2. 被平台與服務綁定,不利於未來資料的遷移。當然平台理論上也會有備份方案,但就是沒有直接 own 一台 Linux VM 那麼簡單、通用。

簡言之,部署這類服務,長期可持續性是最重要的。而免費額度平台可能會讓你在未來遇到各種麻煩。

當然,如果只是小試水溫,則沒有這麼多顧慮。

選擇 VM 部署的理由

為何選擇 VM?除了前述原因,我再補充一下我的理由。

第一,VM 的環境都是一樣的,足夠通用。不用因為 A 平台要收費了,我又要學習 B 平台怎麼用。資料的備份和遷移也是如此。

其次,對有技術基礎的人而言,用 VM 部署往往更簡單,尤其 Umami 的專案中直接給你一個docker-compose.yml。Docker 用戶都知道,這意味著部署起來會很方便且無腦,比設定什麼免費 db 都要簡單得多。

不過話說回來,如果只是為了部署這單一個服務,特地租一台 VM 還是太過浪費了,錢也沒有省多少——還不如直接付費 Umami Cloud。

換句話說,能讓 VM 有多種用途,會比較划算。

此外,如果選擇用這個方式長期部署,那「自己的域名」和「SSL 憑證」都是必要的。如此才能確保安全性

好吧我承認這真的有點麻煩😅,但我認為這是值得的。


使用 VM 部署 Umami

關於部署 Umami,網路上可以找到比較多上述第二種部署方式,包括教你怎麼註冊、使用那些平台等等。我想不必再贅述。

而如果你想用 VM 部署,那麼一定要參考 DigitalOcean 上的這篇手把手教學:

整個流程大概分成三部分:

  1. 透過 Docker Compose 在 VM 的 localhost 部署 Umami 服務
  2. 設定 Nginx 反向代理,將 3000 port 對應到 80(HTTP)
  3. 透過 Certbot 申請 SSL 憑證(需要有自己的域名)

我基本上就是照著它完成的,順利的話應該不出 1 小時——如果你已經有一台 VM。

雖然我實際花費的時間比 1 小時要多得多,但主要是為了了解整個流程用到的相關知識——主要是 Nginx 和 Docker,所以和 ChatGPT 進行了大量交流、做了很多筆記。

這過程讓我學到不少,包括現學現賣的 virtual hosting(用單一台主機部署多個域名與服務),和複習 Docker 概念。

這無疑是很具體且目標導向的學習。