A comprehensive Docker Container-based microservices GPS tracking system infrastructure, designed for high-performance GPS data processing, parsing, and database management. This project demonstrates modern DevOps, DataOps, and Infrastructure-as-Code practices for GPS tracking solutions, implementing CI/CD-ready, scalable, and production-grade architecture patterns.
This project implements a robust Docker Container-based GPS tracking infrastructure that can handle multiple GPS device protocols, process real-time location data, and maintain data integrity across distributed databases. The system is built using containerized microservices architecture for scalability, maintainability, and easy deployment across different environments.
- GPS Data Collection Services - Listen to GPS devices and collect raw data
- Data Processing Services - Parse and transform GPS data into structured format
- Database Services - Handle data storage and synchronization
- Monitoring Services - System health checks and maintenance
- Containerization: Docker & Docker Compose
- Backend Languages: Go, Python, Node.js, PHP
- Databases: PostgreSQL
- Orchestration: Cron-based scheduling
- Monitoring: Custom health check scripts
- DevOps Practices: Automated deployment, monitoring, and maintenance
- DataOps Strategy: Data pipeline automation and quality assurance
- Infrastructure-as-Code: Version-controlled infrastructure configuration
- CI/CD Ready: Continuous integration and deployment pipeline support
- Microservices Architecture: Independent service scaling and management
- Container Orchestration: Docker Compose for multi-service coordination
docker/
โโโ ๐ฆ auto-start.sh # Linux System startup automation
โโโ ๐ฆ docker-compose.yml # Main container orchestration
โโโ ๐ฆ portainer-service.yml # Portainer service configuration
โโโ ๐ฆ redtakip-docker.service # Systemd service file
โโโ ๐ฆ start.ps1 # Windows startup script
โโโ ๐ฆ stop.ps1 # Windows shutdown script
โโโ ๐ฆ README.md # Docker setup documentation
โโโ ๐ฆ LINUX_SETUP.md # Linux installation guide
โ
โโโ ๐ batch-processor/ # Python data processing service
โ โโโ Dockerfile # Container build configuration
โ โโโ main.py # Main data processing logic
โ โโโ requirements.txt # Python dependencies
โ โโโ utils/ # Utility modules
โ
โโโ โฐ cron-service/ # Bash automation service
โ โโโ Dockerfile # Container build configuration
โ โโโ backups/ # Database backup storage
โ โโโ logs/ # Service log files
โ โโโ scripts/ # Automation scripts
โ โโโ batch_process.sh # Batch processing automation
โ โโโ db_backup.sh # Database backup automation
โ โโโ go_parse.sh # Go parsing automation
โ โโโ log_clear.sh # Log cleanup automation
โ โโโ parse.sh # Data parsing automation
โ โโโ restart_ping.sh # Service restart automation
โ โโโ startup.sh # System startup automation
โ โโโ system_check.sh # Health monitoring automation
โ
โโโ ๐น go-parse-service/ # Go + PHP parsing service
โ โโโ Dockerfile # Container build configuration
โ โโโ go.mod # Go module definition
โ โโโ go.sum # Go dependency checksums
โ โโโ main.go # Main Go service logic
โ โโโ parse/ # PHP parsing modules
โ โโโ _base/ # Base parsing functions
โ โโโ parse.php # Main parsing logic
โ โโโ test.php # Testing functions
โ
โโโ ๐ go-service/ # Go GPS signal service
โ โโโ Dockerfile # Container build configuration
โ โโโ go.mod # Go module definition
โ โโโ go.sum # Go dependency checksums
โ โโโ main.go # Main GPS service logic
โ
โโโ ๐ก teltonika-service/ # Node.js Teltonika protocol service
โโโ Dockerfile # Container build configuration
โโโ main.js # Main service logic
โโโ package.json # Node.js dependencies
โโโ binutils64/ # Binary utilities
โ โโโ binutils.js # Binary processing utilities
โ โโโ package.json # Package configuration
โ โโโ README.md # Documentation
โโโ teltonika-parser/ # Protocol parsing modules
โโโ codecs/ # Protocol codec implementations
โ โโโ codec.js # Base codec functionality
โ โโโ codec16.js # Codec 16 implementation
โ โโโ codec7.js # Codec 7 implementation
โ โโโ codec8.js # Codec 8 implementation
โโโ index.js # Main parser entry point
โโโ package.json # Package configuration
โโโ README.md # Documentation
โโโ test/ # Testing modules
โโโ test.js # Test implementation
This project leverages Docker containers for several key advantages:
- ๐ Quick Setup: Get the entire system running in minutes with a single command
- ๐ง Consistent Environment: Same behavior across development, testing, and production
- ๐ฆ Dependency Isolation: Each service runs in its own container with specific dependencies
- ๐ Easy Scaling: Scale individual services independently based on demand
- ๐ ๏ธ Simple Deployment: Deploy to any environment (local, cloud, server) without configuration changes
- ๐ Resource Management: Efficient resource allocation and monitoring per service
- ๐ Version Control: Easy rollback and version management for each service
- ๐ Cross-Platform: Works seamlessly on Windows, macOS, and Linux
Technology: Go
Purpose: GPS signal listening for A-brand devices
Features:
- High-performance GPS data collection
- Raw data listening and storage
- Efficient memory management
- Network communication handling
Port: 8888
Technology: Node.js
Purpose: Teltonika GPS device protocol support
Features:
- Multi-protocol support (Codec 7, 8, 16)
- Binary data parsing
- Device communication handling
- Protocol-specific data extraction
Port: 9999
Technology: Python
Purpose: Data processing and database synchronization
Features:
- Batch data processing
- Database synchronization between local and remote
- Data transformation and validation
- Error handling and logging
Technology: Go + PHP
Purpose: GPS data parsing and processing
Features:
- High-speed data parsing
- Multiple data format support
- Custom parsing algorithms
- Data validation and cleaning
Technology: Bash Scripts
Purpose: System automation and maintenance
Features:
- Automated database backups
- System health monitoring
- Log management and cleanup
- Scheduled maintenance tasks
Technology: Portainer
Purpose: Container management and monitoring
Features:
- Web-based Docker container management
- Real-time container monitoring
- Container logs and statistics
- Easy service management interface
Port: 9000
GPS Devices โ Signal Collection โ Data Parsing โ Processing โ Database Storage
โ โ โ โ โ
Go Service Teltonika Parse Service Batch Proc. Local DB โ Remote DB
(Raw Data) (End User Data)
โ
Signal Listening
Data Parsing
Real-time Processing
โ
Clean Data
End User Apps
Geographic Services
Container Management & Monitoring
โ
Portainer Service
- Purpose: Signal listening and data parsing operations
- Tables: Raw GPS data, device logs, parsed information
- Function: Real-time data collection and processing
- Optimization: High-performance queries for data parsing
- Purpose: End-user service and application data
- Tables: Processed and cleaned GPS data for end users
- Function: Serves final applications and user interfaces
- Features: Geographic data support with spatial indexing
- Database Backups: Every 2 hours
- System Health Checks: Daily at 3:00 AM
- Log Cleanup: Automated log rotation and cleanup
- Data Synchronization: Continuous data sync between databases
- Resource Usage: CPU, memory, and disk monitoring
- Service Status: Container health monitoring
- Database Performance: Table sizes and performance metrics
- System Logs: Comprehensive logging and error tracking
- High Throughput: Optimized for high-volume GPS data
- Low Latency: Real-time data processing
- Scalability: Microservices can be scaled independently
- Reliability: Automated failover and recovery
- Monitoring: Comprehensive system health tracking
- Container Isolation: Each service runs in isolated containers
- Network Security: Internal network communication
- Data Encryption: Secure data transmission
- Access Control: Restricted service access
- Audit Logging: Comprehensive activity logging
- Create new service container
- Implement protocol parser
- Add to data processing pipeline
- Update monitoring and logging
- Add new data processing modules
- Implement additional database features
- Create custom monitoring dashboards
- Add new automation scripts
This project showcases a GPS tracking system infrastructure design and architecture. If you're interested in:
- Implementing this system for your organization
- Custom development based on this architecture
- Technical consultation for GPS tracking solutions
- Partnership opportunities in GPS technology
Please contact us directly for collaboration and implementation details.
๐ Website: www.burakbasaran.com
Note: This repository serves as a reference architecture and design showcase, not for direct code contribution.
This project is licensed under the MIT License - see the LICENSE file for details.
For technical support and questions:
- Create an issue in the repository
- Check the documentation
- Review the logs and monitoring data
- Real-time Dashboard: Web-based monitoring interface
- Machine Learning: Predictive analytics for GPS data
- Cloud Integration: Multi-cloud deployment support
- Advanced Analytics: Geographic data analysis tools
- Mobile App: Mobile monitoring application
Note: This system is designed for production use in GPS tracking applications. Ensure proper testing and validation before deploying in production environments.