Traccar auf Uberspace

Möchte man die Software Traccar beim Hostinganbieter Uberspace installieren und nutzen, habe ich hier die nötigen Schritte notiert.

Ausgangspunkt

Uberspace ist ein Hosting-Anbieter, bei dem sich Webanwendungen und eigene Dienste flexibel per SSH im persönlichen Benutzerkonto betreiben lassen. Traccar ist eine Open-Source-Plattform zur GPS-Ortung und Verwaltung von Ortungsgeräten. In diesem Artikel richten wir Traccar auf einem Uberspace ein und konfigurieren am Ende zusätzlich den Traccar-Android-Client.

Installation

Wir installieren Traccar im Verzeichnis ~/bin/traccar. Dadurch bleiben alle Dateien im eigenen Benutzerkonto und es sind keine Root-Rechte erforderlich.

Bitte schaue zuerst auf der Seite nach dem aktuellen Installationspaket Linux x64 von Traccar und kopiere dir den Link für den wget Befehl.

Dann wechseln wir zuerst in ein temporäres Verzeichnis und laden die Traccar-Version herunter und entpacken das Archiv:

mkdir -p ~/tmp/traccar
cd ~/tmp/traccar

wget https://github.com/traccar/traccar/releases/download/v6.15.1/traccar-linux-64-6.15.1.zip

unzip traccar-linux-64-6.15.1.zip

Normalerweise wird in der Linux-Standard-Installation die enthaltende Datei mit sudo ./traccar.run gestartet. Es handelt bei der Datei sich um eine Makeself-Installationsroutine, die auch Startup-Einstellungen mitbringt für systemd.

Allerdings sind für die Ausführung root Rechte nötig. Bei Uberspace hat man allerdings nur User Rechte, also müssen wir einige Schritte manuell erledigen.

Wir erstellen das Zielverzeichnis in unserem User Pfad und extrahieren den Inhalt des Makeself-Archivs direkt dorthin:

mkdir -p ~/bin/traccar
./traccar.run --tar xfv -C ~/bin/traccar

Uberspace konfigurieren

Damit Traccar von außen erreichbar ist, benötigen wir auf Uberspace einen offenen Port für die Ortungsdaten des Traccar-Clients. Zusätzlich richten wir eine eigene Webadresse für die Traccar-Oberfläche ein.

Zunächst lassen wir uns von Uberspace einen freien Port im hohen Portbereich zuweisen. Uberspace zeigt anschließend eine freie fünfstellige Portnummer an.

uberspace port add

Als Beispiel wird hier der erzeugte Port 54321 angenommen. Diese Portnummer notieren wir uns, da wir sie später in der Traccar-Konfiguration und im Traccar-Android-Client eintragen müssen.

Weitere Informationen zur Portfreigabe enthält die Uberspace-Dokumentation.

Für die Weboberfläche verwenden ich hier eine Beispiel-Adresse. Die Domain beziehungsweise die Subdomain muss zunächst im DNS auf den verwendeten Uberspace-Server zeigen. Erst danach fügen wir sie auf Uberspace hinzu:

uberspace web domain add traccar.example.com

Nun verbinden wir die Domain mit dem lokalen Traccar-Webserver. Der Traccar-Server verwendet standardmäßig den HTTP-Port 8082. In diesem Beispiel verwenden wir stattdessen Port 8085:

uberspace web backend set traccar.example.com --http --port 8085

Weitere Informationen zu Web-Backend enthält die Uberspace-Dokumentation.

Traccar konfigurieren

Die wichtigsten Einstellungen nehmen wir in der Traccar-Konfigurationsdatei vor, die sich unter ~/bin/traccar/conf/traccar.xml befindet und fügen die folgenden Zeilen hinzu. Diese müssen innerhalb des vorhandenen <properties>-Elements stehen:

   <entry key='web.port'>8085</entry>
   <entry key='protocols.enable'>teltonika,osmand</entry>
   <entry key='osmand.port'>54321</entry>

Der interne Port ist 8085 anstatt dem Standard-Port (8082), den wir zuvor als Uberspace-Web-Backend eingerichtet haben. Über die konfigurierte Domain wird die Traccar-Weboberfläche später an diesen Port weitergeleitet.

Mit protocols.enable aktivieren wir in diesem Beispiel die benötigten Protokolle:

  • teltonika für Teltonika-Ortungsgeräte
  • osmand für den Traccar-Android-Client

Bei osmand.port tragen wir die Portnummer ein, die Uberspace mit dem vorherigen Befehl bereitgestellt hat, also beispielsweise 54321.

Die vollständige Dokumentation zur Konfigurationsdatei ist auf der Traccar-Website beschrieben.

Startup-Einstellungen einrichten

Damit Traccar auf dem Uberspace automatisch gestartet wird, richten wir einen Supervisor-Dienst ein. Dazu legen wir eine neue Datei ~/etc/services.d/traccar.ini an. Die Datei erhält folgenden Inhalt:

[program:traccar]
command=%(ENV_HOME)s/bin/traccar/jre/bin/java -Xmx1G -jar tracker-server.jar conf/traccar.xml
directory=%(ENV_HOME)s/bin/traccar/
startsecs=5

Die Konfiguration bedeutet:

  • program:traccar: Name des Supervisor-Dienstes
  • command: Startbefehl für Traccar
  • directory: Arbeitsverzeichnis von Traccar
  • startsecs=5: Supervisor betrachtet den Dienst erst nach fünf Sekunden als erfolgreich gestartet

In diesem Beispiel wird die von Traccar mitgelieferte Java-Laufzeitumgebung verwendet unter ~/bin/traccar/jre/bin/java.

Der Parameter -Xmx1G begrenzt den maximal verwendeten Java-Heap auf 1 GB. Der Wert kann je nach verfügbaren Ressourcen des Uberspace angepasst werden, wobei dort maximal 1.5 GB RAM zur Verfügung stehen.

Nachdem die Datei gespeichert wurde, laden wir die Supervisor-Konfiguration neu:

supervisorctl reread
supervisorctl update

Die Konfiguration für Supervisor-Dienste ist in der Uberspace-Dokumentation beschrieben.

Konfiguration prüfen

Der Dienst sollte nun automatisch gestartet worden sein. Den Status prüfen wir mit:

supervisorctl status traccar

Eine erfolgreiche Ausgabe sieht beispielsweise so aus:

traccar    RUNNING    pid 14462, uptime 0:00:12

Zusätzlich kontrollieren wir, ob das Uberspace-Web-Backend den konfigurierten Traccar-Port erreicht:

uberspace web backend list

Eine erfolgreiche Ausgabe sieht beispielsweise so aus:

traccar.example.com/ http:8085 => OK, listening: PID 14462, /home/USER/bin/traccar/jre/bin/java -Xmx1G -jar tracker-server.jar conf/traccar.xml

Android-Client installieren und konfigurieren

Für die Übermittlung der Standortdaten installieren wir den Traccar Client auf dem Android-Smartphone. Der Traccar Client ist im Google Play Store erhältlich.

Nach der Installation öffnen wir die App und tragen die Verbindungsdaten zum Traccar-Server ein. Als Serveradresse verwenden wir die zuvor eingerichtete Domain mit dem Port. Hier ist der zuvor freigegebene Firewall-Port einzutragen (54321) für den Client und nicht der Web-Backend-Port (8085) der Oberfläche:

Server-URL: http://traccar.example.com:54321

Traccar nutzen

Damit Traccar die vom Android-Client gesendeten Standortdaten einem Gerät zuordnen kann, legen wir anschließend ein neues Gerät an. Als Gerätenummer verwenden wir die ID, die im Traccar Client auf dem Smartphone angezeigt wird. Diese Nummer muss in Traccar exakt übernommen werden.

Ob der Android-Client den Server erreicht, lässt sich außerdem im Traccar-Log überprüfen:

tail -f ~/bin/traccar/logs/tracker-server.log

Bei einer erfolgreichen Verbindung erscheinen Meldungen ähnlich wie diese:

2026-08-25 17:06:25  INFO: [<VERBINDUNGS-ID>] connected

2026-08-25 17:06:25  INFO: [<VERBINDUNGS-ID>: osmand < <CLIENT-IP>] POST / HTTP/1.1

2026-08-25 17:06:26  INFO: [<VERBINDUNGS-ID>: osmand > <CLIENT-IP>] HTTP/1.1 200 OK

2026-08-25 17:06:29  INFO: [<VERBINDUNGS-ID>] id: <GERÄTE-ID>, time: 2026-08-25 16:03:58, lat: <BREITENGRAD>, lon: <LÄNGENGRAD>, speed: 0.5, course: 195.6, accuracy: 13.4

2026-08-25 17:06:41  INFO: [<VERBINDUNGS-ID>] disconnected

Besonders wichtig sind dabei folgende Einträge:

  • connected: Der Client hat eine Verbindung zu Traccar hergestellt.
  • 200 OK: Die Anfrage des Clients wurde erfolgreich verarbeitet.
  • id: Die Geräte-ID, die Traccar vom Client erhalten hat.
  • lat und lon: Die übermittelten Positionsdaten.
  • disconnected: Die Verbindung wurde beendet. Das ist bei mobilen Clients normal und bedeutet nicht zwingend einen Fehler.

Beim Ändern von Konfiguration an der traccar.xml Datei ist der Server neu zu starten:

supervisorctl restart traccar

Abschluss

Traccar läuft nun auf dem Uberspace und ist über die eingerichtete Webadresse erreichbar. Die Anwendung wurde ohne Root-Rechte im eigenen Home-Verzeichnis installiert und über Supervisor als dauerhafter Dienst eingerichtet.

Nach erfolgreicher Einrichtung können die übermittelten Positionen in der Traccar-Weboberfläche angezeigt und später beispielsweise um Geofencing, Benachrichtigungen oder weitere Ortungsgeräte ergänzt werden.

Viel Spaß bei der Nutzung von Traccar — beispielsweise, um das eigene Auto zu orten oder seine Fahrten nachzuvollziehen. Dabei sollten die geltenden rechtlichen Vorgaben und die Privatsphäre aller betroffenen Personen berücksichtigt werden.

Author: admirableadmin

Hello World! Ich bin Andreas Peichert und entwickle und programmiere Software seit 2000. Zurzeit arbeite ich als Senior Solution Architect.

Leave a Reply

Your email address will not be published. Required fields are marked *