mirror of
https://github.com/dedicatedcode/reitti.git
synced 2026-01-09 01:17:57 -05:00
4.6 KiB
4.6 KiB
Reitti - Personal Location Tracking & Analysis
Reitti is a comprehensive self-hosted application for tracking, analyzing, and visualizing your location data over time. It helps you understand your movement patterns and significant places while keeping your location data completely private and under your control.
Key Features
Core Functionality
- Advanced Location Analysis: Automatic visit and trip detection with transport mode recognition
- Interactive Timeline: Daily timeline view with visits, trips, durations, and distances
- Significant Places: Smart recognition and categorization of frequently visited locations
- Real-time Tracking: Live location updates via OwnTracks and GPSLogger mobile apps
- Multi-format Import: Support for GPX, Google Takeout JSON, and GeoJSON files
Photo Integration
- Immich Integration: Connect with self-hosted Immich photo servers
- Location-based Photos: View photos taken at specific locations on your timeline
- Interactive Photo Viewer: Full-screen photo galleries with keyboard navigation
User Management & Security
- Multi-user Support: Individual user accounts with data isolation
- Multi-language Support: Available in English, Finnish, German, and French
- Geocoding Services: Configurable address resolution with multiple provider support
Privacy & Performance
- Complete Privacy: Your data never leaves your server - no cloud dependencies
- Asynchronous Processing: Efficient handling of large location datasets with RabbitMQ
- Real-time Monitoring: Queue status and job processing visibility
- Self-hosted: Deploy on your own infrastructure with full control
Quick Start
Using Docker Compose (Recommended)
# Clone the repository for docker-compose.yml
git clone https://github.com/dedicatedcode/reitti.git
cd reitti
# Start all services (PostgreSQL, RabbitMQ, Reitti)
docker-compose up -d
# Access at http://localhost:8080
Standalone Docker
docker pull dedicatedcode/reitti:latest
docker run -p 8080:8080 \
-e POSTGIS_HOST=postgres \
-e POSTGIS_PORT=5432 \
-e POSTGIS_DB=reittidb \
-e POSTGIS_USER=reitti \
-e POSTGIS_PASSWORD=reitti \
-e RABBITMQ_HOST=rabbitmq \
-e RABBITMQ_PORT=5672 \
-e RABBITMQ_USER=reitti \
-e RABBITMQ_PASSWORD=reitti \
dedicatedcode/reitti:latest
Note: Standalone mode requires separate PostgreSQL (with PostGIS) and RabbitMQ instances.
Environment Variables
| Variable | Description | Default |
|---|---|---|
POSTGIS_HOST |
PostgreSQL database host | postgis |
POSTGIS_PORT |
PostgreSQL database port | 5432 |
POSTGIS_DB |
PostgreSQL database name | reittidb |
POSTGIS_USER |
Database username | reitti |
POSTGIS_PASSWORD |
Database password | reitti |
RABBITMQ_HOST |
RabbitMQ host | rabbitmq |
RABBITMQ_PORT |
RabbitMQ port | 5672 |
RABBITMQ_USER |
RabbitMQ username | reitti |
RABBITMQ_PASSWORD |
RabbitMQ password | reitti |
SERVER_PORT |
Application server port | 8080 |
APP_UID |
User ID to run the application as | 1000 |
APP_GID |
Group ID to run the application as | 1000 |
JAVA_OPTS |
JVM options for the application |
Getting Started
- Deploy: Use docker-compose for a complete setup with all dependencies
- Create Account: Set up your first user account via the web interface
- Generate API Token: Create tokens for mobile app integration
- Import Data: Upload existing location data (GPX, Google Takeout, GeoJSON)
- Configure Mobile Apps: Set up OwnTracks or GPSLogger for real-time tracking
- Add Geocoding: Configure address resolution services
- Connect Photos: Integrate with Immich for location-based photo viewing
Mobile App Integration
Configure real-time location tracking with:
- OwnTracks (iOS/Android): Privacy-focused location sharing
- GPSLogger (Android): Lightweight GPS logging with custom URL support
- Custom Apps: Use the REST API for custom integrations
Tags
develop- Bleeding Edge: Built from every push to main branch. For developers and early adopters who want the newest features and don't mind potential instability.latest- Stable Release: Updated with each stable release. For most users who want reliable, tested functionality with new features.x.y.z- Conservative: Specific version releases for users who want full control over updates and prefer to manually choose when to upgrade.
Source Code
The source code for this project is available on GitHub: https://github.com/dedicatedcode/reitti
License
This project is licensed under the MIT License.