🌍 Web interface for OwnTracks built with Vue.js
Go to file
2019-10-26 17:57:39 +01:00
docker Update Dockerfile for v2 2019-10-26 17:57:33 +01:00
docs Add verbose mode 2019-10-22 22:12:59 +01:00
public Fix typo 2019-09-27 19:26:27 +01:00
scripts Publish 2.0.0-alpha source 2019-09-27 18:34:41 +01:00
src Fix button text overflow 2019-10-22 22:13:12 +01:00
tests Update distanceBetweenCoordinates 2019-10-02 19:23:45 +01:00
.browserslistrc Publish 2.0.0-alpha source 2019-09-27 18:34:41 +01:00
.dockerignore Add .dockerignore 2019-10-26 17:57:39 +01:00
.eslintrc.js Add tests 2019-09-27 21:13:40 +01:00
.gitignore Publish 2.0.0-alpha source 2019-09-27 18:34:41 +01:00
babel.config.js Publish 2.0.0-alpha source 2019-09-27 18:34:41 +01:00
jest.config.js Add tests for API functions 2019-09-30 19:10:11 +01:00
LICENSE Initial commit 2019-02-28 23:51:18 +00:00
package.json Fix heatmap 2019-10-01 21:56:37 +01:00
postcss.config.js Publish 2.0.0-alpha source 2019-09-27 18:34:41 +01:00
README.md Update cors-proxy instructions to use .env file 2019-10-22 19:55:25 +01:00
vue.config.js Publish 2.0.0-alpha source 2019-09-27 18:34:41 +01:00
yarn.lock Fix heatmap 2019-10-01 21:56:37 +01:00

OwnTracks UI

Web interface for OwnTracks

Version Docker Pulls License

OwnTracks UI

Introduction

This is a web interface for OwnTracks built as a Vue.js single page application. The recorder itself already ships with some basic web pages, this is a more advanced interface with more functionality, all in one place.

Installation

Manually

  • Run yarn install --production to install dependencies
  • Run yarn build to compile and minify for production
  • Copy the content of the dist/ directory to your webroot

The API is expected to be reachable under the same domain as the web interface.

Docker

You can launch directly via Docker run like this:

$ docker run -d -p 80:80 -e SERVER_HOST=otrecorder-host -e SERVER_PORT=otrecorder-port owntracks/frontend

Or you can use docker-compose (if you also run the OwnTracks Recorder with the default compose config, and the service is named otrecorder):

version: '3'

services:
  owntracks-ui:
    image: owntracks/frontend
    ports:
      - 80:80
    environment:
      - SERVER_HOST=otrecorder
      - SERVER_PORT=8083
    restart: unless-stopped

Configuration

It's possible to get started without any configuration change whatsoever, assuming your OwnTracks API is reachable at the root of the same host as the frontend.

Copy public/config/config.default.js to public/config/config.js and make changes as you wish.

See docs/config.md for all available options.

Development

  • Run yarn install to install dependencies
  • Run yarn serve to compile for development and start the hot-reload server
  • Run yarn lint to lint and fix files
  • Run yarn test to run unit tests

You can use the corsProxy.js script to use your production instance of OwnTracks for development without making changes to its CORS-Headers:

$ yarn cors-proxy

If you have basic authentication enabled, create a .env file with your credentials:

OT_BASIC_AUTH_USERNAME=user
OT_BASIC_AUTH_PASSWORD='P@$$w0rd'

Then run:

$ env $(cat .env | xargs) yarn cors-proxy

The default host and port it binds to is 0.0.0.0:8888. Change using the OT_PROXY_HOST and OT_PROXY_PORT environment variables.

Finally update api.baseUrl in your config to "http://0.0.0.0:8888/https://owntracks.example.com".

Features

  • Last known (i.e. live) locations:
    • Accuracy visualization (circle)
    • Device friendly name and icon
    • Detailed information (if available): time, latitude, longitude, height, battery and speed
  • Location history (data points, line or both)
  • Location heatmap
  • Quickly fit all shown objects on the map into view
  • Display data in a specific date range
  • Filter by user and device
  • Highly customisable

Screenshots

Click to enlarge.

Live Multiple Date selection Heatmap Customized

Contributing

Please feel free to open an issue and discuss your ideas and report bugs. If you think you can help out with something, open a PR!