自托管编程统计平台Wakapi快速部署指南,Docker Compose一键启动自己的数据私密服务
作者
小编
发布时间

项目介绍
Wakapi 是一款自托管的、开源的编程统计平台,完全兼容 WakaTime 生态。它允许开发者追踪自己的编程活动,包括项目、编程语言、使用编辑器、工作主机和操作系统等详细统计数据。相比于依赖第三方服务,Wakapi 让你完全掌控自己的数据隐私和安全,是开发者的完美自托管方案。
无论你是想要深入了解自己的编程习惯,还是想要生成周报进行工作总结,Wakapi 都能轻松胜任。它支持 REST API、Prometheus 指标导出、每周邮件报告、公开排行榜等丰富功能,性能闪电般迅速,是追踪编程统计的最佳选择。
项目地址: 点我跳转
部署安装
如果你需要在外网访问 Wakapi 实例,可以配置内网穿透来实现远程访问。建议使用 帕斯内网穿透 这样的专业内网穿透服务,先注册账号备好。具体的使用步骤可以参考 这份详细指南,从零开始快速上手。
我们为技术小白准备了最简单快速的部署方式,使用 Docker Compose 一键启动,无需复杂配置。
使用 Docker Compose 部署
复制下列的配置文件到你的 NAS 或服务器上,保存为 `docker-compose.yml`:
1services:2 wakapi:3 build: .4 init: true5 ports:6 - 3000:30007 restart: unless-stopped8 environment:9 WAKAPI_DB_TYPE: 'postgres'10 WAKAPI_DB_NAME: 'wakapi'11 WAKAPI_DB_USER: 'wakapi'12 WAKAPI_DB_HOST: 'db'13 WAKAPI_DB_PORT: '5432'14 WAKAPI_DB_PASSWORD_FILE: '/run/secrets/db_password'15 WAKAPI_PASSWORD_SALT_FILE: '/run/secrets/password_salt'16 WAKAPI_MAIL_SMTP_PASS_FILE: '/run/secrets/smtp_pass'17 secrets:18 - source: password_salt19 target: password_salt20 uid: '1000'21 gid: '1000'22 mode: '0400'23 - source: smtp_pass24 target: smtp_pass25 uid: '1000'26 gid: '1000'27 mode: '0400'28 - source: db_password29 target: db_password30 uid: '1000'31 gid: '1000'32 mode: '0400'3334 db:35 image: postgres:1736 restart: unless-stopped37 environment:38 POSTGRES_USER: 'wakapi'39 POSTGRES_PASSWORD_FILE: '/run/secrets/db_password'40 POSTGRES_DB: 'wakapi'41 volumes:42 - wakapi-db-data:/var/lib/postgresql/data43 secrets:44 - db_password4546secrets:47 password_salt:48 environment: WAKAPI_PASSWORD_SALT49 smtp_pass:50 environment: WAKAPI_MAIL_SMTP_PASS51 db_password:52 environment: WAKAPI_DB_PASSWORD5354volumes:55 wakapi-db-data: {}
打开你的 NAS 系统(如飞牛 NAS、群晖等)或 Linux 服务器。
在部署前,需要先设置必要的环境变量。打开终端,执行以下命令生成密钥和设置密码:
1export WAKAPI_PASSWORD_SALT=changeme2export WAKAPI_DB_PASSWORD=changeme3export WAKAPI_MAIL_SMTP_PASS=changeme45docker compose up -d
稍等片刻,Docker 会自动拉取镜像并启动容器。
端口配置说明
Wakapi 默认使用 3000 端口 进行访问。如果你的系统中 3000 端口已被占用,可以修改 `docker-compose.yml` 中的端口映射配置:
1ports:2 - '你要使用的端口:3000' # 修改冒号前的数字即可,容器内部仍然使用 3000
例如要使用 8080 端口,改为 `'8080:3000'` 即可。记住修改后的端口号,后续访问时需要用到。
数据持久化
Wakapi 使用 PostgreSQL 数据库存储所有数据。Docker Compose 配置中已经自动创建了 `wakapi-db-data` 数据卷来持久化数据库文件,无需额外操作,你的所有编程统计数据都会被妥善保存。
环境变量设置
必须设置的环境变量:
WAKAPI_PASSWORD_SALT:用于密码加密的盐值,请设置一个强随机字符串
WAKAPI_DB_PASSWORD:PostgreSQL 数据库密码,请设置一个安全的密码
可选设置的环境变量:
WAKAPI_LEADERBOARD_ENABLED:是否启用公开排行榜(默认:true)
WAKAPI_ALLOW_SIGNUP:是否允许新用户注册(默认:true)
WAKAPI_DISABLE_FRONTPAGE:是否禁用首页(默认:false,个人实例可设为 true)
WAKAPI_MAIL_SMTP_PASS:邮件 SMTP 密码(仅在需要发送周报时配置)
其他配置项保持默认即可,系统会自动使用最优设置。
访问应用
部署完成后,在浏览器中访问:
1http://你的服务器IP:3000
如果一切正常,你会看到 Wakapi 的登录界面。点击注册创建账户,然后按照提示在你的代码编辑器中安装 WakaTime 插件,配置 API 地址指向你的 Wakapi 实例即可开始记录编程统计数据。
到这里,Wakapi 的部署就完成了!你现在拥有了一个完全属于自己的编程统计平台。
总结
通过 Docker Compose,我们只需简单几步就能快速部署 Wakapi。它提供了强大的编程统计功能,同时保护了你的数据隐私。无论你是独立开发者还是团队成员,都能从中受益。现在就开始追踪你的编程时间,发现自己的编程规律吧!