TREK: Reiseplanung selbst hosten mit Karten, Budgets und Echtzeit-Kollaboration
Ein selbst gehosteter Reise-/Reiseplaner mit Echtzeit-Zusammenarbeit, interaktiven Karten, PWA-Unterstützung, SSO, Budgets, Packlisten und mehr.
Auf einen Blick
- Was ist das?
- Ein Blick auf liketrek/TREK, einen selbst gehosteten Reiseplaner in TypeScript mit interaktiven Karten, gemeinsamer Planung, Buchungsverwaltung und einem sandboxed Plugin-System.
- Für wen ist es gedacht?
- TREK passt für Familien, Freundeskreise und kleine Gruppen, die eine Reise gemeinsam planen wollen, ohne ihre Daten an einen Reisedienst auszulagern. Wer nur eine einfache Checkliste braucht, wird mit dem Funktionsumfang überfordert.
- Darf ich es kommerziell nutzen?
- Ja, unter strengen Bedingungen. AGPL-3.0 ist eine Lizenz mit Netzwerk-Copyleft: Wenn andere eine veränderte Version über ein Netzwerk nutzen, etwa als gehosteten Dienst, müssen Sie ihnen den Quellcode unter derselben Lizenz anbieten.
- Wird es noch gepflegt?
- Ja. Das Repository hat innerhalb des letzten Tages neue Commits erhalten.
- In welcher Sprache ist es geschrieben?
- Hauptsächlich TypeScript, laut der Sprachstatistik von GitHub.
Die Antworten beruhen auf den GitHub-Daten des Projekts (zuletzt abgeglichen am 15. September 2026) und auf unserer Analyse. Sie sind keine Rechtsberatung.
TIEFGEHENDE OPEN-SOURCE-ANALYSE
TREK als selbst gehosteter Reiseplaner: Umfang und Ausgangslage
TREK von liketrek beschreibt sich im README als selbst gehosteten, echtzeitfähigen kollaborativen Reiseplaner mit Karten, Budgets, Packlisten, einem Reisetagebuch und integrierter KI. Das Projekt ist in TypeScript geschrieben, steht unter der AGPL-3.0 und zählt laut Repository-Metadaten mehr als 12.900 Sterne. Mit Ende August 2026 erschien die Version v4.0.0, ein Zeichen für eine aktive Entwicklung mit regulären Releases.
Interessant ist die Addon-Struktur: Die Module Lists, Costs, Documents, Collab, Vacay und Atlas sind standardmäßig aktiviert, während Journey, Collections, MCP, AI Parsing und AirTrail ab Werk ausgeschaltet sind und von einer Admin-Person pro Instanz zugeschaltet werden müssen. Damit lässt sich der Funktionsumfang genau auf die eigene Gruppe zuschneiden, statt alle Features pauschal zu aktivieren.
Der Code liegt auf GitHub unter liketrek/TREK, ein Docker-Image findet sich auf Docker Hub als mauriceboe/trek, und eine öffentliche Demo läuft unter demo.liketrek.com. Wer die Software prüfen will, kann also ohne eigene Installation zunächst die Demo durchklicken.
Tagesplanung, Karten und Routenberechnung in TREK
Der Planungskern arbeitet mit Tagesplänen, zwischen denen Orte per Drag and Drop verschoben und innerhalb eines Tages umgeordnet werden können, inklusive Undo. Notizen und Buchungen lassen sich auf dieselbe Weise ziehen, und ein Kartenmarker fällt direkt auf einen Tag. Die Kartenbasis ist wählbar: Leaflet, Mapbox GL oder MapLibre GL mit OpenFreeMap ohne Token. Dreidimensionale Gebäude und Terrain gibt es nur mit Mapbox.
Für die Ortssuche gilt: Ist ein Google-Places-Schlüssel gesetzt, liefert die Suche Fotos, Bewertungen und Öffnungszeiten; ohne Schlüssel greift TREK auf OpenStreetMap zurück, ebenfalls ohne API-Schlüssel. Orte werden über OpenStreetMap, Wikipedia, Wikidata und Wikimedia Commons mit Beschreibungen, Fakten und Fotokandidaten angereichert. Über Overpass lassen sich POIs nach Kategorie für den aktuellen Kartenausschnitt ziehen.
Routen sortiert TREK automatisch mit einem Nearest-Neighbour-Ansatz gefolgt von 2-opt, wobei gesperrte Stopps und Hotelanker unverändert bleiben. Fahrprofile für Auto, Fuß und Rad laufen über OSRM, anschließend lässt sich die Route in Google Maps oder CoMaps öffnen. Den öffentlichen Nahverkehr deckt Transitous mit Tür-zu-Tür-Verbindungen ab, das Wetter kommt als 16-Tage-Vorhersage von Open-Meteo ohne Schlüssel. Importiert werden können geteilte Google-Maps- und Naver-Listen sowie GPX-, KML- und KMZ-Dateien, exportiert werden GPX und ein ICS-Feed pro Reise oder für alle zusammen.
Buchungen, Kosten und Packlisten mit Cent-genauer Abrechnung
Für Reservierungen unterscheidet TREK 16 Buchungstypen mit Status, Bestätigungscode, Reisenden und anhängenden Dateien. Flüge und Zugfahrten bestehen aus mehreren Abschnitten mit Zwischenstopps, Zeiten je Abschnitt und Zeitzonen an den Endpunkten; gegen 4.045 gebündelte Flughäfen lösen sich Ortszeiten ohne externen Schlüssel auf. Unterkünfte spannen sich über einen Zeitraum mit Check-in-Fenster und erscheinen in jeder betroffenen Nacht.
Buchungsbestätigungen im Format EML, PDF, PKPass, HTML oder TXT importiert TREK über KItinerary. Dafür wird das Binary kitinerary-extractor benötigt, das laut README im Docker-Image mitgeliefert wird. Optional lässt sich eine selbst gehostete AirTrail-Instanz anbinden, um Flüge als Reservierungen zu synchronisieren; dieses Addon ist standardmäßig aus.
Die Kostenabrechnung arbeitet mit ganzzahligen Cents, unterstützt gleiche oder individuelle Anteile, mehrere Zahler pro Ausgabe, Ausgleichsvorschläge, ein Abrechnungsprotokoll und CSV-Export. Währungen werden pro Ausgabe erfasst, wobei der Kurs zum Zeitpunkt der Eingabe eingefroren wird; die Kurse stammen von Frankfurter, ohne Schlüssel. Packlisten bieten Kategorien, von Admins verwaltete Vorlagen, Zuständige, drei Sichtbarkeitsstufen und eine Gepackt-Gesamtquote. Dateien lassen sich an Reisen, Orte, Tage oder Reservierungen anhängen, bis 50 MB, für Videos bis 500 MB, mit Papierkorb und Wiederherstellung. Ein PDF-Export umfasst Deckblatt, Ortsfotos, Tagesnotizen, Buchungen und Kosten mit optionalem Seitenumbruch pro Tag.
Echtzeit-Synchronisation, Rollen und Gastzugänge ohne Login
Die Zusammenarbeit läuft per WebSocket: Bearbeitungen landen bei allen, die dieselbe Reise geöffnet haben, sofort sichtbar. Mitglieder werden per E-Mail oder Benutzername hinzugefügt, die Eigentümerschaft lässt sich übertragen, und Gäste können ohne eigenes Login in eine Reise aufgenommen werden. Das ist für Reisegruppen praktisch, in denen nicht jeder ein Konto anlegen will.
Die Rechtevergabe ist fein granuliert: Eine Admin-Person bildet jede der 16 Reiseaktionen auf Admin, Reiseeigentümer, Reisemitglied oder Alle ab. Pro Reise existiert ein wiederverwendbarer Einladungslink mit optionalem Ablaufdatum, und Admins können Signup-Einladungen mit Nutzungslimit ausstellen, die neue Konten direkt in eine Reise befördern. Ein öffentlicher Lese-Link zeigt eine Reise ohne Konto für jedermann an.
Zum Kollaborationsmodul gehören ein Gruppenchat mit Antworten, Reaktionen und Linkvorschauen, gemeinsame Notizen mit Anhängen, Umfragen und eine What's-Next-Liste der anstehenden Aktivitäten. Jede dieser vier Funktionen lässt sich einzeln zuschalten.
Tagebuch, Atlas und Urlaubsplanung als optionale Module
Das Journal-Addon Journey ist standardmäßig aus. Es bietet datierte Einträge mit Geschichte, Stimmung, Wetter und Tags, Fotos und Videos aus Uploads oder aus einer angebundenen Immich- beziehungsweise Synology-Photos-Bibliothek, Kartenansichten, Co-Autoren und einen öffentlichen Teilen-Link. Damit verwandelt sich der Planer nach der Reise in ein Archiv.
Atlas markiert besuchte Länder und subnationale Regionen auf den Umrissen von geoBoundaries, ergänzt um eine Bucket-List, Reisestatistiken und einen Zähler für aufeinanderfolgende Reisejahre. Vacay ist ein Urlaubs- und Abwesenheitskalender mit halben Tagen, Feiertagen von date.nager.at, Schulferien-Overlays für 16 europäische Länder, Übertrag zwischen Jahren und gemeinsamer oder rein lesender Freigabe.
Collections schließlich ist eine ortsbezogene Bibliothek außerhalb jeder Reise mit Labels, Bewertungen, eigenem Bild pro Ort, dem Kopieren in eine Reise und Freigabe per Einladung. Auch dieses Addon startet deaktiviert.
Plugin-Sandbox mit 63 Berechtigungen und minisign-Signaturprüfung
Drittanbieter-Plugins lassen sich aus der TREK-Registry installieren oder als Zip laden, pro Instanz zuschalten, und erhalten eigene Seiten unter /plugins/<id>. Jedes Plugin läuft in einem eigenen Kindprozess mit 63 erteilbaren Berechtigungen, einer von Admins gepflegten Ausgangs-Hostliste, Speicher- und RPC-Obergrenzen sowie Tageskontingenten für KI- und Benachrichtigungsaufrufe.
Beim Vertrauensmodell sind Registry-Downloads per sha256 festgenagelt und gegen den minisign-Schlüssel des Autors geprüft. Ein sideloaded Zip gilt als unverified. Mit der Umgebungsvariablen TREK_PLUGINS_ENABLED=false lässt sich das gesamte Plugin-System abschalten, was für betriebsumgebungen mit strengen Vorgaben der sichere Standard sein dürfte.
Installation per Docker und Betrieb als PWA
Den dokumentierten Schnelleinstieg bildet ein einzelner Docker-Aufruf, der einen zufälligen Verschlüsselungsschlüssel erzeugt und Daten sowie Uploads in lokale Ordner legt:
ENCRYPTION_KEY=$(openssl rand -hex 32) docker run -d -p 3000:3000 -e ENCRYPTION_KEY=$ENCRYPTION_KEY -v ./data:/app/data -v ./uploads:/app/uploads mauriceboe/trek
Technisch steht laut README ein NestJS-11-Backend hinter WebSocket-Synchronisation, der Frontend-State läuft über Zustand. Die Authentifizierung unterstützt JWT, OAuth 2.1, OIDC, Passkeys über WebAuthn sowie TOTP als zweiten Faktor. Die Umgebungsvariable FORCEHTTPS=true ist optional; sie ergänzt eine 301-Weiterleitung, HSTS, CSP upgrade-insecure-requests und das sichere Cookie-Flag und soll laut README ausschließlich hinter einem TLS-terminierenden Reverse Proxy genutzt werden.
Als Progressive Web App installiert sich TREK direkt aus dem Browser ohne App Store: auf iOS über Teilen und Zum Home-Bildschirm, auf Android über Menü und App installieren. Danach startet die Anwendung im Vollbild mit eigenem Symbol.
Fazit: Wann TREK lohnt und worauf Admins achten sollten
TREK ist die richtige Wahl, wenn eine Gruppe Reiseplanung, Buchungen, Kosten und Erinnerungen an einem Ort bündeln will und dabei die Datenhoheit behalten möchte. Der Karteikasten aus OSRM-Routen, Transitous-Verbindungen, Open-Meteo-Wetter und KItinerary-Import funktioniert laut README durchgängig ohne kostenpflichtige Schlüssel, solange man mit OpenStreetMap statt Google Places sucht.
Nicht geeignet ist das Projekt für alle, die nur eine simple Packliste suchen; der Funktionsumfang verlangt Bereitschaft, ein eigenes System zu betreiben. Vor dem Ernstbetrieb empfiehlt sich ein Testlauf mit dem obenstehenden Docker-Befehl, ein Blick auf die Releases ab v4.0.0 und die Entscheidung, welche der standardmäßig deaktivierten Addons wie Journey oder AI Parsing wirklich gebraucht werden. Die AGPL-3.0 erlaubt Nutzung und Veränderung frei, verlangt aber bei Weitergabe im Netzbetrieb die Offenlegung des Quellcodes eigener Anpassungen.
Redaktionelles Fazit
TREK passt für Familien, Freundeskreise und kleine Gruppen, die eine Reise gemeinsam planen wollen, ohne ihre Daten an einen Reisedienst auszulagern. Wer nur eine einfache Checkliste braucht, wird mit dem Funktionsumfang überfordert. Vor dem Ernstbetrieb lohnt ein Blick auf die Demo unter demo.liketrek.com und ein Testlauf des Docker-Containers mit einem isolierten ENCRYPTION_KEY.
Community-Notizen