Den eigenen Standort zu speichern oder auszuwerten, kann in mehrfacher Hinsicht nützlich sein. Wer seine Daten nicht Google oder Apple anvertrauen will, sondern eine eigene Lösung bevorzugt, kann das mit Owntracks realisieren.
Mit aktiviertem Standortverlauf kann jeder problemlos herausfinden, welche Orte er an einem bestimmten Tag besucht hat. Wer eine Reise dokumentieren möchte oder nicht mehr weiß, wie der Name des schönen Cafés lautete, das durch Zufall entdeckt wurde, freut sich über die lückenlose Aufzeichnung. Die genaue Positionsbestimmung ist überdies im Rahmen von „Geofencing“ auch in einem Smarthome nützlich, etwa wenn die Heizung bei Annäherung der Bewohner hochgefahren werden soll. Auf der anderen Seite ist auch klar, dass Informationen zum Standort nicht nur für Google von Interesse sind. Datenschützer stufen solche Informationen als besonders sensibel ein. Mit Owntracks gibt es eine Lösung, mit der Sie Standortinformationen sichern und auswerten können, ohne dass die Daten Ihre eigenen Geräte verlassen.
Das leistet Owntracks
Für eine lückenlose Dokumentation des eigenen Standorts benötigen Sie zunächst ein Gerät, das diesen regelmäßig ermitteln kann. Das tragen Sie vermutlich ohnehin mit sich herum, denn jedes halbwegs moderne Smartphone leistet dies. Dann benötigen Sie eine App, die die Bestimmung in regelmäßigen Abständen anstößt und die Daten auslesen kann. Und schließlich wäre ein zentraler Datenspeicher hilfreich, der die gesammelten Informationen aufbewahrt und bei Bedarf auch wieder ausgibt. Und das am besten auch gleich grafisch, also analog zu Google und dessen Darstellung.
All das liefert Owntracks (https://github.com/owntracks). Das Projekt bietet Apps für Android- und iOS-Mobilgeräte, welche die Standortermittlung übernehmen. Zum Projekt gehört aber auch eine Serverinstanz, die Sie auf einem eigenen System betreiben können. Dabei zeigt sich das Programm recht genügsam. Der Server kann auf einem Raspberry Pi oder einem NAS laufen (sofern dieses Docker unterstützt). Sie müssen dann lediglich eine passende Portweiterleitung an Ihrem Router einrichten, damit die unterwegs gesammelten Daten auf dem Server landen. Alle anderen Elemente gehören zum Programm dazu. Der Beitrag zeigt, wie Sie Owntracks installieren und einrichten. Der knappe Umfang muss sich aber auf die Grundkonfiguration fokussieren. In unserem Beispiel wird die Installation auf einem Raspberry Pi erfolgen. Prinzipiell können Sie aber jeden Rechner verwenden, auf dem Docker läuft.
Schnell installieren mit Portainer
Docker erleichtert die Installation von Serveranwendungen, weil alle Abhängigkeiten in einem Container verpackt sind. Mit einem Werkzeug wie Portainer wird die Installation, Einrichtung und Wartung von Containern noch einfacher, weil eine grafische Oberfläche zur Verfügung steht. Sofern Docker bislang nicht auf dem Raspberry Pi installiert ist, holen Sie im Terminal mit
curl -fsSL https://get.Docker.com -o get-Docker.sh
nach. Der Rechner lädt die benötigten Dateien herunter. Anschließend führen Sie lediglich zwei weitere Kommandos aus: Mit
sudo usermod -aG docker $USER
newgrp docker
integrieren Sie das aktuelle Konto in Nutzergruppe „docker“. Installation und Einrichtung von Portainer sind genauso einfach. Zuerst richten Sie einen Container für die Anwendung ein. Dazu genügt der Befehl
docker volume create portainer_data
und danach können Sie mit folgendem Befehl das passende Image herunterladen:
docker run -d -p 9443:9443 --name portainer --restart=always -v
/var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:2.21.4
Sie laden und installieren damit die Community-Edition von Portainer. Für die benötigen Sie eine Lizenz, die aber kostenlos ist. Überprüfen Sie zunächst einmal, ob Portainer läuft. Mit
docker ps
sollte Docker das bestätigen. Wie sich der obigen Codezeile entnehmen lässt, lauscht Portainer auf dem Port 9443 auf Eingaben. Rufen Sie also die Weboberfläche des Servers, etwa eines Raspberry Pi, entweder durch den lokalen Hostnamen oder mit der IP-Adresse auf (Beispiel):
https://192.168.178.100:9443
Der Browser wird sich über ein selbst erstelltes Zertifikat beschweren, was Sie ignorieren können. Auf der Anmeldeseite vergeben Sie anschließend einen Nutzernamen und ein Passwort für den ersten Nutzer von Portainer. Außerdem finden Sie hier auch den Link zum Bezug einer neuen Lizenz. Damit gelangen Sie zur Seite des Projekts und besorgen sich die kostenlose Lizenz, die Sie dann per Mail erhalten. Den in der Mail enthaltenen Code müssen Sie nur in das entsprechende Feld eingeben.

Ist dies erfolgreich erledigt, gehen Sie zur Benutzeroberfläche von Portainer. Auf der Startseite klicken Sie dann einmal auf „local“ im Abschnitt „Environments“. Damit taucht auch der Eintrag „local“ in der linken Navigation auf. Hier wechseln Sie in den Bereich „Container“. Wenn es sich um eine frische Installation handelt und Sie keine anderen Container eingerichtet haben, sehen Sie in der Übersicht lediglich den Eintrag „portainer“. Klicken Sie in der Übersicht auf „Add container“.
Unter „Name“ tragen Sie „OwnTracks“ ein. Das Feld „image“ füllen Sie mit „owntracks/recorder“. Unter „Network ports configuration“ finden Sie den Abschnitt „Port mapping“. In beiden Feldern tragen Sie „8083“ ein. Lassen Sie den Browser geöffnet und verbinden Sie sich zusätzlich per SSH mit dem Server. Wechseln Sie in das Home-Verzeichnis Ihres Kontos (auf Raspberry vermutlich „pi“) und legen Sie mit
mkdir owntracks
einen Ordner im Home-Verzeichnis für die Installation an. In diesen Ordner erstellen Sie zwei weitere Unterverzeichnisse „store“ und „config“. Verlassen Sie dann den SSH-Zugang und gehen zurück zum Browser. Unter „Advanced container settings“ blättern Sie nach unten und wechseln in das Register „volumes“. Dort klicken Sie auf „map additional volume“. Im neuen Eintrag tragen Sie unter „container“ ein „/config“ ein und klicken auf „bind“. In die Zeile darunter dann den vollständigen Pfad zum gerade angelegten Ordner, also etwa „/home/pi/owntracks/config“. Genauso gehen Sie für den zweiten Ordner vor.

In den erweiterten Optionen wechseln Sie dann in das Register „Env“. Mit „Add environment variable“ fügen Sie zwei Felder ein. Darin definieren Sie „OTR_Port“ mit dem Wert „0“ sowie „TZ“ mit „UTC“. Das sorgt dafür, dass Anfragen via HTTP möglich sind (siehe unten „Mehr Optionen“) und die passende Zeitzone verwendet wird. Schließlich definieren Sie noch, dass der Container immer startet, wenn der Raspberry Pi gestartet wird. Das legen Sie unter „Restart policy“ mit „Always“ fest. Jetzt drücken Sie auf „Deploy the container“, um die Installation durchzuführen. Warten Sie einen Augenblick. Sind der Download und die Konfiguration abgeschlossen, sollte der Container in der Übersicht von Portainer mit dem Status „running“ auftauchen. Sie können die Seite jetzt mit einem Browser besuchen. Dazu rufen Sie die IP-Adresse oder die Domain inklusive der Portnummer auf. Zu diesem Zeitpunkt ist die Ansicht allerdings noch wenig aussagefähig.
Recorder auf dem Smartphone
Das Projekt von Owntracks stellt Apps für iOS und Android zur Verfügung, die über die Appstores zu installieren sind. Nach dem ersten Aufruf führt Sie ein Assistent durch die Einrichtung. Hier geht es in erster Linie um die Berechtigungen, den Standort zu ermitteln und zu übertragen. Zudem erwarten die Apps eine Zustimmung, um Ihnen bei Bedarf Mitteilungen anzeigen zu dürfen. Der wesentliche Schritt ist die Einrichtung für den Zugriff auf den Server. Dafür benötigen Sie die URL zum Server (mehr dazu im nächsten Abschnitt). Für einen ersten Test im lokalen Netz reicht die lokale IP-Adresse des Servers. In den „Einstellungen“ definieren Sie im ersten Schritt unter „Verbindung“ den „Modus“.

In diesem Fall ist dies „HTTP“. Unter „Endpunkt“ wird die URL eingetragen. Achtung: Hier ergänzen Sie den Pfad um ein „/pub“, also etwa „http://meine-dynamische-url.tld/pub“. Für die Anzeige auf der Karte oder die Listen auf dem Server ist es eine Erleichterung, wenn Sie für „Geräte ID“ und „Tracker-ID“ individuelle Namen vergeben. Das können etwa Ihre Initialen sein. Unter „Erweitert“ sind zahlreiche Optionen vorhanden, mit denen Sie die Überwachung genauer steuern. Sie definieren individuelle Intervalle zwischen den Standortermittlungen und Details zur Positionsbestimmung.
Konnektivität zum Server
Steht das System grundsätzlich, bleibt nicht mehr viel zu tun, um permanent von unterwegs Daten an den Server zu senden. Mit einem Service für dynamische DNS-Auflösungen können Sie sich eine Verbindung zu Ihrem Internetanschluss einrichten. Dieser Eintrag ersetzt dann den ersten Teil der URL in der App. Damit die Daten den Server im Heimnetz erreichen, ist auf dem Router eine Portweiterleitung einzurichten. Sie müssen also im Backend des Routers (meist im Menü „Freigaben“ oder „Portweiterleitung“) den oben genannten Port freischalten (standardmäßig 9443) und alle Anfragen an diesen Port an die interne IP-Adresse des lokalen Servers weiterleiten.
Mehr Optionen und Tuning
Wenn Sie sich etwas in die Dokumentation von Owntracks vertiefen, werden Sie eine Reihe weitere Möglichkeiten finden. Dies beginnt damit, dass die Entwickler eine schicke Verwaltungsoberfläche für die Software separat als Container zur Verfügung stellen. Deren Konfiguration hätte den Rahmen dieses Beitrags gesprengt. In diesem Artikel ist das System auch so konfiguriert, dass lediglich eine Person ihre Daten an den Server schicken darf. Owntracks ist aber mehrbenutzerfähig. Und schließlich ist die Übergabe der Standorte via HTTP zwar voll funktionsfähig, häufig wird aber dem „MQ Telemetry Transport“ (MQTT) der Vorzug gegeben. Die Entwickler erklären in der Dokumentation zum Programm ausführlich, wie dieser Zugang eingesetzt wird.

Der Recorder auf dem Smartphone kann auch für das Geofencing verwendet werden. So besitzt beispielsweise Home Assistant als Zentrale für das Smartphone eine entsprechende Erweiterung, um die Daten aus der App zu benutzen.
Noch ein wichtiger Hinweis: Die permanente Aufzeichnung des Standorts kostet am Mobilgerät ordentlich Strom. Hier sollten Sie mit den Optionen der App experimentieren, um einen guten Kompromiss zwischen Genauigkeit (also möglichst häufige Messungen) und optimalen Akkulaufzeiten zu ermitteln.

