TREK
Wanderlog の代替。地図・日程・予約・費用の割り勘までまとめる旅行計画アプリ
オープンソース代替:Wanderlog
自分のサーバーで動かすなら:メモリ 512MB 以上の VPS で、月額 588円〜(目安) 導入方法と VPS の比較を見る ↓
- Docker対応
- SSO対応
- セルフホスト可
- 商用利用可
- 日本語UI
TREK は、旅行の行程・地図・予約・費用・持ち物を1か所にまとめるセルフホスト型の旅行計画アプリです。行きたい場所を地図から日ごとに並べ、ルートの自動並べ替え、天気予報、航空券・ホテルなどの予約管理、費用の割り勘と精算、持ち物リスト、PDF 書き出しまでそろっています。同じ旅行を開いているメンバーには編集がリアルタイムで反映されます。
Google マップの共有リストや GPX・KML ファイルを取り込めるほか、スマホにはブラウザからアプリとして追加でき(PWA)、オフラインでも旅行の内容を開けます。ログインは OIDC(SSO)・パスキー・二段階認証に対応しています。
動かすのは Docker のコンテナ1つで、データベースは SQLite です。公式 wiki の Kubernetes(Helm)向け設定ではメモリの上限を 512Mi としています。開発者のサイト(liketrek.com)は「セルフホストのみ」と明記しており、クラウド版はありません。2026年3月に公開された新しいプロジェクトです。
日本語対応
リポジトリに日本語の翻訳ファイル(shared/src/i18n/ja/)があり、README も対応言語に ja を挙げています。ドキュメント(wiki)は英語です。
※ 日本語化率はリポジトリ内の翻訳ファイル(shared/src/i18n/ja/day.ts)の項目数を英語版と比較して自動計測しています。最終計測:2026/10/22
向いている人・向いていない人
向いている
- 家族や友人と旅行の行程・予約・費用を1か所で共有したい
- 旅行の記録を他社のクラウドではなく自分のサーバーに置きたい
- 割り勘の計算や持ち物リストもまとめて管理したい
- Docker のコンテナを1つ動かせる
向いていない
- スマホのアプリストアから入れられるアプリが必要(TREK はブラウザから追加する PWA)
- おすすめスポットやホテルの比較・予約までアプリ内で済ませたい
- 自分でサーバーを持ちたくない(クラウド版は無い)
- 長く使われてきた実績を重視する(2026年3月公開の新しいプロジェクト)
最近の更新
-
リリースノート(原文)
Hey there, just a quick release to build TREK with the NodeJS version patched. There's no new functionalities yet but we're working hard on TREK v5 :) We strongly recommend updating TREK to this version ASAP. For more details: https://nodejs.org/en/blog/vulnerability/october-2026-security-releases
-
v5.0.0-pre.1プレリリースリリースノート(原文)
⚠ PRE-RELEASE: USE AT YOUR OWN RISK ⚠ This is a pre-release build of TREK. It may contain bugs, incomplete features, or breaking changes. It is not recommended for production use. - Do not use this on a live instance without a full backup - Database migrations may not be reversible - APIs and configuration options are subject to change without notice If you encounter issues, please report them at https://github.com/liketrek/TREK/issues. Stable releases are available on the main release page. > ⚠ Pre-release image, not recommended for production use. `latest` and `4` stay on 4.3.3. | Tag | Description | |---------------|-------------| | `5.0.0-pre.1` | Pinned to this exact pre-release build | | `5-pre` | Latest pre-release on the v5 line | | `latest-pre` | Latest pre-…
-
リリースノート(原文)
## 4.3.3 [Full diff since 4.3.2](https://github.com/liketrek/TREK/compare/v4.3.2...v4.3.3) ### Fixed - Logging in through a self-hosted identity provider works again when its host name also has an IPv6 link-local record. Since 4.3.0 a single blocked address refused the whole name, and LAN DNS servers commonly publish a host's `fe80::` address next to its IPv4, so every OIDC login failed with "Requests to link-local / cloud-metadata addresses are not allowed". Immich, Synology and the other integrations on such a name failed the same way. TREK now leaves the blocked address out and connects over the host's other addresses, and a name that resolves to nothing else is still refused. `ALLOW_INTERNAL_NETWORK` and `ALLOW_LINK_LOCAL_IPS` work as before, except that the AWS and Alibaba metadata…
導入方法(セルフホスト)
docker-compose.yml
services:
app:
image: mauriceboe/trek:latest
container_name: trek
read_only: true
security_opt:
- no-new-privileges:true
cap_drop:
- ALL
cap_add:
- CHOWN
- SETUID
- SETGID
tmpfs:
- /tmp:noexec,nosuid,size=128m
ports:
- "3000:3000"
environment:
- NODE_ENV=production
- PORT=3000
- ENCRYPTION_KEY=${ENCRYPTION_KEY:-} # Recommended. Generate with: openssl rand -hex 32. If unset, falls back to data/.jwt_secret (existing installs) or auto-generates a key (fresh installs).
- TZ=${TZ:-UTC} # Timezone for logs, reminders and scheduled tasks (e.g. Europe/Berlin)
- LOG_LEVEL=${LOG_LEVEL:-info} # info = concise user actions; debug = verbose admin-level details
# - TREK_WIKI_DIR=/app/wiki # Where the in-app Help pages (/help) read their content from. Leave unset: the image ships the wiki at /app/wiki and finds it automatically. Only set this to serve your own docs, mounted into the container. If the path does not exist, Help falls back to fetching the public GitHub wiki (needs outbound network, and tracks the latest release rather than your version).
# - DEFAULT_LANGUAGE=en # Default language on the login page for users with no saved preference. Browser/OS language is auto-detected first; this is the fallback. Supported: de, en, es, fr, hu, nl, br, cs, pl, ru, zh, zh-TW, it, ar
# - SESSION_DURATION=30d # How long users stay logged in (trek_session JWT + cookie maxAge). Accepts: 1h | 12h | 7d | 30d | 90d. Default: 24h
# - SESSION_DURATION_REMEMBER=30d # Session length when "Remember me" is ticked at login: longer-lived JWT + persistent cookie that survives browser restarts. Same format as SESSION_DURATION. Default: 30d
- ALLOWED_ORIGINS=${ALLOWED_ORIGINS:-} # Comma-separated origins for CORS and email notification links
# - FORCE_HTTPS=true # Optional. Enables HTTPS redirect, HSTS, CSP upgrade-insecure-requests, and secure cookies behind a TLS proxy
# - HSTS_INCLUDE_SUBDOMAINS=false # When true: adds includeSubDomains to the HSTS header. Only effective when HSTS is active. Leave false if sibling subdomains still run over plain HTTP.
# - COOKIE_SECURE=false # Escape hatch: force session cookies over plain HTTP even in production. Not recommended.
# - TRUST_PROXY=1 # Trusted proxy count for X-Forwarded-For / X-Forwarded-Proto. Required for FORCE_HTTPS to work.
# - ALLOW_INTERNAL_NETWORK=false # Set to true if Immich or other services are hosted on your local network (RFC-1918 IPs). Loopback and link-local addresses remain blocked regardless.
# - ALLOW_LINK_LOCAL_IPS= # Single link-local addresses TREK may reach after all, e.g. 169.254.1.2 for the host gateway of a rootless Podman container. Cloud metadata addresses cannot be listed.
# - HTTP_PROXY=${HTTP_PROXY:-} # Optional. Proxy URL for outbound HTTP requests (e.g. http://192.168.1.10:7890)
# - HTTPS_PROXY=${HTTPS_PROXY:-} # Optional. Proxy URL for outbound HTTPS requests
# - NO_PROXY=${NO_PROXY:-localhost,127.0.0.1} # Optional. Comma-separated hosts and domains that bypass the outbound proxy
# - APP_URL=https://trek.example.com # Public base URL — required when OIDC is enabled (must match the redirect URI registered with your IdP); also used as base URL for links in email notifications
# - OIDC_ISSUER=https://auth.example.com # OpenID Connect provider URL
# - OIDC_CLIENT_ID=trek # OpenID Connect client ID
# …(続きは docker-compose.yml)
- VPSを契約する ― ConoHa VPS 1GBを選び、OSは Ubuntu を推奨
- Docker を入れる ― 多くのVPSはアプリテンプレートから1クリック。無ければ
curl -fsSL https://get.docker.com | sh - TREK を起動 ― 上の compose ファイルを置いて
docker compose up -d - ドメインとHTTPS ― Caddy か Nginx Proxy Manager でリバースプロキシ(Let's Encrypt 自動)。独自ドメインが無ければ XServer ドメイン
で取得(PR)
このソフトが動く VPS プラン(必要メモリ 512MB 以上)
| サービス | プラン | 月額(目安) | |
|---|---|---|---|
| ConoHa VPS 最安 | 1GB | 588円〜 | 公式サイト ↗ |
| シンVPS | 1GB | 671円〜 | 公式サイト ↗ |
| XServer VPS クラウド | 4GB | 2,068円〜 | 公式サイト ↗ |
※ 月額は12か月契約の通常価格(税込・月額換算)の目安です。キャンペーン価格・初期費用は各社の公式サイトで確認してください。PR
Wanderlog と比べていくら安くなる?
| 契約 | Wanderlog(年額) | TREK セルフホスト(年額) | 差額 |
|---|---|---|---|
| 1契約 | 6,000円 | 7,056円 | +1,056円 |
※ Wanderlog は 無料版あり。Wanderlog Pro は年額 39.99ドル(約6,000円・月あたり約500円。米国 App Store の表示で、地域・時期により異なる)、セルフホストはConoHa VPS 1GB(月額588円)で試算。運用の手間・バックアップ・ドメイン代は含みません。
自分で入れるのが難しいときは
TREK のセルフホストは、VPS の契約・Docker・ドメインと HTTPS・バックアップと、決めることが少なくありません。OSSMatch を運営する合同会社Edel Hearts では、サーバーの用意から初期設定・日本語化・バックアップと更新の仕組みづくりまでをまとめて代行しています。掲載している OSS は、実際に自社のサーバーで動かして確認しています。
TREK の導入を相談する ↗相談は無料です。内容を伺ってから、費用と期間の目安をお伝えします。
よくある質問
TREK は無料で使えますか?
AGPL-3.0 ライセンスで無料です。かかるのはサーバー代だけです。改変して第三者向けのサービスとして提供する場合は、改変部分のソース公開が必要です。
日本語で使えますか?
リポジトリに日本語の翻訳ファイルがあり、README も対応言語に日本語(ja)を挙げています。wiki(ドキュメント)は英語です。
どんなサーバーで動きますか?
Docker のコンテナ1つで動き、データベースは SQLite です。公式 wiki の Helm 向け設定ではメモリ上限を 512Mi としています。地図・天気などは外部の公開サービスを使います。
スマホで使えますか?
ブラウザからホーム画面に追加して使う PWA です。旅行のデータを端末に保存するため、電波の無い場所でも内容を開けます。
Wanderlog から移行できますか?
Wanderlog から直接取り込む機能は確認できていません。Google マップの共有リストや GPX・KML は取り込めるので、行きたい場所のリストはそこ経由で移せます。