Tracker
Open-Source Event Tracking
Track events, monitor deployments, and manage your infrastructure
π― What is Tracker?
Tracker is a comprehensive event tracking and observability platform designed for modern distributed systems. It helps teams monitor deployments, track incidents, manage infrastructure catalogs, and coordinate operations across services.
Why Tracker?
- π Free & Open Source - No vendor lock-in, full control over your data
- π Easy to Deploy - Single Docker image with frontend & backend
- π Rich UI - Beautiful React interface with dark mode
- π Multi-Protocol - gRPC, REST, and Swagger UI
- π Observable - Built-in Prometheus metrics
- π Real-time - Track events as they happen
- π¨ Customizable - Extend and adapt to your needs
Use Cases
- Deployment Tracking - Monitor all deployments across environments
- Incident Management - Track incidents from detection to resolution
- Configuration Drift - Detect and manage infrastructure drifts
- RPA Monitoring - Track robotic process automation executions
- Service Catalog - Maintain inventory of services, libraries, and modules
- Distributed Locking - Coordinate operations across services
β¨ Features
π― Event Management
- Multiple Event Types: Deployments, Operations, Drifts, Incidents, RPA Usage
- Rich Metadata: Priority, Status, Environment, Owner, Impact tracking
- Linking: Connect events to PRs, tickets, and related events
- Search & Filter: Powerful search across all event attributes
- Timeline View: Visualize events chronologically
- Calendar View: See events in a calendar format
π¦ Service Catalog
- Inventory Management: Track modules, libraries, projects, containers
- Version Tracking: Monitor versions across your infrastructure
- Multi-Language: Support for Go, Java, Python, JavaScript, and more
- Repository Links: Direct links to GitHub/GitLab repositories
- Documentation: Link to service documentation
π Distributed Locking
- Exclusive Locks: Prevent concurrent operations
- Lock Ownership: Track who owns which locks
- Automatic Cleanup: Locks expire automatically
- Coordination: Synchronize deployments and operations
π¨ Modern UI
- Dashboard: Overview of recent events and statistics
- Timeline: Chronological event view with filtering
- Calendar: Monthly calendar view of events
- Dark Mode: Beautiful dark theme support
- Responsive: Works on desktop, tablet, and mobile
- Real-time: Auto-refresh and live updates
π API & Integration
- gRPC API: High-performance native API
- REST API: HTTP/JSON endpoints via grpc-gateway
- Swagger UI: Interactive API documentation
- OpenAPI Spec: Standard API specification
- Prometheus: Built-in metrics endpoint
π Quick Start
Using Docker (Recommended)
# Build the image
docker build -t bananaops/tracker:latest .
# Run the container
docker run -p 8080:8080 -p 8081:8081 -p 8765:8765 bananaops/tracker:latest
Access the application:
Using Docker Compose
# Start the application
docker-compose up -d
# View logs
docker-compose logs -f
# Stop the application
docker-compose down
From Source
Backend:
# Clone the repository
git clone https://github.com/BananaOps/tracker.git
cd tracker
# Run the server
go run main.go serv
Frontend:
# Install dependencies
cd web
npm install
# Start development server
npm run dev
π Documentation
Getting Started
Development
Database
Integration
ποΈ Architecture
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Web Browser β
β http://localhost:8080 β
ββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββ
β
βββββββββββββββββΌββββββββββββββββ
β β β
ββββββΌβββββ ββββββΌβββββ ββββββΌβββββ
β React β β REST β β Swagger β
β UI β β API β β UI β
βββββββββββ ββββββ¬βββββ βββββββββββ
β
βββββββββΌβββββββββ
β grpc-gateway β
β (RESTβgRPC) β
βββββββββ¬βββββββββ
β
ββββββββββββββββΌβββββββββββββββ
β β β
ββββββΌβββββ βββββΌβββββ βββββΌβββββ
β Event β βCatalog β β Lock β
β Service β βService β βService β
ββββββ¬βββββ βββββ¬βββββ βββββ¬βββββ
β β β
βββββββββββββββΌβββββββββββββββ
β
ββββββββΌβββββββ
β MongoDB β
β / FeretDB β
βββββββββββββββ
π― Use Cases & Examples
1. Track Deployments
curl -X POST http://localhost:8080/api/v1alpha1/event \
-H "Content-Type: application/json" \
-d '{
"title": "Deploy service-api v2.1.0 to production",
"attributes": {
"message": "Deployed via GitHub Actions",
"type": 1,
"priority": 2,
"service": "service-api",
"status": 3,
"environment": 7,
"owner": "platform-team"
},
"links": {
"pullRequestLink": "https://github.com/org/repo/pull/123",
"ticket": "PROJ-456"
}
}'
2. Monitor Configuration Drifts
Track when infrastructure configuration deviates from expected state:
- Detect manual changes
- Monitor Terraform drifts
- Track Kubernetes config changes
3. RPA Usage Tracking
Monitor robotic process automation executions:
- Track automation runs
- Monitor success/failure rates
- Analyze execution patterns
4. Service Catalog
Maintain an inventory of your services:
- Track versions across environments
- Link to repositories and documentation
- Monitor technology stack
π οΈ Technology Stack
Backend
- Language: Go 1.23+
- API: gRPC + REST (grpc-gateway)
- Database: MongoDB / FeretDB (with automatic index optimization)
- Metrics: Prometheus
- Logging: Structured JSON logs
Frontend
- Framework: React 18
- Language: TypeScript 5
- Build: Vite
- Styling: Tailwind CSS
- Icons: Lucide React + Font Awesome
- State: React Query (TanStack Query)
DevOps
- Containerization: Docker multi-stage builds
- Orchestration: Kubernetes + Helm
- CI/CD: Skaffold
- Protocol: Protocol Buffers (protobuf)
π€ Contributing
We welcome contributions! Here's how you can help:
- π Report Bugs: Open an issue
- π‘ Suggest Features: Start a discussion
- π Improve Docs: Submit documentation improvements
- π§ Submit PRs: Fix bugs or add features
See CONTRIBUTING.md for detailed guidelines.
Good First Issues
Looking for a place to start? Check out issues labeled good first issue or help wanted.
π Project Status
- β
Core API: Production ready
- β
Web UI: Production ready
- β
Docker: Production ready
- β
Kubernetes: Production ready
- π§ CLI Tool: In development
- π§ Webhooks: Planned
- π§ Notifications: Planned
π License
This project is licensed under the Apache 2.0 License - see the LICENSE file for details.
π Star History
If you find Tracker useful, please consider giving it a star! β

Made with β€οΈ by the BananaOps community
β Star us on GitHub
β’
π Report a Bug
β’
π¬ Join Discussion