今天给大家介绍一款优秀的自托管位置追踪平台 —— 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
  • DockerDocker 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

初始设置

  1. 设置管理员邮箱:在环境变量中配置 GEOPULSE_ADMIN_EMAIL,用于指定首个管理员
  2. 创建账号:使用该邮箱注册第一个账户
  3. 配置系统:通过管理面板(/app/admin)调整系统设置
  4. 导入数据:从 Google Timeline、GPX 等导入,或配置 GPS 追踪应用实时同步

进阶功能

  • 好友位置 – 添加好友并查看其实时位置(需对方同意)
  • 分享链接 – 生成临时、可撤销的实时位置分享链接
  • AI 助手 – 自然语言查询位置数据(需自备 OpenAI 兼容 API Key)
  • 自定义地图 – 支持 MapTiler、Mapbox 等卫星图、地形图
  • 深色/浅色主题 – 支持系统主题切换

隐私与安全

  • 自托管 – 数据仅存于你的服务器,不发送给第三方
  • 无追踪 – 无外部分析、无遥测
  • 完整导出 – 支持 GPX、GeoJSON、CSV 等格式导出
  • JWT + HTTP-only Cookie – 安全认证机制

GeoPulse 适合希望替代 Google Timeline、重视隐私的自托管用户。部署简单、资源占用低、功能完善,值得一试!

资源下载
提示:如链接失效,请在评论区留言