Skip to main content

OpenGTS

OpenGTS (Open GPS Tracking System) is one of the earliest open-source GPS tracking platforms, originally developed by GeoTelematic Solutions. It provides a web-based interface for tracking and managing GPS-equipped devices, primarily targeting fleet management and asset tracking applications.

Overview

OpenGTS is a Java-based application designed to run on standard servlet containers (Tomcat, Jetty). It was one of the first open-source projects to offer a complete GPS tracking solution with a web interface, database storage, and device communication support.

  • Website: opengts.org
  • GitHub: OpenGTS/OpenGTS
  • Language: Java
  • License: Apache License 2.0
  • Initial Release: 2007
  • Database: MySQL (primary), with experimental PostgreSQL support

Architecture

OpenGTS follows a traditional Java web application architecture:

┌─────────────────────────────────────────────┐
│ Web Interface │
│ (JSP/Servlet + Track Maps) │
├─────────────────────────────────────────────┤
│ Application Layer │
│ (Event Data, Account Management) │
├─────────────────────────────────────────────┤
│ Data Layer │
│ (MySQL Database) │
├─────────────────────────────────────────────┤
│ Device Communication │
│ (DCS - Device Communication Server) │
└─────────────────────────────────────────────┘

The system consists of several core components:

  • GTS: Main web application for viewing tracks and managing accounts
  • DCS (Device Communication Server): Handles incoming GPS data from devices
  • Track: Map visualization module

Key Features

FeatureDescription
Multi-device SupportSupports numerous GPS protocols including GT06, TK103, H02, and custom formats
Account ManagementMulti-user, multi-account system with role-based access
Track VisualizationMap-based track display using OpenStreetMap or Google Maps
GeofencingDefine virtual boundaries and receive entry/exit alerts
ReportsGenerate trip reports, speed reports, and stop reports
API AccessXML/JSON API for integration with external systems
Custom FieldsExtensible device and event data schema

Supported Protocols

OpenGTS includes built-in support for several GPS device communication protocols:

ProtocolDevice TypesCommunication
Gv06Queclink GV300 seriesTCP
H02Various Chinese GPS devicesTCP/UDP
TK103Coban and clonesTCP
MeitrackMeitrack devicesTCP
MTACustom protocolTCP
SpotSPOT satellite trackerHTTP

New protocols can be added by implementing custom DeviceCommAdapter classes.

Installation

Prerequisites

  • Java JDK 8 or later
  • MySQL 5.7+ or MariaDB 10.2+
  • Apache Tomcat 8.5+ or similar servlet container
  • Apache Ant (for building from source)

Basic Setup

# Clone repository
git clone https://github.com/OpenGTS/OpenGTS.git
cd OpenGTS

# Build with Ant
ant all

# Initialize database
mysql -u root -p < sql/initDatabase.sql

# Deploy WAR to Tomcat
cp build/gts.war $CATALINA_HOME/webapps/

Configuration

Key configuration files:

FilePurpose
private.xmlDatabase credentials and site settings
custom.confCustom properties and overrides
DCS_*.xmlDevice communication server configurations

Strengths

  • Mature codebase: Over 15 years of development and deployment history
  • Extensive protocol support: Built-in adapters for many popular GPS devices
  • Multi-tenant: Full account and user management system
  • Self-contained: Single deployment package with embedded database option
  • Documentation: Comprehensive setup guides and API documentation

Limitations

LimitationImpact
Legacy UIInterface feels dated compared to modern web applications
Java overheadHigher resource requirements than lightweight alternatives
MySQL dependencyLimited database flexibility
Development paceSlower update cycle compared to newer projects
Mobile supportNo native mobile applications

Comparison with Traccar

AspectOpenGTSTraccar
LanguageJavaJava
UI FrameworkJSP/ServletAngular (modern SPA)
Protocol Support~202000+
Mobile App✅ (iOS & Android)
REST APIXML/JSONFull REST
Active DevelopmentSlowerVery active
CommunitySmallerLarge
Resource UsageHigherLower

When to Choose OpenGTS

OpenGTS remains a viable option for:

  • Legacy integrations: Existing systems already built on OpenGTS
  • Learning: Understanding GPS tracking system architecture from a simpler codebase
  • Specific protocols: When the exact device protocol is well-supported
  • Customization: When deep modifications to the tracking engine are required

For new deployments with modern requirements, Traccar or OpenFMS generally offer better value with more active development and modern interfaces.

Resources