TREK: 내 서버에서 돌리는 오픈소스 여행 플래너, 왜 하루 만에 별 112개를 받았나
데이터 주권 + 실시간 협업 + AI — Wanderlog의 셀프호스팅 대안이 트렌딩에 오른 이유

여행 일정을 짤 때 Wanderlog나 Notion에 의존하는가? 그 데이터는 남의 서버에 있다. 구독 정책이 바뀌는 순간 플랜이 잠기거나 사라질 수 있다. TREK은 이 불편함을 정면으로 겨냥한다 — Docker 이미지 하나로 설치하고 데이터는 내 서버에만 남는다.
오늘 하루 +112 스타, 총 6,592개. 단순한 인기 급등이 아니라, 셀프호스팅 운동이 여행 앱 카테고리까지 번진 신호다.
이게 뭔가
TREK은 자기 서버에 설치하는 여행 플래너 웹앱이다. 비개발자에게 쉽게 설명하면: 구글 지도 + Wanderlog + 가계부를 합쳐서, 내 집 컴퓨터(또는 VPS)에서 돌아가는 것. 친구와 실시간으로 같이 편집할 수 있고 스마트폰 홈 화면에 앱처럼 설치(PWA)도 된다.
TypeScript로 만들어졌고 Docker Hub에 이미지가 올라와 있어 기술적 진입장벽이 낮다. 데모 사이트에서 설치 없이 먼저 써볼 수 있다.
왜 지금 뜨는가
세 가지 흐름이 교차하고 있다.
① 셀프호스팅 르네상스. Immich(사진), Actual Budget(가계부), Paperless-ngx(문서)에 이어 여행 플래너에도 "내 데이터는 내가 갖겠다"는 수요가 올라왔다. AGPL-3.0 라이선스는 이 철학을 법적으로 보장한다.
② SaaS 피로. Wanderlog가 2024년 프리미엄 기능을 유료 전환하면서 무료 플랜 제한이 생겼다. 대안을 찾던 사용자들이 오픈소스로 이동하는 중이다.
③ 기능 완성도. 지도·예산·짐 목록·여행 일지·AI·SSO(Single Sign-On)까지 — 한 프로젝트에서 이만한 기능셋을 갖춘 셀프호스팅 여행 앱은 드물었다. README의 60초 데모 GIF가 소셜 미디어에서 빠르게 퍼진 것도 한몫했다.
핵심 기능
| 기능 | 설명 |
|---|---|
| 인터랙티브 지도 | 동선·POI(관심 장소) 핀 추가, 루트 시각화 |
| 실시간 공동 편집 | WebSocket 기반, 여러 명이 동시에 일정 수정 |
| 예산 트래커 | 지출 항목별 입력·합계, 환율 처리 |
| 짐 목록 | 체크박스형 패킹 리스트, 템플릿 지원 |
| 여행 일지 | 여행 중 기록 남기기 |
| AI 통합 | 일정 제안 등 AI 기능 내장 (README 기재) |
| SSO / PWA | 기업·팀 환경 대응, 모바일 앱처럼 설치 가능 |
누구에게 쓸모 있나
- 개인 헤비유저: 매년 여러 번 해외 여행을 계획하고 데이터가 쌓일수록 히스토리를 직접 관리하고 싶은 사람.
- 소규모 팀·커플·동호회: 실시간 공동 편집 덕에 카카오톡으로 엑셀 공유하는 고통에서 해방.
- 홈랩/셀프호스팅 애호가: 이미 Proxmox, NAS, VPS를 운영 중이라면 Docker 컨테이너 하나 추가하는 것으로 끝.
- SaaS 요금 절감이 목표인 팀: 구독 없이 무제한 사용.
시작하기
공식 설치는 Docker Hub 이미지를 사용한다. 최소 요구사항은 Docker가 설치된 서버(로컬 PC 포함)면 충분하다.
1단계 — docker-compose.yml 작성
아래는 TREK 공식 레포 기반의 기본 구성이다. 실제 배포 전 최신 README의 환경변수 항목을 반드시 확인할 것.
# docker-compose.yml
services:
trek:
image: mauriceboe/trek:latest
ports:
- "3000:3000"
environment:
- DATABASE_URL=postgresql://trek:secret@db:5432/trek
- NEXTAUTH_SECRET=your_random_secret_here
- NEXTAUTH_URL=http://localhost:3000
depends_on:
- db
restart: unless-stopped
db:
image: postgres:16-alpine
environment:
- POSTGRES_USER=trek
- POSTGRES_PASSWORD=secret
- POSTGRES_DB=trek
volumes:
- trek_data:/var/lib/postgresql/data
volumes:
trek_data:
NEXTAUTH_SECRET은openssl rand -base64 32로 생성한 랜덤값을 넣어야 한다.
2단계 — 실행
# 컨테이너 백그라운드 실행
docker compose up -d
# 로그 확인 (초기화 완료 메시지 체크)
docker compose logs -f trek
초기화가 끝나면 http://localhost:3000으로 접속해 계정을 생성한다.
3단계 — 최신 버전 업데이트
# 이미지 최신화 후 재시작
docker compose pull && docker compose up -d
한계·주의
- AGPL-3.0 라이선스: 이 앱을 수정해 외부에 서비스로 제공하려면 소스코드를 공개해야 한다. 사내 자체 사용은 무방하다.
- 초기 세팅 난이도: Docker를 처음 써보는 사람에게는 환경변수 설정이 장벽이 될 수 있다. 공식 Discord에 커뮤니티 지원이 있다.
- AI 기능 별도 API 키 필요: AI 일정 제안 기능은 외부 LLM API 키가 필요할 수 있다(README 상세 확인 권장).
- 초기 릴리스 단계: GitHub Releases 기준 아직 pre-release 버전이 포함되어 있다. 프로덕션 중요 데이터에 바로 쓰기보다 충분한 테스트 후 도입을 권한다.
- 모바일 네이티브 앱 없음: PWA로 홈 화면 설치는 가능하지만, App Store/Play Store 앱은 존재하지 않는다.
출처
- TREK GitHub 레포지토리 — GitHub / mauriceboe
- TREK 라이브 데모 — liketrek.com
- TREK Docker Hub — Docker Hub
댓글 0
첫 댓글을 남겨보세요.
