使用開源 Wakapi 代替 WakaTime 統計編碼時間

語言: CN / TW / HK

之前折騰 GitHub Profile 的時候發現了 [[WakaTime]] 這樣一款統計編碼時間的工具,之後在讀 waka-readme 專案的時候發現,還有兩個完全開源的後端相容版本,一個是 Golang 編寫的 [[wakapi]] ,一個是 Huskell 編寫的 hakatime

這篇就來總結一下

wakapi 是一個相容 [[WakaTime]] 的可自行架設的後端程式,和 WakaTime 一樣可以用來統計程式碼。

Installation

使用 docker-compose 安裝。

直接 clone 專案,修改環境變數,然後啟動即可。

git clone https://github.com/einverne/dockerfile.git
cd dockerfile/wakapi/
cp env .env
# edit .env setup SALT and WAKAPI_DATA
# SALT 可以執行命令 cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w ${1:-32} | head -n 1
# WAKAPI_DATA 配置一個本地可讀寫的路徑
docker-compose up -d

我的配置中沒有暴露 3000 埠,我是和Nginx Proxy Manager 一起使用的,在 Nginx Proxy Manager 後臺,配置一個 HOST,設定 wakapi:3000 ,然後去 Cloudflare 後臺將域名 wakapi.einverne.info 設定一個 A 記錄指向 Nginx 所在的伺服器。等待 DNS 生效,訪問後臺 wakapi.einverne.info 後臺即可。

我個人會一直使用 wakapi.einverne.info 服務,所以如果你感興趣,也可以直接使用這個服務。

服務啟動之後,註冊登入,然後就可以配置編輯器外掛,把 IntelliJ IEDA,[[VSCode]],[[Vim]] 先配置上。這部分可以直接檢視 WakaTime 的官方文件。

GitHub Actions