Introducing Orion: A Powerful Substitute for OwnTracks Recorder

December 29, 2017 / 11:49 PM

Introducing Orion: A Powerful Substitute for OwnTracks Recorder

projects
Orion is a powerful, OwnTracks API-compliant GPS location data collector and visualization suite.
The Orion platform is separated into independent backend and frontend components:
  • orion-serverexposes HTTP APIs for database-backed CRUD operations on GPS data shipped by OwnTracks mobile clients
  • orion-webprovides a fast, interactive, React-based data visualization frontend for the web, powered by deck.gl

Demo

Check out the live demo. Note that the demo instance only showcases the web visualization client, and uses sample static location data.

Screenshots

Dots
Heatmap

Architecture

Orion architecture
orion-server is a simple data collection and query engine with an HTTP interface compatible with the OwnTracks JSON payload. It sits at the receiving end of all OwnTracks mobile clients and persists location data as rows in a SQL database. It also provides APIs for arbitrary clients to query the persisted location data.
orion-web is a powerful visualization tool that acts as one such client of orion-server. It queries saved GPS coordinates from the server and displays it interactively on a map provided by Mapbox.

Motivation and OwnTracks Recorder

The OwnTracks Recorderis the open source, first-party server and web visualization platform that ships with OwnTracks. There are, in my opinion, a few shortcomings:
  • It is needlessly difficult to compile, install, and set up
  • The documentation for installation and usage is sparse and difficult to follow
  • The expected use of an MQTT message broker is overkill for small-scale deployments with a single (or relatively few) users
  • Data is persisted as files on disk, which is inconvenient to index and query programmatically
  • The included location visualization frontend is non-intuitive and provides minimal control over the displayed data
Orion attempts to provide a drop-in alternative to the OwnTracks Recorder to solve these problems.
  • Orion is written in high-level languages that make it easy to deploy into your existing infrastructure, with the option of a completely automated Docker deployment
  • It is designed for small-scale deployments, and thus only supports simple HTTP-based location reporting
  • Data is persisted to an indexed SQL database
  • It ships with a fast, robust, and fully-featured UI built with React, Redux, and deck.gl

Installation and Deployment

Ready to deploy your own instance? Please refer to the Github repositories for the serverand web clientfor full installation instructions.
In general, your server will need a Python and Node stack, as well as a MySQL database (alternatives available), for deploying the backend and frontend, respectively.
Kevin Lin

Website

Github

Twitter