群晖上部署 TREK:一个容器搞定行程、地图、预算和协作
简介
什么是 TREK ?
TREK是一个开源、自托管的实时协作旅行规划工具,覆盖旅行全周期——从前期的景点筛选、路线规划,到中期的预算追踪、预订管理,再到后期的旅行日志、文档归档,全流程都能在一个平台完成。它解决了传统旅行规划中信息分散、难以协作的痛点,让多人同行时共同编辑和完善行程变得轻松高效。
主要特点
- 智能行程规划:拖拽式日历规划器,轻松安排每天的行程,支持跨天调整和重新排序
- 交互式地图:支持
Leaflet或Mapbox GL,带3D建筑、地形、照片标记和路线可视化 - 地点搜索:支持
Google Places(含评分、照片、营业时间)和OpenStreetMap(免费无需 API Key) - 预算追踪:
Splitwise风格的费用追踪与多人分摊,支持多币种 - 打包清单:分类模板、成员分配、进度追踪,还可选配行李重量追踪
- 实时协作:
WebSocket实时同步,修改即时显示,支持角色权限管理 - 预订管理:航班、住宿、餐厅等预订信息管理,支持从确认邮件和
PDF自动导入 - PWA 支持:可安装到
iOS/Android,无需应用商店,支持离线使用 - SSO 登录:支持
Google、Apple、Authentik、Keycloak等OIDC提供商 - 20 种语言:包含中文、英文、日文、韩文等国际语言支持
- 内置 MCP 服务器:提供
150+工具和30个资源接口,AI助手可直接创建行程、规划路线 - 开源免费:基于
AGPL v3协议开源,可免费使用和修改
应用场景
- 家庭旅行规划:一家人共同规划假期行程,管理打包清单,再也不用担心漏东西
- 朋友结伴出游:多人在线协作编辑行程,实时看到彼此的修改,群聊讨论景点安排,分摊费用
- 自由行攻略整理:整合景点、地图、路线、预算、预订信息,一份行程单搞定所有
- 长期旅行管理:多城市多日行程管理,包含路书、日记、照片归档等完整记录

TREK 是一套功能极为完整的自托管旅行规划系统,把地图、行程、协作、预算和文件管理整合到统一的私有平台中。
安装
在群晖上以 Docker 方式安装。
在注册表中搜索 trek,选择第一个 mauriceboe/trek,版本选择 latest。
本文写作时,
latest版本对应为3.4.1;

卷
在 docker 文件夹中,创建一个新文件夹 trek,并在其中建两个子文件夹 data 和 uploads
| 文件夹 | 装载路径 | 说明 |
|---|---|---|
docker/trek/data |
/app/data |
存放数据库和日志 |
docker/trek/uploads |
/app/uploads |
存放上传文件 |

端口
本地端口不冲突就行,不确定的话可以用命令查一下
1 | # 查看端口占用 |
| 本地端口 | 容器端口 |
|---|---|
| 3258 | 3000 |

环境
| 可变 | 值 |
|---|---|
ENCRYPTION_KEY |
必填,openssl rand -hex 32 生成 |
TZ |
设为 Asia/Shanghai |
COOKIE_SECURE |
如果你用 http://群晖IP:3258 访问且登录总是跳回登录页,设 COOKIE_SECURE=false 就能解决 |

环境变量说明:
ENCRYPTION_KEY是加密密钥,用于加密存储的敏感数据(API Keys、MFA、SMTP、OIDC等),必须手动设置。可用openssl rand -hex 32命令生成64位十六进制字符串。
命令行安装
docker cli 安装
如果你熟悉命令行,可能用 docker cli 更快捷
1 | # 新建文件夹 trek 和 子目录 |
docker-compose 安装
也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件
1 | version: '3.8' |
然后通过 SSH 登录到您的群晖,执行下面的命令:
1 | # 新建文件夹 trek 和 子目录 |

运行
在浏览器中访问 http://<群晖IP>:3258 即可进入登录界面
默认就是简体中文,如果不是,可以登录之后,在
Settings中设置为简体中文

首次启动时,TREK 会自动创建一个管理员账号:
- 如果设置了
ADMIN_EMAIL和ADMIN_PASSWORD环境变量,则使用设定的账号 - 否则,管理员的邮箱和密码会输出到容器日志中,执行
docker logs trek查看
输出示例:
1 | TREK - First Run: Admin Account Created |

或者从日志中直接提取
1 | # 查看管理员初始密码 |

第一次需要修改密码

登录后的主界面

- 创建新的旅行计划,设置名称、目的地和日期范围

创建成功之后

- 通过邮件或邀请链接添加协作成员

- 使用地点搜索在地图上标记景点、餐厅和住宿

- 拖拽安排每日行程,添加笔记和标签

- 设置预算并记录支出,实现多人分摊

注意事项
- 加密密钥备份:
ENCRYPTION_KEY非常重要,一旦丢失将无法解密已存储的敏感数据,务必妥善保存 - 数据持久化:务必挂载
data和uploads两个卷,切勿将卷挂载到/app目录,否则会覆盖应用代码导致容器无法启动 - 反向代理:如需通过域名访问,建议配置
Nginx或Caddy反向代理并启用HTTPS,TREK使用WebSocket实时同步,代理需支持WebSocket升级 - 安全建议:建议启用
FORCE_HTTPS=true(需配合反向代理)和TRUST_PROXY=1,并修改默认管理员密码 - 网络环境:
TREK的地图(OpenStreetMap/Mapbox)、地点搜索(Google Places)、天气预报(Open-Meteo)、Unsplash图片搜索等均为海外服务,国内网络可能无法直接访问。建议设置网络代理解决,否则部分地图和搜索功能可能不可用
参考文档
TREK: A self-hosted travel/trip planner with real-time collaboration, interactive maps, PWA support, SSO, budgets, packing lists, and more.
地址:https://github.com/liketrek/TREKmauriceboe/trek - Docker Image
地址:https://hub.docker.com/r/mauriceboe/trekTREK 在线 Demo
地址:https://demo.liketrek.com