Giter Club home page Giter Club logo

quicksetup's Introduction

quicksetup

OwnTracks allows you to keep track of your own location. You can build your private location diary or share it with your family and friends. OwnTracks is open-source and uses open protocols for communication so you can be sure your data stays secure and private.

Quicksetup will configure this

The components required to use the free OwnTracks apps are non-trivial to setup. For this reason we have created this project: quicksetup is a set of tools which, when run on a suitable small computer or VPS, will should get your OwnTracks environment set up as comfortably as possible.

Quicksetup is documented in the OwnTracks Booklet

requirements

  • VPS (512MB RAM) with Linux. Debian (12) or Ubuntu (Jammy, Mantic, Noble)
  • alternatively, a Raspberry Pi with Raspbian bookworm
  • a DNS domain name pointing to the Linux machine
  • three open TCP ports (80, 443, 8883)

features

  • Let's Encrypt certificate enrollment and renewal (cron)
  • MQTT broker (Mosquitto) and HTTP server (Apache) secured with SSL/TLS
  • OwnTracks Recorder
    • configured for MQTT
    • with support for HTTP POST for location publishes from OwnTracks clients
  • configured Frontend
  • automatic configuration of friends, each of which can see eachother via MQTT in the apps and on Frontend, etc.
  • configuration of any number of friends
    • users are created with random passwords added to files in file system, htpasswd, and Mosquitto password file
    • users can download pre-configured .otrc remote configuration files or click on a URL config for ease of configuration of the apps. Preconfigured with choice of MQTT and HTTP
    • optional configuration of a secret key per user for payload encryption
  • optional but recommended configuration of OpenCageData for reverse geo in Recorder defaults file and in .otrc for Android devices. (Sign up for a free account you use with OwnTracks.) Location data is cached by the Recorder and stored alongside location publishes, served from the API
  • should be able to support a dozen or more friends on a 512MB VPS
  • mosquitto_pub/mosquitto_sub pre-configured to use local broker with files in $HOME/.config/
  • jq(1) and jo(1) commands for working with JSON
  • bootstrapping of installation
  • Recorder Views (without requiring basic auth)
  • support for optional:
    • Recorder Lua script
  • explicitly no support for:

installation

  1. Get a copy of all files in this repository:

    1. either install git and clone the repository:
      apt install -y git
      git clone https://github.com/owntracks/quicksetup
      cd quicksetup
    2. or download a copy of the files and extract them:
      curl -LO https://github.com/owntracks/quicksetup/archive/master.tar.gz
      tar xf master.tar.gz
      cd quicksetup-main
  2. Make a copy of the configuration file used for setup and edit its content.

    cp configuration.yaml.example configuration.yaml
    nano configuration.yaml
  3. Launch the installer which will install packages and configure services.

    $ sudo ./bootstrap.sh

If you later decide you wish to add a friend to configuration.yaml, just run the installer again: ./bootstrap.sh.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.