标题:Dreeve自托管运动仪表板
当Strava在去年收紧API访问、把大部分功能塞进付费墙时,我就在想:有没有办法把运动数据拿回自己手里?毕竟每次跑完步,最大的遗憾是数据归平台管,哪天它改政策你连历史记录都不好导出。Dreeve就是为解决这个场景来的。
下一篇
我的开发成长路径被AI截断了:初级程序员的生存危机 →
它叫Dreeve(前身是Statistics for Strava),一个跑在Docker里的自托管仪表板。你只要把运动文件(FIT/TCX/GPX)扔进去,或者授权一个Strava账号,就能看到分段成绩、装备磨损追踪、热力图、月度日历视图、里程碑统计还有年度回顾。所有数据存在SQLite里,不联网,容器一关就是物理隔离,隐私安全感拉满。
技术栈是PHP 8.5 + Symfony + SQLite + Docker Compose。说实话我看它选PHP有点意外,但跑起来确实轻快,内存占用才几十MB,比那些用Node/Go再套个数据库的玩意省心多了。部署配置就一个docker-compose.yml,改一下环境变量直接up,不需要额外数据库服务,对单用户场景刚刚好。
有个彩蛋:它内置了一个可选的AI锻炼助手,默认是关的,想用的话得自己去配置。我还没试过,不过这种“默认不开启”的设计值得点赞——合你需求的话自己打开,不用就不会被不必要的API调用打扰。缺点也很明确:目前只有单用户,没法搞多租户;分段数据还是依赖Strava的接口(除非你放弃分段功能),这也算是它跟Strava唯一没脱钩的部分。
如果你跟我一样,既不想给运动平台交月费,又希望本地存一份干净的历史数据,值得拿几分钟跑起来试试。不用配数据库、不用搞反向代理,单机Docker环境就能玩。唯一的提醒:记得定期备份那个SQLite文件。