TREK: самохостируемый планировщик путешествий с ИИ, картами и совместной работой

«Групповое планирование поездки не должно жить в мёртвой Google-таблице» — именно с этой мысли начинается TREK.

TREK — это самохостируемый планировщик путешествий с совместной работой в реальном времени, включающий карты, бюджеты, списки вещей, журнал и встроенный ИИ. Проект распространяется под лицензией AGPL v3, полностью бесплатен и разрабатывается берлинским разработчиком Maurice Boe.

Что это и для кого?

TREK — это самохостируемый планировщик путешествий с совместной работой в реальном времени, лицензированный под AGPL-3.0. Инструмент ориентирован на:

  • Путешественников-одиночек, которым важна приватность данных
  • Группы и семьи, планирующие совместные поездки
  • DevOps/self-hosting-энтузиастов, развёртывающих собственную инфраструктуру
  • Компании для организации корпоративных командировок без облачной зависимости

По данным AlternativeTo, TREK признан лучшей альтернативой TripIt среди бесплатных open-source решений.

ℹ Лицензия и цена
TREK распространяется под AGPL v3. Его можно свободно использовать как для личных нужд, так и внутри компании без каких-либо затрат на лицензию. Единственные расходы — ваш сервер.

Ключевые возможности

🗺️ Интерактивные карты и планирование маршрутов

Поддерживаются Leaflet и Mapbox GL с 3D-зданиями, рельефом, фотомаркерами, кластеризацией и визуализацией маршрутов. Поиск мест — через Google Places (фото, рейтинги, часы работы) или OpenStreetMap (бесплатно, без API-ключа).

Оптимизация маршрутов автоматически упорядочивает точки и экспортирует результат в Google Maps. Также поддерживается импорт GPX, KML, KMZ и GeoJSON-файлов.

📅 Планировщик по дням

Drag & Drop планировщик позволяет организовывать места в дневные планы с переупорядочиванием и перемещением между днями. Заметки с временными метками, иконками и drag-and-drop сортировкой помогают детально расписать каждый день.

💰 Бюджет и расходы (Costs)

Бюджет был переработан в модуль Costs — полноценный трекер общих расходов, созданный для групповых поездок. Поддерживаются категорийные расходы с круговой диаграммой, разбивка по участникам и по дням, взаиморасчёты и мультивалютность.

🎒 Списки вещей и задачи

Пакинг-листы и задачи поддерживают шаблоны, назначение участникам и отслеживание прогресса. Администратор может создавать общие шаблоны для всей команды.

🤝 Совместная работа в реальном времени

PDF-экспорт полного плана поездки с обложкой, изображениями и заметками. Синхронизация через WebSocket — изменения появляются мгновенно у всех подключённых пользователей. Мультипользовательские поездки с доступом на основе ролей, инвайт-ссылки с одноразовым или многократным использованием и сроком действия.

🔐 Безопасность и аутентификация

Аутентификация реализована через JWT, OAuth 2.1, OIDC, Passkeys (WebAuthn) и TOTP MFA. SSO поддерживает Google, Apple, Authentik, Keycloak и любых OIDC-провайдеров.

🤖 Встроенный MCP-сервер для ИИ

MCP-сервер с OAuth 2.1 аутентификацией предоставляет более 150 инструментов и 30 ресурсов. ИИ может создавать поездки, планировать дни, составлять списки вещей, управлять бюджетами и отмечать посещённые страны. Поддерживаются готовые промпты: обзор поездки, список вещей, обзор бюджета.

📱 PWA — приложение без App Store

TREK устанавливается как нативное приложение на iOS и Android прямо из браузера, без App Store. Сервис-воркер кеширует тайлы, API и загрузки через Workbox для работы в офлайн-режиме.

🌤️ Погода и дополнения

Погода предоставляется через Open-Meteo (ключ API не требуется) — 16-дневный прогноз с историческими климатическими данными в качестве запасного варианта.

Дополнения (Addons):

  • Vacay — личный планировщик отпуска с календарём, праздниками 100+ стран и отслеживанием переноса дней.
  • Atlas — интерактивная карта мира посещённых стран, bucket-list и статистика поездок.
  • Journey — журнал путешествий в стиле журнала с записями, фотографиями (Immich/Synology), картами и настроениями.
  • AirTrail — подключение к AirTrail для импорта и синхронизации рейсов в бронирования.
💡 Совет по установке
Быстрый старт занимает буквально одну команду. Достаточно выполнить docker run с переменной ENCRYPTION_KEY и смонтировать два тома (./data и ./uploads), после чего открыть http://localhost:3000. TREK шифрует хранимые секреты (API-ключи, MFA-семена, OIDC-данные) с помощью этого ключа.

Быстрый старт: развёртывание через Docker

ENCRYPTION_KEY=$(openssl rand -hex 32)
docker run -d \
  --name trek \
  -p 3000:3000 \
  -e ENCRYPTION_KEY=$ENCRYPTION_KEY \
  -v ./data:/app/data \
  -v ./uploads:/app/uploads \
  --restart unless-stopped \
  mauriceboe/trek:latest

При первом запуске TREK автоматически создаёт учётную запись администратора — учётные данные берутся из переменных ADMIN_EMAIL / ADMIN_PASSWORD, иначе случайный пароль выводится в лог контейнера.

Также поддерживается развёртывание через Docker Compose, Helm/Kubernetes и за reverse-proxy.

Архитектура и стек технологий


graph TD
    A[Пользователь / PWA] -->|WebSocket| B[NestJS 11 Backend]
    A -->|REST API| B
    B -->|JWT / OAuth 2.1 / OIDC / Passkeys| C[Auth Layer]
    B -->|SQLite / better-sqlite3| D[(База данных)]
    B -->|MCP сервер OAuth 2.1| E[AI-ассистент]
    A -->|Leaflet / Mapbox GL| F[Карты]
    F -->|OpenStreetMap / Google Places| G[Геоданные]
    B -->|Open-Meteo| H[Погода]
    B -->|AirTrail API| I[Рейсы]

TREK 3 был полностью перестроен: современный NestJS-бэкенд, React 19 фронтенд и сквозной общий слой Zod-контрактов, чтобы клиент и сервер никогда не расходились.

Тарифы и цены

Тип использованияСтоимость
Self-hosted (личный)Бесплатно (AGPL v3)
Self-hosted (компания)Бесплатно (AGPL v3)
Облачная версияНе предусмотрена
Коммерческая лицензияПо запросу (AGPL требует открытия кода)
⚠ Важно про AGPL
AGPL v3 означает, что если вы модифицируете TREK и предоставляете доступ пользователям через сеть — вы обязаны открыть исходный код своих изменений. Для корпоративного использования без публикации изменений может потребоваться коммерческая лицензия.

Плюсы и минусы

✅ Плюсы❌ Минусы
Полностью бесплатный и open-sourceТребует своего сервера (нет облачной версии)
Реальное время совместной работы через WebSocketСложность настройки для нетехнических пользователей
Встроенный MCP-сервер для ИИ-интеграцийAGPL может ограничивать коммерческое использование
PWA: работает офлайн, ставится без App StoreНет мобильных нативных приложений в магазинах
SSO (Google, Apple, Keycloak, Authentik, OIDC)Зависимость от сторонних API (Google Places, Mapbox)
15 языков интерфейса включая русскийМолодой проект — возможны breaking changes
Богатая экосистема аддонов (Atlas, Vacay, Journey)Критические уязвимости в ранних версиях (исправлены в 3.1.0)
Мультивалютный трекер расходов (Splitwise-стиль)Нет встроенного AI-провайдера — нужен внешний MCP-клиент

Сравнение с альтернативами

ПараметрTREKAdventureLogWanderlog
ТипOpen-source, self-hostedOpen-source, self-hostedSaaS, freemium
ЦенаБесплатноБесплатноБесплатно / Pro
Реальное время совместной работы✅ WebSocket⚠️ Частично✅ Есть
КартыLeaflet + Mapbox GLOpenStreetMapGoogle Maps
Бюджет / расходы✅ Splitwise-стиль❌ Нет✅ Есть
Списки вещей✅ С шаблонами и назначением❌ Нет⚠️ Базовые
MCP / AI интеграция✅ 150+ инструментов❌ Нет❌ Нет
PWA / офлайн✅ Полный⚠️ Ограниченно❌ Нет
SSO / OIDC✅ Google, Apple, Keycloak⚠️ Ограниченно❌ Нет
Дневник путешествий✅ Journey (журнальный стиль)✅ Полноценный❌ Нет
Контроль данных✅ Полный✅ Полный❌ Облако третьей стороны

AdventureLog создавался для решения проблемы отсутствия современного, open-source, удобного туристического помощника, поскольку многие существующие приложения слишком сложны, дороги или закрыты. TREK же изначально нацелен на более широкий функционал с упором на командную работу и ИИ.

Безопасность: важные обновления

TREK 3.1.0 принёс Passkey-авторизацию, синхронизацию рейсов через AirTrail, реальную маршрутизацию по дорогам, а также закрыл 18 уязвимостей, включая критический обход аутентификации.

Обновление до версии 3.1.0 настоятельно рекомендуется для каждого самохостируемого экземпляра.

📝 Практический сценарий
Пример: Группа из 5 человек планирует поездку в Токио на 10 дней. Они разворачивают TREK на домашнем сервере, создают поездку, совместно добавляют достопримечательности через поиск OpenStreetMap, оптимизируют маршрут, назначают пакинг-лист каждому участнику, ведут общий бюджет с расчётом расходов на каждого, а после возвращения создают красивый журнал в Journey с фотографиями из Immich. ИИ-ассистент через MCP автоматически генерирует PDF-отчёт о поездке.

Вердикт

TREK — это редкий случай, когда open-source проект обгоняет коммерческие аналоги по функциональности. Инструмент особенно хорош для технически грамотных пользователей и команд, которым важна приватность данных, богатая ИИ-интеграция через MCP и полный контроль над инфраструктурой.

Кому подойдёт:

  • ✅ Self-hosting энтузиастам с домашним сервером или VPS
  • ✅ Семьям и группам друзей, планирующим совместные поездки
  • ✅ Разработчикам, желающим интегрировать планировщик в ИИ-воркфлоу через MCP
  • ✅ Компаниям с требованиями к приватности данных
  • ❌ Пользователям без технического бэкграунда (нет готового облака)
  • ❌ Тем, кто ищет нативные мобильные приложения в App Store / Google Play

Рейтинг: 8.5/10

КритерийОценка
Функциональность9/10
Удобство развёртывания7/10
ИИ-интеграция (MCP)9/10
Безопасность8/10
Документация8/10
Активность разработки9/10

Ссылки: GitHub репозиторий · Wiki / документация · Discord сообщество