今天给大家介绍一款优秀的自托管位置追踪平台 —— GeoPulse,它是 Google Timeline 的完美开源替代品,支持自动行程检测、Immich 照片集成和详细数据分析。你的所有 GPS 数据都保存在自己的服务器上,完全掌控隐私。
项目概述
GeoPulse 将 OwnTracks、Overland、GPSLogger、Dawarich 或 Home Assistant 等追踪应用采集的原始 GPS 数据,自动整理成清晰的时间线和洞察。系统会自动将位置数据分类为「停留」和「行程」,让你一目了然地查看自己的移动轨迹。
GitHub 数据:⭐ 536+ Stars | 🍴 23 Forks | 📜 BSL 1.1 协议(个人/教育/非商业免费)
核心特性
🗺️ 时间线与地图
- 自动分类 – 智能算法将 GPS 数据分为停留、行程和数据缺失
- 交互式地图 – 完整展示你的移动历史
- Rewind 统计 – 月度、年度位置模式洞察
- Immich 集成 – 在时间线地图上直接查看照片
📱 兼容的 GPS 追踪应用
- OwnTracks(iOS/Android)– HTTP 和 MQTT
- Overland(iOS)– HTTP
- GPSLogger(Android)– HTTP
- Dawarich(iOS/Android)– HTTP + API Key
- Home Assistant – 官方集成
📥 数据导入
支持从 Google Timeline、GPX、GeoJSON、OwnTracks、CSV 等格式导入历史数据。
⚡ 性能与资源
- 内存占用 – 仅 40–100MB(同类应用通常 500MB+)
- 技术栈 – Java (Quarkus Native) + PostGIS
- 小服务器友好 – 可在低配 VPS 上运行多年数据
部署方式
前置要求
- 最低配置:512MB RAM、1–2 vCPU
- Docker 和 Docker Compose
Docker Compose 快速部署
# 克隆仓库
git clone https://github.com/tess1o/geopulse.git
cd geopulse
# 启动服务(首次会拉取镜像并初始化数据库)
docker compose up -d
# 查看日志
docker compose logs -f
部署完成后访问:http://localhost:5555
生产环境配置
如需自定义域名和反向代理,可参考项目中的 docker-compose-complete.yml,配置 Nginx/Caddy 等反向代理及 HTTPS。
Kubernetes / Helm 部署
helm repo add geopulse https://tess1o.github.io/geopulse/charts
helm repo update
helm install my-geopulse geopulse/geopulse
初始设置
- 设置管理员邮箱:在环境变量中配置
GEOPULSE_ADMIN_EMAIL,用于指定首个管理员 - 创建账号:使用该邮箱注册第一个账户
- 配置系统:通过管理面板(
/app/admin)调整系统设置 - 导入数据:从 Google Timeline、GPX 等导入,或配置 GPS 追踪应用实时同步
进阶功能
- 好友位置 – 添加好友并查看其实时位置(需对方同意)
- 分享链接 – 生成临时、可撤销的实时位置分享链接
- AI 助手 – 自然语言查询位置数据(需自备 OpenAI 兼容 API Key)
- 自定义地图 – 支持 MapTiler、Mapbox 等卫星图、地形图
- 深色/浅色主题 – 支持系统主题切换
隐私与安全
- 自托管 – 数据仅存于你的服务器,不发送给第三方
- 无追踪 – 无外部分析、无遥测
- 完整导出 – 支持 GPX、GeoJSON、CSV 等格式导出
- JWT + HTTP-only Cookie – 安全认证机制
GeoPulse 适合希望替代 Google Timeline、重视隐私的自托管用户。部署简单、资源占用低、功能完善,值得一试!

评论(0)