SkillAgentSearch skills...

Reitti

Reitti is a comprehensive personal location tracking and analysis application that helps you understand your movement patterns and significant places. The name "Reitti" comes from Finnish, meaning "route" or "path".

Install / Use

/learn @dedicatedcode/Reitti
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

Reitti is a comprehensive personal location tracking and analysis application that helps you understand your movement patterns and significant places. The name "Reitti" comes from Finnish, meaning "route" or "path".

Features

Main View

Multiple Users View

Live View Mode

Statistics View

Login page

Core Location Analysis

  • Visit Detection: Automatically identify places where you spend time
  • Trip Analysis: Track your movements between locations with transport mode detection (walking, cycling, driving)
  • Significant Places: Recognize and categorize frequently visited locations with custom naming
  • Timeline View: Interactive daily timeline showing visits and trips with duration and distance information
  • Raw Location Tracking: Visualize your complete movement path with detailed GPS tracks
  • Multi-User-View: Visualize all your family and friends on a single map
  • Live-Mode: Visualize incoming data automatically without having to reload the map
  • Fullscreen-Mode: Display the map in fullscreen. Combined with the Live-Mode you got a nice kiosk-display

Data Import & Integration

  • Multiple Import Formats: Support for GPX files, Google Takeout JSON, Google Timeline Exports and GeoJSON files
  • Real-time Data Ingestion: Live location updates via OwnTracks and GPSLogger mobile apps
  • Batch Processing: Efficient handling of large location datasets with direct processing
  • API Integration: RESTful API for programmatic data access and ingestion

Photo Management

  • Immich Integration: Connect with self-hosted Immich photo servers
  • Location-based Photos: View photos taken at specific locations and dates on your timeline
  • Interactive Photo Viewer: Full-screen photo modal with keyboard navigation
  • Photo Grid Display: Organized photo galleries for locations with multiple images

User Management & Security

  • Multi-user Support: Multiple user accounts with individual data isolation
  • API Token Management: Secure API access with token-based authentication
  • User Profile Management: Customizable display names and secure password management

Geocoding & Address Resolution

  • Multiple Geocoding Services: Support for custom geocoding providers (Nominatim, etc.)
  • Automatic Address Resolution: Convert coordinates to human-readable addresses
  • Service Management: Configure multiple geocoding services with automatic failover

Customization & Localization

  • Multi-language Support: Available in English, Finnish, German, and French
  • Unit System: Display distances in the Imperial or Metric system
  • Queue Monitoring: Real-time job status and processing queue visibility
  • Custom Tiles-Server: Ability to use your own tiles-server

Privacy & Self-hosting

  • Complete Data Control: Your location data never leaves your server
  • Self-hosted Solution: Deploy on your own infrastructure
  • Asynchronous Processing: Handle large datasets efficiently with direct processing and RabbitMQ-based task scheduling

Getting Started

Prerequisites

  • Java 24 or higher
  • Maven 3.6 or higher
  • Docker and Docker Compose
  • PostgreSQL database with spatial extensions (PostGIS)
  • RabbitMQ
  • Redis for caching

Quick Start with Docker

The easiest way to get started is using Docker Compose:

  1. Get the docker compose file

    mkdir reitti
    cd reitti
    wget https://raw.githubusercontent.com/dedicatedcode/reitti/refs/heads/main/docker-compose.yml
    

    or manually downloading it here

  2. Adjust the compose file to your needs

    Pay special attention to the Photon REGION. This should match your main location,see available-regions for all available regions.

  3. Start all services (PostgreSQL, RabbitMQ, Redis and Reitti)

    docker compose up -d
    
  4. Access the application at http://localhost:8080

  5. Login with admin:admin

Note for ARM64 users (Apple Silicon, etc.): Until postgis/docker-postgis#216 is fixed by the PostGIS team, users wanting to run Reitti on ARM64 platforms need to change the PostGIS image in the docker-compose file from image: postgis/postgis:17-3.5-alpine to image: imresamu/postgis:17-3.5-alpine.

Development Setup

For development or custom deployments:

  1. Start infrastructure services

    docker compose up -d postgis rabbitmq
    
  2. Build and run the application

    mvn spring-boot:run
    
  3. Access the application at http://localhost:8080

Default username and password is admin

Building Docker Image

# Build the application
mvn clean package

# Build the Docker image
docker build -t reitti/reitti:latest .

Initial Configuration

After starting the application:

  1. Generate API Token: Create an API token in Settings → API Tokens for mobile app integration
  2. Configure Geocoding: Add geocoding services in Settings → Geocoding for address resolution
  3. Import Data: Upload your location data via Settings → Import Data
  4. Set up Mobile Apps: Configure OwnTracks or GPSLogger for real-time tracking

Docker Deployment

This repository contains Docker images for the Reitti application.

Production Deployment

For production use, we recommend using the provided docker-compose configuration:

# Pull the latest image
docker pull dedicatedcode/reitti:latest

# Start all services
docker compose up -d

# View logs
docker compose logs -f reitti

Standalone Docker Usage

# Run standalone with environment variables
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 \
  -e REDIS_HOST=redis \
  -e REDIS_PORT=6379 \
  -e REDIS_USERNAME= \
  -e REDIS_PASSWORD= 
  dedicatedcode/reitti:latest

Docker Compose Configuration

The included docker-compose.yml provides a complete setup with:

  • PostgreSQL with PostGIS extensions
  • RabbitMQ for task scheduling
  • Redis for caching and session storage
  • Reitti application with proper networking
  • Persistent data volumes
  • Health checks and restart policies

Environment Variables

| Variable | Description | Default | Example | |--------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------|-------------------------------------------| | POSTGIS_HOST | PostgreSQL database host | postgis | postgis | | POSTGIS_PORT | PostgreSQL database port | 5432 | 5432 | | POSTGIS_DB | PostgreSQL database name | reittidb | reittidb | | POSTGIS_USER | Database username | reitti | reitti | | POSTGIS_PASSWORD | Database password | reitti | reitti | | RABBITMQ_HOST | RabbitMQ host | rabbitmq | rabbitmq | | RABBITMQ_PORT | RabbitMQ port | 5672 | 5672 | | RABBITMQ_USER | RabbitMQ username | reitti | reitti | | RABBITMQ_PASSWORD | RabbitMQ password | reitti | reitti | | RABBITMQ_VHOST | RabbitMQ vhost

View on GitHub
GitHub Stars2.0k
CategoryDevelopment
Updated19h ago
Forks53

Languages

Java

Security Score

100/100

Audited on Mar 26, 2026

No findings