No description
  • Python 99.7%
  • Dockerfile 0.3%
Find a file
Tobias Brunner 14ec38ef66
All checks were successful
Build Main Branch / Build Docker Image (push) Successful in 21s
feat(logging): add device alias names to log messages
- GT06 → GT06/G68
- H02 → H02/SinoTrack

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-21 14:29:33 +01:00
.claude allow git commands 2026-01-21 17:21:37 +01:00
.forgejo/workflows correct image tag 2026-03-18 11:49:51 +01:00
docs fix(h02): suppress repeated alarms from stuck SOS bit 2026-01-18 21:28:36 +01:00
src/gps_tracker feat(logging): add device alias names to log messages 2026-03-21 14:29:33 +01:00
.dockerignore chore: add .gitignore and .dockerignore 2026-01-11 12:36:02 +01:00
.env.example feat: add Pushover notifications for SOS/alarm events 2026-01-18 16:47:13 +01:00
.gitignore docs: add Zensical documentation site 2026-01-18 18:56:11 +01:00
CLAUDE.md docs: update CLAUDE.md for new structure 2026-01-11 12:23:56 +01:00
docker-compose.yml feat: log git SHA on startup for version tracking 2026-01-18 17:05:22 +01:00
Dockerfile feat: log git SHA on startup for version tracking 2026-01-18 17:05:22 +01:00
gps_dashboard.py initial commit 2026-01-10 15:31:20 +01:00
pyproject.toml docs: add Zensical documentation site 2026-01-18 18:56:11 +01:00
README.md docs: simplify README and point to Zensical docs 2026-01-18 20:17:45 +01:00
uv.lock docs: add Zensical documentation site 2026-01-18 18:56:11 +01:00
zensical.toml fix(docs): correct zensical navigation config syntax 2026-01-18 18:57:13 +01:00

GPS Tracker Server

A multi-protocol Python server for receiving and visualizing location data from GPS tracking devices. Supports MQTT publishing in OwnTracks format.

Supported Devices

Protocol Devices Default Port
GT06/Topin 365GPS G68, ZX303, ZX612, and similar 5023
H02/SinoTrack ST-904L, ST-901, and similar 5014

Features

  • Multi-protocol support (GT06, H02) in a single process
  • Decodes binary and ASCII GPS protocols
  • Stores locations in JSON Lines format
  • MQTT publishing in OwnTracks format
  • Battery status tracking
  • Alarm detection (SOS, power cut, vibration, geofence, overspeed, low battery)
  • Server-to-device commands (location request, set interval, restart, etc.)
  • LBS/WiFi positioning support
  • Pushover notifications for alarms
  • Single Docker container for all protocols

Quick Start

docker compose up -d --build
docker compose logs -f

Using UV (development)

uv sync
uv run gps-tracker -p gt06:5023 -p h02:5014

Documentation

Full documentation is available at the docs site:

# Preview documentation locally
uv run zensical serve

# Build documentation
uv run zensical build

Documentation Sections

Development

# Install dependencies
uv sync

# Run with debug logging
uv run gps-tracker -p gt06 -p h02 --debug

# Interactive mode (start server with console)
uv run gps-tracker -p gt06 -p h02 -i

# Connect to running server
uv run gps-tracker -C

Docker Build

docker build --build-arg GIT_SHA=$(git rev-parse --short HEAD) -t git.tbrnt.ch/tobru/g68-gps:latest .
docker push git.tbrnt.ch/tobru/g68-gps:latest

License

MIT - Use freely for personal and commercial projects.