Traccar: Open-Source GPS-Tracking-System auf Raspberry Pi mit Docker und Portainer

  1. Einleitung
  2. Vorbereitungen für das Deployment von Traccar auf dem Host (Raspberry Pi)
  3. Konfigurationsinhalt in traccar.xml einfügen
  4. A-Record für Domain über Selfhost einrichten
  5. Caddyfile-Konfiguration anpassen bzw. erweitern
  6. Deployment des bereitgestellten Docker-Compose Codes mit Portainer
  7. Erste Schritte mit Traccar und Deaktivierung der Registrierung
  8. Deaktiveren der Registrierung
  9. Verbindung und Einrichtung eines Smartphones (iPhone) mit Traccar
  10. Abschluss und weiterführende Ressourcen

Einleitung

Traccar ist ein leistungsfähiges, Open-Source GPS-Tracking-System, das sich hervorragend für die Überwachung von Fahrzeugflotten, persönlichen Fahrzeugen oder sogar für individuelle Tracking-Anforderungen eignet. In diesem Tutorial lernen Sie, wie Sie Traccar auf einem Raspberry Pi mithilfe von Docker und Portainer einrichten. Bevor Sie beginnen, stellen Sie sicher, dass Sie die allgemeinen Vorbereitungsschritte 1-3, optional 4 sowie 5-7 abgeschlossen haben.

Vorbereitungen für das Deployment von Traccar auf dem Host (Raspberry Pi)

Benötigte Ordner auf dem Hostsystem (Raspberry Pi) erstellen:

sudo mkdir -p /etc/traccar/logs

Dieser Befehl erstellt ein Verzeichnis für Log-Dateien von Traccar.
Der -p Parameter sorgt dafür, dass übergeordnete Verzeichnisse automatisch erstellt werden, falls sie noch nicht existieren.
Log-Dateien sind wichtig für die Überwachung und Fehlerbehebung, da sie Informationen über die Aktivitäten und mögliche Fehler von Traccar enthalten.

sudo mkdir /etc/traccar-db

Dieser Befehl erstellt das Hauptkonfigurationsverzeichnis für Traccar.
In diesem Verzeichnis werden Konfigurationsdateien abgelegt, die für das Anpassen und Steuern der Funktionsweise von Traccar notwendig sind.

sudo touch /etc/traccar/traccar.xml

Hiermit wird eine leere Konfigurationsdatei (traccar.xml) im Traccar-Konfigurationsverzeichnis erstellt. Die traccar.xml Datei ist das Herzstück der Konfiguration von Traccar. Hier werden verschiedene Einstellungen, wie Datenbankverbindungen, Servereinstellungen und andere wichtige Konfigurationsoptionen definiert.

Anlegen der benötigten Verzeichnisse und Traccar-XML-Datei

Diese Schritte sind wichtig, um eine strukturierte und organisierte Umgebung für Traccar zu schaffen, die eine effiziente Verwaltung und Wartung des Systems ermöglicht.

Konfigurationsinhalt in traccar.xml einfügen

Öffnen Sie die Datei mit einem Editor Ihrer Wahl (z. B. sudo nano /etc/traccar/traccar.xml) und fügen Sie den bereitgestellten XML-Code ein.

Traccar XML-Konfigurationsdatei öffnen
Inhalt der traccar.xml: 

<?xml version='1.0' encoding='UTF-8'?>

<!DOCTYPE properties SYSTEM 'http://java.sun.com/dtd/properties.dtd'>

<properties>

<entry key='config.default'>./conf/default.xml</entry>

<!--

This is the main configuration file. All your configuration parameters should be placed in this file.

Default configuration parameters are located in the "default.xml" file. You should not modify it to avoid issues
with upgrading to a new version. Parameters in the main config file override values in the default file. Do not
remove "config.default" parameter from this file unless you know what you are doing.

For list of available parameters see following page: https://www.traccar.org/configuration-file/

-->

<entry key='database.driver'>org.h2.Driver</entry>
<entry key='database.url'>jdbc:h2:./data/database</entry>
<entry key='database.user'>sa</entry>
<entry key='database.password'></entry>

</properties>
XML-Konfigurationsdatei für Traccar

Um Änderungen in einer Datei mit dem Nano-Texteditor zu speichern und den Editor zu verlassen, folgen Sie diesen Schritten:

  1. Bearbeiten der Datei: Nehmen Sie die gewünschten Änderungen in der Datei vor. In Ihrem Fall haben Sie den XML-Inhalt in die traccar.xml eingefügt.
  2. Speichern der Änderungen:
    • Drücken Sie Strg + O (das ist der Buchstabe O, nicht die Zahl 0). Dies ist der Befehl zum Speichern in Nano.
    • Nachdem Sie Strg + O gedrückt haben, wird Nano am unteren Bildschirmrand nach dem Dateinamen fragen. In der Regel ist der aktuell geöffnete Dateiname bereits vorausgefüllt.
    • Drücken Sie Enter, um die Änderungen unter dem aktuellen Dateinamen zu speichern.
  3. Verlassen von Nano:
    • Drücken Sie Strg + X, um Nano zu verlassen.

A-Record für Domain über Selfhost einrichten

Loggen Sie sich dazu bei Selfhost ein: https://selfhost.de/cgi-bin/selfhost?p=account&CGISESSID=b878349deca2d9e8064b39e8620e6a2b

Selfhost Anmeldebildschirm nach dem Login

Klicken Sie auf „Domainverwaltung“ –> „einloggen“ –> Neue Subdomain /Neuen Record anlegen –> Auswahl A-Record (ist standardmäßig vorausgewählt) –> tragen Sie Ihren gewünschten Subdomainnamen für traccar ein und stellen Sie die Routung auf Ihren DynAccount um.

Damit ist sichergestellt, dass ein A-Record für Ihre Domain (z. B. traccar.IHRE-DOMAIN.co) eingerichtet ist, der auf die IP-Adresse Ihres Raspberry Pi bzw. Caddy-Reverse-Proxy verweist.

Caddyfile-Konfiguration anpassen bzw. erweitern

Die Anpassung oder Erweiterung der Caddyfile-Konfiguration ist ein wichtiger Schritt, um Traccar, das GPS-Tracking-System, über einen Webbrowser bzw. für Ihre Clients (Smartphones etc.) zugänglich zu machen. Hier sind die Gründe, warum Sie die Caddyfile-Konfiguration anpassen müssen, und eine Erklärung dazu:

Um Traccar über das Internet sicher zugänglich zu machen, verwenden wir (sofern Sie den Vorbereitungsschritten gefolgt sind) Caddy als Reverse Proxy. Dies bedeutet, dass Caddy Anfragen von außen (z. B. über Ihren Browser) empfängt und an den Traccar-Dienst weiterleitet, der auf einem anderen Port läuft. Durch das Hinzufügen eines spezifischen Eintrags in die Caddyfile-Konfiguration weisen Sie Caddy an, wie es Anfragen an Traccar weiterleiten soll. Caddy automatisiert das Einrichten von HTTPS, wodurch Ihre Traccar-Instanz sicher über das Internet erreichbar ist. HTTPS verschlüsselt den Datenverkehr zwischen dem Endbenutzer und dem Server, was besonders wichtig ist, wenn sensible GPS-Daten übertragen werden.

Verbinden Sie sich mit dem Remote-Desktop-Manager auf Ihren Raspberry Pi auf dem Caddy als Reverse-Proxy eingerichtet ist und navigieren Sie zu der Caddyfile. In dem vorangegangenen Vorbereitungstutorial haben wir den Pfad /etc/caddy für die Caddyfile definiert.

sudo nano /etc/caddy/Caddyfile
traccar.IHRE_DOMAIN.co {
reverse_proxy 192.168.178.131:8081 {
header_up X-Forwarded-For {remote_host}
header_up X-Forwarded-Proto {scheme}
}
header Strict-Transport-Security "max-age=31536000;"
}
Caddy-Reverse Proxy Konfiguration für Traccar

Warum diese Einstellungen?

  • reverse_proxy 192.168.178.131:8081: Leitet Anfragen an die interne IP-Adresse und den Port von Traccar weiter.
  • header_up X-Forwarded-For {remote_host}: Leitet die ursprüngliche IP-Adresse des Clients an Traccar weiter, was für bestimmte Sicherheits- und Protokollierungszwecke nützlich sein kann.
  • header Strict-Transport-Security "max-age=31536000;": Aktiviert HSTS (HTTP Strict Transport Security), eine Sicherheitsmaßnahme, die sicherstellt, dass Browser zukünftig nur über HTTPS mit Ihrem Server kommunizieren.

Durch die richtige Konfiguration dieser Einstellungen in der Caddyfile sorgen Sie dafür, dass Ihr Traccar-Server sicher über das Internet erreichbar ist.

Deployment des bereitgestellten Docker-Compose Codes mit Portainer

  1. Login in Portainer: Melden Sie sich in Ihrer Portainer-Web-Oberfläche an.
  2. Neuen Stack erstellen: Gehen Sie zu Stacks und erstellen Sie einen neuen Stack. Geben Sie ihm einen Namen und fügen Sie den nachfolgend bereitgestellten Docker-Compose Code ein.
version: "3" # Legt die Version der Docker Compose-Syntax fest

services:
# Dienstname: app
app:
image: traccar/traccar:ubuntu # Gibt das Docker-Image an, das für diesen Dienst verwendet werden soll. Es wird die neueste Version des Traccar-Images verwendet.
container_name: traccar # Name des zu erstellenden Containers
hostname: traccar # Hostname des Containers
restart: unless-stopped # Neustart-Richtlinie. Der Container wird neu gestartet, wenn er nicht explizit gestoppt wird.

ports: # Ports-Zuordnung vom Host zum Container
- "8081:8082" # Zuordnung von Port 8081 auf dem Host zu Port 8082 im Container

volumes: # Definiert Volume-Mounts für den Container
- /etc/traccar/logs:/opt/traccar/logs:rw # Mounten des Logs-Verzeichnisses vom Host in den Container mit Lese- und Schreibberechtigung
- /etc/traccar/traccar.xml:/opt/traccar/conf/traccar.xml:ro # Mounten der Konfigurationsdatei traccar.xml vom Host in den Container mit Nur-Lese-Berechtigungen
- /etc/traccar-db:/opt/traccar/data # In diesem Beispiel wird das Verzeichnis /etc/traccar-db auf Ihrem Host-System auf das Verzeichnis /opt/traccar/data im Container abgebildet.

3: Stack deployen: Klicken Sie auf „Deploy“.

Deployment des bereitgestellten Docker-Compose Codes

Erste Schritte mit Traccar und Deaktivierung der Registrierung

Nachdem der Traccar-Service läuft, können Sie ihn unter http://<Ihre-Raspberry-Pi-IP>:8081 oder https://traccar.IHRE-Domain.co (abhängig von Ihrer Caddy-Konfiguration) aufrufen. Hier können Sie sich registrieren und anschließend mit dem Tracking beginnen.

Wichtig: Deaktivieren Sie nach dem ersten Login die Benutzer-Registrierung. Damit wird der Button wie im unteren Screenshot zu sehen ist, deaktiviert.

Traccar-Anmeldeseite

Nachdem Sie sich erfolgreich bei Traccar registriert haben, werden Sie automatisch in das Backend der Anwendung weitergeleitet. Hier können Sie die Einstellungen verwalten, Geräte hinzufügen und alle wichtigen Funktionen von Traccar nutzen.

Deaktiveren der Registrierung

Sie können nun im Backend auch die Registrierungsfunktion deaktivieren, um zu verhindern, dass sich weitere Benutzer selbstständig registrieren. Klicken Sie dazu auf Einstellungen –> Server –> Berechtigungen und deaktiveren Sie die Registrierung.

Deaktivieren der Benutzer-Registrierung

Verbindung und Einrichtung eines Smartphones (iPhone) mit Traccar

Für die Verbindung und Überwachung Ihres iPhones mit Traccar benötigen Sie zwei spezielle Apps: die „Traccar Manager“ App und die „Traccar Client“ App. Beide Apps sind im Apple App Store verfügbar.

  1. Traccar Manager App:
    • Download und Installation:
    • Suchen Sie im App Store nach „Traccar Manager“ und installieren Sie die App auf Ihrem iPhone.
    • Einrichtung:
    • Öffnen Sie die App und geben Sie die Server-URL ein, die Sie für Ihren Traccar-Server konfiguriert haben. In unserem Beispiel: https://traccar.IHRE-DOMAIN.selfhost.co/
    • Loggen Sie sich dann mit Ihrem Traccar-Benutzernamen und Passwort ein.
    • Verwendung:
    • Die Traccar Manager App ermöglicht es Ihnen, die Positionen und Bewegungen der überwachten Geräte in Echtzeit zu verfolgen. Sie können die Daten und Routen von verschiedenen Geräten anzeigen und verwalten.
  2. Traccar Client App:
    • Download und Installation:
    • Suchen Sie im App Store nach „Traccar Client“ und installieren Sie die App auf Ihrem iPhone.
    • Einrichtung:
    • Starten Sie die App und geben Sie die erforderlichen Details wie Server-URL, Geräte-ID und Frequenz der Positionsübermittlung an. Die Server-URL ist dieselbe wie bei der Traccar Manager App.
    • Aktivieren der Standortübermittlung:
    • Stellen Sie sicher, dass die App die Berechtigung hat, Ihren Standort zu verwenden. Aktivieren Sie dann die Standortübermittlung, um Ihr Gerät in Echtzeit zu überwachen.

Mit diesen beiden Apps können Sie Ihr iPhone als überwachtes Gerät in Ihrem Traccar-System einsetzen. Der Traccar Client sendet die Standortdaten an Ihren Traccar-Server, während Sie über die Traccar Manager App die Daten überwachen und verwalten können.

Abschluss und weiterführende Ressourcen

Für weitere Informationen und Unterstützung besuchen Sie die Traccar-Community und die Online-Hilfe. Falls Sie auf Probleme stoßen, gibt es viele hilfreiche Ressourcen und Foren, in denen Sie Antworten und Lösungen finden können. Als Ergänzung zu diesen Ressourcen stehe auch ich Ihnen gerne zur Seite. Wenn Sie Fragen haben oder Hilfe bei der Einrichtung und Konfiguration von Traccar benötigen, zögern Sie nicht, einen Kommentar in meinem Blog zu hinterlassen. So nun viel Spaß mit Traccar.

Hinterlasse einen Kommentar

Diese Seite verwendet Akismet, um Spam zu reduzieren. Erfahre, wie deine Kommentardaten verarbeitet werden..

Hinterlasse einen Kommentar

Diese Seite verwendet Akismet, um Spam zu reduzieren. Erfahre, wie deine Kommentardaten verarbeitet werden..