使用 wakapi 统计你的编程时间
· 阅读需 2 分钟
之前用过一段时间的 wakatime,但是 wakatime free 只能保存两周的数据,最近才发现了开源的 wakapi,可以自己搭建一个 wakatime 服务器,保存自己的数据。
安装必要的软件
首先安装 docker 和 caddy,这里不再赘述,可以参考 Docker 和 Caddy。
使用 docker 启动 wakapi
# 创建一个数据卷
docker volume create wakapi-data
SALT="$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w ${1:-32} | head -n 1)"
# 启动容器
docker run -d \
-p 3000:3000 \
-e "WAKAPI_PASSWORD_SALT=$SALT" \
-v wakapi-data:/data \
--name wakapi \
ghcr.io/muety/wakapi:latest
配置 caddy
nano /etc/caddy/Caddyfile
wakapi.example.com {
encode zstd gzip
header {
Strict-Transport-Security "max-age=2592000; includeSubDomains"
}
log {
output file /var/log/caddy/wakapi.dev.access.log
format single_field common_log
}
reverse_proxy http://[::1]:3000
@api path_regexp "^/api.*"
@notapi not path_regexp "^/api.*"
push @notapi /assets/vendor/source-sans-3.css
push @notapi /assets/css/app.dist.css
push @notapi /assets/vendor/petite-vue.min.js
push @notapi /assets/vendor/chart.min.js
push @notapi /assets/vendor/iconify.basic.min.js
push @notapi /assets/js/icons.dist.js
push @notapi /assets/js/base.js
push @notapi /assets/images/logo.svg
}
systemctl restart caddy
配置 wakatime
打开 wakapi.example.com,点击右上角的 Sign Up
注册一个账号,第一个注册的账号会自动成为管理员。
禁止注册
如果不想让其他人注册,可以在 docker run
的时候添加 -e "WAKAPI_ALLOW_SIGNUP=false"
,或者在 docker exec -it wakapi bash
进入容器后,修改 config.yml
文件,将 security.allow_signup
改为 false
。
docker rm wakapi
docker run -d \
-p 3000:3000 \
-e "WAKAPI_PASSWORD_SALT=$SALT" \
-e "WAKAPI_ALLOW_SIGNUP=false" \
-v wakapi-data:/data \
--name wakapi \
ghcr.io/muety/wakapi:latest
配置 wakatime 插件
本地使用首先要创建一个文件
~/.wakatime.cfg
[settings]
api_url = https://wakapi.example.com/api
api_key = 00000000-0000-0000-0000-000000000000
接着去 IDE 中安装 wakatime 即可。