前言

如果你曾經受夠了 Google Analytics 那像迷宮一樣的設定介面,或者受夠了每次打開網站都要彈出一個「我們使用 Cookie」的橫幅,那麼 Medama Analytics 可能會是你一直在找的解藥。

Medama 是一個開源、自架、隱私優先的網站分析工具。它的核心理念很簡單:不靠 Cookie、不記錄 IP、不採集指紋,只用不到 1KB 的輕量追蹤腳本,就能幫你掌握網站的流量狀況。而且,它只是一個單一執行檔,沒有外部資料庫需要設定,512MB 記憶體的虛擬機器就能跑。

今天這篇文章,我會帶你從零開始,用 Docker 在 3 分鐘內把 Medama 架起來,並且把追蹤器嵌入你的網站。不需要資料庫、不需要 Node.js、不需要 npm install——真的只要三行 Docker 指令。

- 廣告 -

為什麼選擇 Medama?

在開始架站之前,先來看看 Medama 到底有什麼特別。

隱私至上,不用怕 GDPR

Medama 追蹤頁面瀏覽、來源頁面、訪客數等基礎指標,但不設定 Cookie、不記錄 IP 位址、不做瀏覽器指紋識別。這意味著對於歐盟使用者來說,你幾乎可以不用放 Cookie 橫幅,自然符合 GDPR 和 PECR 規範。

輕量到不可思議

  • 追蹤腳本不到 1KB(相比之下,Google Analytics 的腳本超過 40KB)
  • 後端用 Go 語言寫成單一執行檔,沒有外部依賴
  • 最低 256MB 記憶體就能跑(官方建議 512MB)
  • 資料庫使用 DuckDB,內嵌在執行檔裡,完全不需要額外安裝 PostgreSQL 或 MySQL

開源且授權友善

核心程式碼採用 Apache 2.0 授權,追蹤器腳本採用 MIT 授權。你可以自由修改、分發、甚至商用。

跟 Umami、Plausible 比起來?

如果你聽過 Umami 或 Plausible 這兩款隱私分析工具,Medama 的差異在於:

特性MedamaUmamiPlausible
資料庫需求無(DuckDB 內嵌)PostgreSQL / MySQL需要外部資料庫
單一執行檔
最低記憶體256MB512MB+512MB+
開源✅(部分)
自架免費✅(Cloud 版付費)

簡單來說,Medama 走的是「極簡自架」路線。如果你想要最少的資源佔用和最簡單的部署流程,Medama 是目前市面上最輕量的選擇。

架站準備

在開始之前,你需要準備:

  1. 一台伺服器:任何能跑 Docker 的 Linux 機器都行,256MB 記憶體以上
  2. 一個域名(選填):如果你想要用 HTTPS 訪問的話
  3. 基本 Docker 知識:會跑 docker run 就夠了

沒有域名也沒關係,先用 localhost 跑起來再說。

步驟一:用 Docker 快速部署

最推薦的方式是用 Docker,因為它幫你處理了所有環境依賴。

建立資料卷

首先,建立一個 Docker volume 來存放 Medama 的資料庫檔案:

docker volume create medama-data

啟動容器

接著,用這一行指令啟動 Medama:

docker run -d -p 8080:8080 -v medama-data:/app/data ghcr.io/medama-io/medama:latest

這行指令做了三件事:

  • -d:在背景執行
  • -p 8080:8080:把容器的 8080 端口映射到主機
  • -v medama-data:/app/data:把資料庫資料持久化到 volume

就這一行。不需要設定資料庫、不需要跑 migration、不需要安裝依賴。

用 Docker Compose(推薦)

如果你有專案管理習慣,用 Docker Compose 會更方便維護:

version: '3'

services:
    medama:
        image: ghcr.io/medama-io/medama:latest
        ports:
            - "8080:8080"
        volumes:
            - medama-data:/app/data
        restart: unless-stopped

volumes:
    medama-data:

存成 docker-compose.yml 後,執行:

docker-compose up -d

搞定。

步驟二:首次登入與設定

現在打開瀏覽器,訪問 http://你的伺服器IP:8080

⚠️ 注意:首次登入必須使用 localhostHTTPS 連線,用 HTTP 連線會登入失敗。如果你用外部 IP 訪問,建議先設定反向代理加上 SSL。

預設的登入帳號是:

  • 帳號:admin
  • 密碼:CHANGE_ME_ON_FIRST_LOGIN

登入後,系統會強制你修改密碼。建議立刻改掉預設值。

步驟三:新增你的網站

登入後,在儀表板中找到「新增網站」的選項,填入:

  1. 網站名稱:隨便取,方便自己分辨就好
  2. 域名:你的網站網址,例如 example.com

新增完成後,Medama 會給你一段追蹤腳本的代碼。

步驟四:嵌入追蹤腳本

Medama 會給你一段類似這樣的 HTML 代碼:

<script defer src="https://你的-medama-domain.com/script.js"></script>

把這段代碼貼到你網站的 <head> 標籤內,就完成了。

💡 提示script.js 這個腳本只有不到 1KB,對頁面載入速度的影響幾乎可以忽略不計。

如果你的網站是用 WordPress 架的,可以安裝像 “Insert Headers and Footers” 這類外掛,把腳本貼到 Header 區域。如果是靜態網站,直接編輯 HTML 檔案即可。

步驟五:開始看數據

刷新你的網站頁面,回到 Medama 儀表板,你應該就能即時看到訪客數據了。

Medama 的儀表板提供以下資訊:

  • 即時訪客數:目前有多少人在你的網站上
  • 頁面瀏覽統計:哪些頁面最熱門
  • 來源分析:訪客從哪裡來(搜尋引擎、直接輸入、社群媒體等)
  • 裝置統計:桌面、平板、手機的流量分佈
  • 地理位置:訪客來自哪些國家和城市

所有數據都是實時更新的,不需要等待 24 小時的處理延遲。

進階設定:反向代理 + SSL

如果你有自己的域名,建議用 Nginx 或 Caddy 設定反向代理,這樣就能用上 HTTPS,也能用自訂網域訪問。

Nginx 設定範例

server {
    listen 443 ssl http2;
    server_name analytics.example.com;

    ssl_certificate /etc/letsencrypt/live/analytics.example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/analytics.example.com/privkey.pem;

    location / {
        proxy_pass http://localhost:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

使用 Caddy(更簡單)

如果你嫌 Nginx 設定麻煩,Caddy 可以自動申請 Let’s Encrypt 憑證:

a}nalyrteivcesr.seex_apmrpolxey.cloomca{lhost:8080

存檔後重啟 Caddy 就自動搞定 SSL。

進階設定:環境變數

Medama 支援透過環境變數進行設定,最常用的是修改預設帳號密碼:

services:
    medama:
        image: ghcr.io/medama-io/medama:latest
        ports:
            - "8080:8080"
        volumes:
            - medama-data:/app/data
        environment:
            - MEDAMA_DEFAULT_USERNAME=myadmin
            - MEDAMA_DEFAULT_PASSWORD=mypassword
        restart: unless-stopped

更多可用的環境變數,可以參考官方文件中的 Environment Variables 頁面。

總結

Medama Analytics 是目前最輕量、最容易自架的隱私分析工具之一。它的優點很明確:

  • 部署極簡:一行 Docker 指令搞定,沒有資料庫、沒有依賴
  • 資源佔用低:256MB 記憶體就能跑,追蹤腳本不到 1KB
  • 隱私友好:不設 Cookie、不記 IP、不採指紋,GDPR 免煩惱
  • 開源免費:Apache 2.0 + MIT 授權,自由修改分發

如果你正在尋找 Google Analytics 的替代方案,又不想被複雜的設定搞到頭昏,Medama 值得你花 3 分鐘試試看。

官方文件:oss.medama.io GitHub:medama-io/medama

- 廣告 -