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.
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
- VPS (512MB RAM) with Linux. Debian (12) or Ubuntu (Jammy, Mantic)
- alternatively, a Raspberry Pi with Raspbian bookworm
- a DNS domain name pointing to the Linux machine
- three open TCP ports (80, 443, 8883)
- 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
- users are created with random passwords added to files in file system,
- 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/
- ufw firewall with open TCP ports at 22, 80, 443, 8883
jq(1)
andjo(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:
- MQTT over websockets, even though our apps support it
-
Get a copy of all files in this repository:
- either install git and clone the repository:
apt install -y git git clone https://github.com/owntracks/quicksetup cd quicksetup
- 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
- either install git and clone the repository:
-
Make a copy of the configuration file used for setup and edit its content.
cp configuration.yaml.example configuration.yaml nano configuration.yaml
-
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
.