---
title: "Hoste deine Reiseplanung selbst mit TREK und Docker"
description: "Erfahre, wie du TREK mit Docker deployst, es über Cloudflare R2 und Caddy absicherst und KI-Agents via MCP für eine nahtlose Reiseplanung effizient nutzt."
canonical_url: "https://techvoyage.dev/de/article/self-hosted-travel-planner-trek"
last_updated: "2026-09-03"
---

Der mühsame Teil der Reiseplanung besteht darin, dass PDF-Flugbuchungen, Hotelbestätigungen, Unterhaltungen mit Mitreisenden und Listen von Sehenswürdigkeiten an verschiedenen Orten verstreut sind. Wenn es dann an der Zeit ist, die Gesamtausgaben zu berechnen und die Rechnungen aufzuteilen, erfordert es enormen Aufwand, all diese Reisedaten zu durchforsten.

TREK ist ein Open-Source-Reiseplaner, der selbst gehostet werden kann und deine Reiseroute, Buchungen, dein Budget sowie Packlisten an einem einzigen Ort bündelt. Der integrierte MCP-Server ermöglicht es KI-Agents (wie Claude Desktop), Reisedaten direkt zu verwalten.

Dieser Leitfaden führt dich durch alle Schritte – vom Deployment bis hin zur vollständigen Verwaltung einer echten Reise von Anfang bis Ende.

### 1. So deployst du den TREK-Reiseplaner mit Docker

#### Docker auf dem Ubuntu-VPS installieren

```bash
# Add Docker's official GPG key and set up the Docker repository
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

# Add the official Docker repository
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

# Update package list
sudo apt update

# Install Docker Engine, Docker Community Edition, and containerd runtime
sudo apt install docker-ce docker-ce-cli containerd.io -y

# Verify docker is installed
docker --version

# Starts automatically when your system boots
sudo systemctl enable docker
```

#### Verschlüsselungsschlüssel generieren

TREK verwendet einen Schlüssel zur Verschlüsselung sensibler Daten. Verwende den folgenden Befehl oder dieses [Online-Tool](/de/tools/secret-key-hex), um den Verschlüsselungsschlüssel zu generieren:

```bash
openssl rand -hex 32
```

Speichere ihn an einem sicheren Ort; bei Verlust verlierst du den Zugriff auf die verschlüsselten Daten.

#### Container starten

```bash
docker run -d \
  --name trek \
  -p 3000:3000 \
  -e ENCRYPTION_KEY="<generated_key>" \
  -e APP_URL="https://trek.pafor.me" \
  -v ./data:/app/data \
  -v ./uploads:/app/uploads \
  --restart unless-stopped \
  mauriceboe/trek:latest
```

- **APP_URL muss korrekt eingestellt sein** — der OAuth-Discovery-Flow des MCP-Servers hängt davon ab. Richte sie von Anfang an auf deine endgültige öffentliche HTTPS-Adresse ein.

Der erste Start dauert eine Weile, da das Image heruntergeladen werden muss:

![Docker-Pull- und Run-Protokolle für TREK](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-docker-pull-image.webp)Überprüfe, ob der Container läuft:

```bash
docker ps
```

![Überprüfung des Status laufender Container via docker ps](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-docker-ps-status.webp)### 2. Domain-Routing & SSL mit dem Caddy-Reverse-Proxy einrichten

HTTPS ist für Passkeys und OAuth für MCP zwingend erforderlich. Der Domainname wird bei Cloudflare gehostet, was mit einem kostenlosen SSL-Zertifikat und DDoS-Schutz einhergeht.

Caddy wird als sicherer Reverse-Proxy-Server eingerichtet, um auf Port 3000 zu verweisen. Ein Beispiel für ein Caddyfile sieht wie folgt aus:

```json
{$TREK_DOMAIN} {
  encode zstd gzip
  reverse_proxy host.docker.internal:3000
}
```

### 3. Erstkonfiguration & sichere Admin-Einrichtung

Es gibt zwei Möglichkeiten, das Admin-Konto zu erstellen:

- **ADMIN_EMAIL und ADMIN_PASSWORD** werden als Umgebungsvariablen definiert; diese Werte werden direkt verwendet.
- TREK erstellt die E-Mail `admin@trek.local`, den Benutzernamen `admin` und ein **zufällig generiertes Passwort, das im Container-Log ausgegeben wird**. Führe `docker logs trek` aus, um es abzurufen.

Wenn das Passwort im Log nicht gefunden werden kann, setze es zurück:

```bash
docker exec -it -e RESET_ADMIN_EMAIL=admin@trek.local -e RESET_ADMIN_PASSWORD='YourNewPassword' trek node server/reset-admin.js
```

Beim ersten Login wirst du aufgefordert, das Passwort zu ändern.

![Aufforderung zur Erstanmeldung und Zurücksetzung des Admin-Passworts](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-initial-login-password-prompt.webp)Klicke auf **Admin** und aktualisiere die E-Mail-Adresse:![Einrichten einer benutzerdefinierten E-Mail in den TREK-Admin-Einstellungen](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-admin-email-update-panel.webp)

#### 3.1 Backups

Konfiguriere automatische Backups mit einer Aufbewahrungsrichtlinie (Retention Policy) im Admin-Panel:
![Konfigurieren von automatischen Backup-Zeitplänen und Aufbewahrungsregeln](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-admin-backup-retention-policy.webp)

#### 3.2 Hochgeladene Dateien auf Cloudflare R2 speichern

Das Speichern von hochgeladenen Dateien, Fotos und Backups in Cloudflare R2 hält die VPS-Festplatte sauber und schlank. TREK unterstützt S3-kompatible Backends, wofür sich Cloudflare R2 perfekt eignet.

1. Erstelle ein R2-Bucket namens `trek`.
2. Suche im Abschnitt **Account Details** nach deiner Account-ID:
  ![Auffinden der Cloudflare-Konto-ID im Portal](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/cloudflare-r2-account-details-id.webp)
3. Klicke auf **Manage API Tokens**:
  ![Cloudflare-Portal-Bildschirm zur Verwaltung von API-Tokens](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/cloudflare-r2-manage-api-tokens-button.webp)
4. Klicke auf **Create Account API token** mit Lese-/Schreibberechtigungen (Read/Write) für das Bucket:
  ![Erstellen eines R2-Zugriffstokens mit Lese- und Schreibberechtigungen](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/cloudflare-r2-create-token-permissions.webp)
5. Klicke im **ADMINISTRATION**-Panel auf **Storage**:
  ![Navigieren zu den Speichereinstellungen im TREK-Kontrollzentrum](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-administration-storage-menu.webp)
6. Klicke auf die Schaltfläche **Add Backend** und trage Endpunkt, Bucket sowie die Anmeldedaten ein:
  ![Konfigurieren des S3-kompatiblen Cloudflare R2-Speicher-Backends](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-add-storage-backend-credentials.webp)
7. Klicke auf **Apply** und danach auf die Schaltfläche **Test**. Es sollte die Meldung 'Connection OK' erscheinen:
  ![Erfolgreicher Speichertest mit der Meldung Connection OK](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-test-storage-backend-connection-ok.webp)
8. Stelle alle Speicherkategorien auf Cloudflare R2 um und klicke auf **Save changes**:
  ![Leiten aller Dateispeicherkategorien an Cloudflare R2](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-switch-storage-categories-r2.webp)

#### 3.3 Passkey-Login

TREK unterstützt Passkeys, Zwei-Faktor-Authentifizierung (2FA) und OIDC Single Sign-On (SSO). Trage für Passkeys deinen Domainnamen und die erlaubten Origins in den Einstellungen ein und klicke auf **Save**:

![Registrieren erlaubter Ursprünge für die sichere Passkey-Authentifizierung](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-passkey-allowed-origins-settings.webp)Ohne die Konfiguration der **allowed origins** schlägt die Registrierung von Passkeys fehl.

#### 3.4 Google Maps API-Key

Ein Google Maps-Key reichert die Ortssuche mit Bewertungen, Öffnungszeiten und Fotos an. Ohne Key greift TREK automatisch auf OpenStreetMap zurück – allerdings ohne Bewertungen und Bilder.

Folge diesem [Link](https://mapsplatform.google.com/maps-demo-key/) und klicke auf **Get demo key**, um einen anzufordern:                                                  ![Anfordern eines Google Maps Platform-API-Schlüssels](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/google-maps-get-demo-api-key.webp)

Füge den Key in den Einstellungen ein und klicke auf **Test**, um die Verbindung zu bestätigen:
![Überprüfung der Google Maps-API-Schlüsselkonnektivität in den Einstellungen](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-google-maps-key-test-connection.webp)

#### 3.5 KI-Integration

Das KI-Modell wird verwendet, um Buchungsbestätigungs-E-Mails und PDFs in strukturierte Reservierungen zu parsen.

Klicke im linken Menü auf **Addons** und aktiviere **AI Parsing**. Wähle 'OpenAI' (oder einen anderen kompatiblen Anbieter) aus und trage die Anbieterdetails ein:

![Aktivieren des AI-Parsing-Addons mit OpenAI-Integration](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-addons-enable-ai-parsing-openai.webp)#### 3.6 MCP-Zugriff

Aktiviere unter **Addons** die Option **MCP**:

![Aktivieren des Model Context Protocol MCP-Server-Addons](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-addons-enable-mcp.webp)#### 3.7 Plugins

Die folgenden Plugins werden empfohlen und sollten aktiviert werden:

![Liste der aktiven empfohlenen Plugins und Addons](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-recommended-addons-plugins-activation.webp)#### 3.8 Erstelle deinen Alltags-Benutzer

Plane Reisen als normaler Benutzer, nicht als Admin. Erstelle einen regulären Account und melde dich damit an:

![Erstellen eines regulären Benutzerkontos im TREK-Panel](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-create-regular-user-form.webp)Füge nach dem Einloggen einen Passkey hinzu oder richte 2FA ein, um den Account abzusichern:

![Konfigurieren der Benutzersicherheitseinstellungen mit Passkeys und 2FA](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-user-security-passkey-2fa-setup.webp)Klicke auf **+ Add a passkey**, gib das aktuelle Passwort ein und bestätige:

![Bestätigen des Passworts zur Registrierung eines neuen Hardware-Passkeys](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-add-passkey-confirm-password.webp)### 4. Testen deines Deployments: Importieren historischer Reisedaten

Ein guter Weg, um TREK kennenzulernen, ist das Erfassen deiner bisherigen Reisehistorie.

#### 4.1 Reise erstellen

Klicke auf **+ New Trip** und setze **Start Date** und **End Date** auf die vergangenen Reisedaten:

![Erstellen einer neuen Reise mit benutzerdefinierten Datumsbereichen](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-create-new-trip-details.webp)Füge ein Titelbild hinzu (per Drag & Drop oder aus der Zwischenablage einfügen) und klicke auf **Create New Trip**:

![Einrichten eines hochwertigen Reise-Titelbilds](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-trip-cover-image-upload.webp)#### 4.2 Buchungen importieren

Ziehe alle Dateien zu Flügen, Zügen und anderen Transportmitteln hinein:

![Drag-and-Drop-Bereich zum Importieren von Reise-PDFs und Buchungen](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-import-travel-booking-files.webp)![Verarbeitungsfenster für hochgeladene Reservierungen mit Extraktionsstatus](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-import-booking-pdf-processing-status.webp)Bei aktiviertem KI-Modell werden Buchungsbestätigungs-PDFs automatisch geparst und in strukturierte Reservierungen umgewandelt.

Überprüfe das geparste Ergebnis und klicke auf **Add**, um die Buchungsdetails zu speichern:

![Überprüfung der von der KI extrahierten strukturierten Buchungsdetails](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-review-parsed-booking-details.webp)Wenn eine Buchung nur als E-Mail vorliegt, exportiere sie als PDF und lade sie hoch – es gilt die gleiche Extraktions-Pipeline.

Die folgenden Screenshots zeigen, wie Buchungen dargestellt werden:

![Umfassende Zeitleistenanzeige der Reisebuchungen](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-trip-bookings-timeline-view.webp)![Detailansicht einer bestätigten Transportreservierung](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-booking-confirmation-details.webp)

Auf der **Plan**-Seite werden alle Unterkünfte auf der Karte angezeigt:

![Interaktive Karte mit allen Hotelunterkünften](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-plan-accommodations-map-display.webp)Klicke im oberen Menü auf **Atlas** für eine Liste (und Karte) aller besuchten Länder:

![Reiseverlaufsübersicht im persönlichen Atlas-Tracker](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-atlas-countries-visited-summary.webp)#### 4.3 Reisepartner hinzufügen

Klicke auf die Schaltfläche **Share**:

![Öffnen des Dialogfelds zum Teilen von Reisen in TREK](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-trip-share-options-button.webp)Am unteren Ende des Dialogs können Gäste hinzugefügt werden:

![Hinzufügen von benutzerdefinierten Reisebegleitern und Gästen](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-trip-add-companions-guests.webp)#### 4.4 Ausgaben erfassen

Klicke auf **Add expense**, um sonstige Kosten abseits von Buchungen wie Auslandskrankenversicherung, Nahverkehr oder SIM-Karten hinzuzufügen:

![Eingabe detaillierter Ausgabendaten im Ausgabenformular](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-add-custom-expense-form.webp)![Aufteilung der Rechnung und Ausgabenverfolgung](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-expenses-list-billing-split.webp)#### 4.5 Reiseabschnitte

Diese Funktion erfordert die Aktivierung des Trip Segment-Plugins.

Längere Reisen lassen sich hervorragend in Segmente unterteilen, wobei jeder Abschnitt eigene Buchungen, Orte und Kosten anzeigt:

![Aufteilen einer komplexen Reiseroute in Reiseabschnitte](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-trip-segments-overview-display.webp)![Aktiver Reiseabschnitt mit Orten und Zeitplänen](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-trip-segment-itinerary-details.webp)![Kartierung der einzelnen Reiseabschnitte auf der Zeitleiste](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-trip-segments-interactive-map.webp)#### 4.6 Journey erstellen und Atlas prüfen

Fasse Reisen in einer **Journey** zusammen und schreibe Berichte, um das Abenteuer mit Freunden zu teilen:

![Zusammenführen mehrerer Reisen in eine visuelle Reise (Journey)](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-create-new-journey-group.webp)![Entwerfen von visuellen Geschichten im Reise-Panel](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-journey-timeline-story-writing.webp)![Mediensammlung und Galerie-Raster innerhalb einer Reise](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-journey-gallery-media-grid.webp)![Generieren von öffentlichen Links zum Teilen für kollaborative Reisen](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-journey-public-share-link.webp)### 5. Maßgeschneiderte Reiserouten und Packlisten entwerfen

Klicke auf **+ New Trip**, gib einen Namen ein und lege die Reisedaten fest:

![Erster Dialog zur Erstellung einer Reise ohne festes Datum](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-planning-new-trip-setup.webp)**Wenn deine Reisedaten noch nicht feststehen, lass beide Felder leer.** Es erscheint ein Feld für die Anzahl der Tage (bis zu 365). Erst planen, später terminieren.

#### 5.1 Orte hinzufügen

Dies ist der zeitaufwendigste Schritt bei jeder Reiseplanung. TREK bietet dafür verschiedene Wege an:

![Verschiedene Methoden zum Hinzufügen neuer Orte zu Reiserouten](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-add-places-methods-overview.webp)**1. Rechtsklick auf die Karte**, um einen Ort an genau dieser Stelle zu erstellen – die Adresse wird automatisch per Reverse-Geocoding ermittelt:

![Rechtsklick auf der Karte, um Orte genau zu bestimmen](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-right-click-map-location.webp)![Automatische Geokodierung der ausgewählten Kartenkoordinaten](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-right-click-reverse-geocode-address.webp)**2. Klicke auf + Add Place/Activity** und suche nach dem Namen

![Suchen nach realen Orten über die Texteingabe](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-search-place-by-name-input.webp)![Anzeige von Ortssuchergebnissen mit Adress-Overlays](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-select-place-search-results-list.webp)![Umfassende Ortsinfokarte mit Bewertungen und Bewertungen](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-place-details-rich-info-card.webp)**3. Kopiere eine Google-Maps-URL** (`maps.app.goo.gl/...` oder `maps.google.com/...`) in das Suchfeld. TREK liest Namen, Adresse und Koordinaten automatisch aus:

![Direktes Einlesen von Orten aus eingefügten Google Maps-Teillinks](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-paste-google-maps-share-link.webp)![Erfolgreiche Koordinatenextraktion aus einer Google Maps-URL](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-google-maps-parsed-location.webp)**4. Bulk-Import** — am einfachsten von allen. Wenn du bereits eine Liste deiner Wunschziele in Google Maps führst, exportiere sie als `.gpx` (`.kml` und `.kmz` funktionieren auch) und klicke im rechten Panel auf **Import file**, um alles auf einmal zu importieren:

![Durchführen von Massenimporten von Orten mithilfe von GPX- oder KML-Dateien](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-bulk-import-places-gpx-file.webp)Füge zuerst alles hinzu, was interessant ist, unabhängig davon, ob es in den Zeitplan passt. Ordne die Orte erst später den einzelnen Tagen zu.

#### 5.2 Tagespläne und Notizen

Der Tagesplan organisiert die Orte tagesweise in der richtigen Reihenfolge. Es ist eine einklappbare Liste pro Tag, und alles funktioniert per Drag-and-Drop:

![Anpassen der täglichen Routen per Drag-and-Drop](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-day-plan-drag-drop-ordering.webp)Die Details, die es besonders nützlich machen:

- **Transport zwischen Stopps**: Das Bus-Symbol oben links an einem Tag fügt die Verbindung hinzu (Zug, Bus, Flugabschnitte innerhalb des Tages):
![Registrieren von Pendelverkehrsmitteln zwischen Tagesabschnitten](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-day-plan-commuting-transport-button.webp)
- **Tagesnotizen**: Das Notiz-Symbol unten links hängt mit Emojis versehene Notizen an — 'heute früh aufstehen', 'dieses Museum erfordert eine Reservierung':
![Hinzufügen von gut sichtbaren, mit Symbolen gekennzeichneten benutzerdefinierten Notizen](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-day-plan-icon-tagged-notes-button.webp)
- **Zeitslots**: Ziehe einen Ort aus dem rechten Panel in einen Tag und weise ihm eine Uhrzeit zu. Orte mit festgelegten Zeiten werden auf der Karte automatisch verbunden:
![Automatisch berechnete Transitrouten zwischen zeitlich festgelegten Orten](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-day-plan-timed-places-routing.webp)
- Weitere Informationen zu **Routenoptimierung** und **Wetter** findest du auf der [Wiki-Seite zu Tagesplänen und Notizen](https://github.com/liketrek/TREK/wiki/Day-Plans-and-Notes).

#### 5.3 Collections: Wiederverwendbare Ortslisten

Collections ermöglicht es dir, Ortslisten unabhängig von bestimmten Reisen zu speichern. Sie können mit Freunden geteilt werden und stehen für die nächste Reise bereit. Orte werden in Reisen **kopiert**, sodass das Bearbeiten eines Eintrags in einer Reise niemals deine Collection verändert und umgekehrt.

Klicke auf **Collections** in der oberen Menüleiste:

![Zugriff auf benutzerdefinierte Sammlungen für gespeicherte Orte](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-collections-dashboard-view.webp)Klicke auf **+ New list**, um eine neue Liste zu erstellen:

![Erstellen von benutzerdefinierten Listen in den Sammlungen](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-collections-create-new-list.webp)Klicke auf **+ Add a place** und fülle die Details aus:

![Manuelle Formulareingabe zur Bestückung benutzerdefinierter Sammlungslisten](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-collections-add-place-manually-form.webp)**Hinweis:** Die Suche innerhalb des 'Add a place'-Dialogs scheint nicht zu funktionieren, daher musst du die Details manuell eingeben.

Wenn Geo-Koordinaten für die Orte verfügbar sind, werden sie auf der Karte angezeigt:

![Visualisierung benutzerdefinierter Sammlungsorte auf einer interaktiven Karte](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-collections-map-places-display.webp)Um Orte mit Labels zu organisieren, klicke auf das **Häkchen**-Symbol:

![Auswahlmodus für die Massenkennzeichnung gespeicherter Orte](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-collections-select-places-tickbox.webp)Wähle die zu gruppierenden Orte aus und klicke auf **Assign label**:

![Zuweisen von beschreibenden Beschriftungen zu ausgewählten Orten](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-collections-group-assign-label.webp)Klicke auf **Manage labels**, um zuerst Labels zu erstellen:

![Erstellung und Verwaltung von benutzerdefinierten Labels](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-collections-manage-custom-labels.webp)Wähle ein Label aus und klicke auf **Assign label**:

![Anwenden von benutzerdefinierten Labels auf Gruppierungsorte](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-collections-confirm-label-selection.webp)#### 5.4 Kosten und Budget

Auf der Seite 'Costs' können wir sonstige Ausgaben für die Reise hinzufügen.

![Umfassende Ausgabentabelle und Saldenausgleichsbuch](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-costs-budget-overall-expenses-list.webp)Zahlungen von Reisepartnern können auf derselben Seite hinzugefügt und aufgeteilt werden.

Das Settlement-Panel nutzt einen Greedy-Matching-Algorithmus, um die **minimale Anzahl an Überweisungen** zu berechnen, die nötig ist, um zu klären, wer wem wie viel schuldet.

### 6. Model Context Protocol (MCP) für KI-gestützte Reiseplanung nutzen

TREK verfügt über einen integrierten **MCP-Server (Model Context Protocol)**, der es KI-Agents ermöglicht, deine Reisedaten direkt zu lesen und zu schreiben – mit über 150 Tools und 30 Ressourcen für Reisen, Orte, Budgets, Packlisten, Buchungen und Kollaboration.

#### 6.1 Cloudflare Zero Trust

Da TREK hinter einem [Cloudflare Zero Trust](/article/exposing-hermes-agent-to-private-network-using-cloudflare-warp)-Netzwerk läuft, musst du die Domain zur Einschlussliste für Split-Tunnel hinzufügen. Andernfalls treten Probleme bei der OAuth-Autorisierung auf. Bitte lies dazu dieses GitHub-Issue: [github issue](https://github.com/liketrek/TREK/issues/1463).

<article-card description="Erfahren Sie, wie Sie mit Cloudflare WARP und Zero Trust weltweit sicher auf Ihren Hermes Agent zugreifen können, ohne eingehende Firewall-Ports zu öffnen." image="https://inimages.techvoyage.dev/articles/Exposing%20Hermes%20Agent%20to%20Private%20Network%20Using%20Cloudflare%20WARP/DE-Exposing-Hermes-Agent-to-Private-Network-Using-Cloudflare-WARP.webp" image-alt="Sichere Freigabe des Hermes Agent in einem privaten Netzwerk mittels Cloudflare Zero Trust und WARP-Tunnel" label="Verwandte Anleitung" min-read="9" title="Den Hermes Agent privat mit Cloudflare WARP freigeben" to="/article/exposing-hermes-agent-to-private-network-using-cloudflare-warp">



</article-card>

![Hinzufügen von benutzerdefinierten Domänen zu Cloudflare Warp Split Tunnels](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/cloudflare-zero-trust-split-tunnels-domain.webp)#### 6.2 Claude Desktop

Klicke auf **+ New Client**, um einen KI-Agenten-Client zu erstellen:
![Registrieren eines neuen benutzerdefinierten Client-Tokens in den Einstellungen](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-register-new-mcp-client.webp)

Wähle den Reiter **Claude Desktop** und klicke auf **Register Client**:

![Generieren von Claude Desktop-Client-Anmeldedaten](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-mcp-claude-desktop-client-credentials.webp)Ein Paar aus Client-ID und Client-Secret wird angezeigt. Kopiere sie an einen sicheren Ort. Klicke dann auf **Client Configuration**, um die MCP-Konfiguration anzuzeigen:

![Abrufen des vorformatierten MCP-Server-Konfigurationsblocks](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-mcp-client-configuration-block.webp)Klicke in Claude Desktop auf **Edit Config**, um die lokale Konfigurationsdatei für MCP-Server zu öffnen:

![Bearbeiten der lokalen MCP-Konfigurationsdatei (json) von Claude Desktop](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/claude-desktop-mcp-config-json.webp)Füge die TREK-Konfiguration ein und ersetze die Platzhalter durch deine Zugangsdaten:

```json
"mcpServers": {
    "trek": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "https://trek.pafor.me/mcp",
        "--static-oauth-client-info",
        "{\"client_id\": \"<your_client_id>\", \"client_secret\": \"<your_client_secret>\"}"
      ]
    }
  },
```

Starte Claude Desktop neu. Der TREK-Server wird nun unter **Local MCP servers** als verbunden angezeigt:

![Überprüfung des aktiven TREK-Verbindungsstatus in der Claude-Benutzeroberfläche](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/claude-desktop-mcp-trek-server-connected.webp)Führe nun einen Prompt aus:

![Aufforderung an Claude in natürlicher Sprache, Reisedaten zu manipulieren](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/claude-desktop-mcp-natural-language-prompt.webp)Fügen wir eine Ausgabe in natürlicher Sprache hinzu:

```text
For the West Europe trip, the Grab from KLIA1 to the hotel cost RM115.90 on 26/4/2025. Please add it as an expense without split to the trip.
```

![Claude nutzt Tools, um automatisch eine Ausgabe zu erfassen](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/claude-desktop-mcp-add-expense-response.webp)Beim Überprüfen der **Costs**-Seite sehen wir, dass die Ausgabe mit 'No one paid yet' erstellt wurde, da kein Zahler genannt wurde:

![Bestätigen der neu geparsten KI-Ausgabe in der Kostenübersicht](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-costs-page-mcp-parsed-expense.webp)Das Hinzufügen zur Packliste funktioniert genauso:

![Claude fügt Packlistenartikel mithilfe von natürlicher Sprache hinzu](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/claude-desktop-mcp-add-packing-items.webp)Aktualisiere die Seite **Packing List** und die drei Artikel sind da:

![Bestätigen der neu geparsten Packlistenartikel auf der Packlisten-Seite](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/trek-packing-list-mcp-parsed-items.webp)#### 6.3 Gemini CLI (Dynamische Registrierung)

Gemini CLI unterstützt eine **dynamische Registrierung**, es ist also kein vorab erstellter Client erforderlich. Füge dies zu `.gemini/settings.json` hinzu:

```json
"trek": {
      "httpUrl": "https://trek.pafor.me/mcp",
      "oauth": {
        "enabled": true
      }
    }
```

Führe `gemini` im Terminal aus und klicke auf **Approve**, wenn die Autorisierungsaufforderung erscheint:
![Genehmigung des OAuth-Zugriffs für den TREK-MCP-Server](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/mcp-client-oauth-authorization-prompt.webp)

Beginne dann mit einem einfachen Prompt:

![Aufforderung an die Gemini-CLI, Reiserouten abzurufen](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/gemini-cli-mcp-prompt-itinerary.webp)![Erfolgreiche Anzeige strukturierter Reiseinformationen in der Gemini-CLI](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/gemini-cli-mcp-display-itinerary.webp)#### 6.4 Kimi CLI (Dynamische Registrierung)

Gleicher Ansatz — füge dies der Datei `mcp.json` im Ordner `/Users/<user>/.kimi/` hinzu:

```json
"trek": {
      "type": "http",
      "url": "https://trek.pafor.me/mcp",
      "auth": "oauth"
    }
```

Führe `kimi mcp auth trek` im Terminal aus und klicke auf **Approve**:
![Genehmigung des OAuth-Zugriffs für den TREK-MCP-Server](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/mcp-client-oauth-authorization-prompt.webp)

Nach der Autorisierung werden die verfügbaren Tools aufgelistet:

![Kimi-CLI zeigt verfügbare Tools nach erfolgreicher Autorisierung an](https://inimages.techvoyage.dev/articles/Self%20hosted%20travel%20planner%20TREK/kimi-cli-mcp-authorized-tools-list.webp)### 7. Mobile Nutzererfahrung

TREK ist eine PWA (Progressive Web App) auf Mobilgeräten. Ein Service Worker cacht Kartenkacheln und API-Daten, sodass deine Reiseroute auch offline lesbar bleibt. Bei Push-Benachrichtigungen kann es im Vergleich zu einer nativen App jedoch zu gewissen Verzögerungen kommen.

### Fazit

Die Anbindung von KI-Agents über MCP erspart viel mühsame Arbeit beim Erfassen von Flug- und Unterkunftsbuchungen. Darüber hinaus können Agents interessante Orte basierend auf deinen Reisedaten und der Jahreszeit vorschlagen. Ein einziges Gespräch mit einem KI-Agenten kann die gesamte Kette abdecken – von der Recherche und dem Erstellen der Reiseroute bis hin zur Budgetverfolgung und dem Packen.

Es gibt ein paar kleinere technische Mängel. Beispielsweise wird beim Importieren von Buchungen aus PDFs standardmäßig die Basiswährung der Reise und nicht die tatsächlich bezahlte Währung verwendet. Auch verschwindet beim Erstellen einer neuen Liste in Collections ein während der Erstellung hinzugefügtes Titelbild beim Speichern, obwohl es beim anschließenden Bearbeiten manuell wieder hinzugefügtes werden kann.

Es gibt eine gewisse technische Hürde, da du die Anwendung auf einem eigenen Server hosten musst. TREK ist in erster Linie für Menschen gedacht, die häufig reisen und hohe Ansprüche an die Organisation ihrer Reisedaten haben. Wir empfehlen, die offizielle Demo unter [demo.liketrek.com](https://demo.liketrek.com/) auszuprobieren, bevor du ein Self-Hosting in Betracht ziehst.

### Referenzen:

- [TREK Quick Start](https://github.com/liketrek/TREK/wiki/Quick-Start)
- [TREK Troubleshooting](https://github.com/liketrek/TREK/wiki/Troubleshooting)
- [TREK MCP Scopes](https://github.com/liketrek/TREK/wiki/MCP-Scopes)
